Assignments

This page contains the programming assignments for this course. The assignment specification describes the technical requirements of the programming assignment; the checklist answers FAQs and provides advice for testing and getting started. Below the list of assignments, you will find the course policies regarding submission, lateness, grading, and collaboration. The assignment FAQ also contains important information common to all programming assignments.

# DUE LOGO ASSIGNMENT COLLABORATION LINKS
1 Monday
9/9
Percolation
Estimate the percolation threshold using union–find.
individual Checklist
Project
Submit!
2 Monday
9/16
Queues
Implement two collections using arrays and linked lists.
individual Checklist
Project
Submit!
3 Monday
9/30
Autocomplete
Find all terms beginning with a given prefix, sorted by weight.
partner Checklist
Project
Submit!
4 Monday
10/28
K-d Trees
Implement k-d trees with nearest neighbor search.
partner Checklist
Project
Submit!
Leaderboard
5 Monday
11/4
WordNet
Measure the relatedness of two nouns using the WordNet digraph.
partner Checklist
Project
Submit!
Leaderboard
6 Monday
11/18
Seam Carving
Implement a content-aware image resizing algorithm.
partner Checklist
Project
Submit!
Leaderboard
7 Monday
12/9
Fraud Detection
Predict credit card fraud using algorithms for machine learning.
partner Checklist
Project
Submit!