Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Projects

Posted so far

Nothing yet. Each project's instructions appear here as a page of its own when the project is released, on the dates in the table below.

About projects

Three projects make up most of your non-exam work (alongside pre-lecture tasks). Each project is graded on correctness and performance (via automated tests) and on a code review conducted by the teaching staff during discussion section.

All three projects are individual work. Each one also gives you practice with git and GitHub beyond just committing your own code: we will push updates to the base repository that you have to merge into work you have already changed, and you will open pull requests and have them reviewed.

There is no separate homework. The short warm-up exercises that would otherwise be homework are early checkpoints of each project.

#TopicReleasedCheckpointsDueCode review
1Number guessing gameFri Sep 11Sep 18, Sep 25Fri Oct 2Week of Oct 5
2Build your own VecFri Oct 9Oct 16, Oct 23Fri Oct 30Week of Nov 2
3Tic Tac Toe, and a class tournamentFri Nov 6Nov 13, Nov 20Fri Dec 4Week of Dec 7

Project 1 is a search problem. You will write several strategies for guessing a hidden number, then measure which one is fastest and explain why.

Project 2 is where we start working closely with memory and data structures. You will build your own version of Vec, first the easy (slow) way and then the way the real one works, with memory you allocate and manage yourself.

Project 3 will be a tournament. You will write an agent that plays Tic Tac Toe, then a harder version on a 5x5 board with walls and a time limit, and at the end of the term all of your agents play each other.

Checkpoints

Checkpoints are earlier deadlines where we run your code against a subset of the final tests. They exist to encourage a few weeks of steady work, rather than cramming, and so we can find out who needs help well before the final deadline. Checkpoints also align with the most recent lecture material and help ensure you don't fall behind.

Each project has two checkpoints, each worth 1% of your course grade.

Half of the final visible test points come from re-running the checkpoint tests at the final deadline, so a missed checkpoint costs you that checkpoint's point for being late, but the code itself still earns credit when you submit it.

Code reviews

Code reviews happen during your discussion section in the week following the deadline. A member of the course staff will go through your code and your commit history with you, ask you to explain specific choices, and give you feedback.

The code review is worth 5% of your course grade per project, which is half of each project's total and as much as all of its automated tests combined.