Assignments
This class has three types of assignments: homeworks, labs, and projects.
Homework assignments will be occasional (once every 1-2 weeks), and will mostly be written. Labs happen nearly every week and always involve programming. For homework and labs, accoding to the course policy documented collaboration (but not copying) is allowed.
The three course projects will also be programming projects, and will be much more intensive and involved than other assignments. Accordingly, you will be given more time to complete them. The other big difference with projects is that no collaboration is allowed on them; these are your chance to demonstrate what you are capable of on your own!
Students are encouraged to review the course policy on deadlines, allowed collaboration, and EI.
Projects
- Project 1: Enigma
DUE Wednesday, September 14 at 23:59 - Project 2: Rainbow Table
DUE Tuesday, November 1 at 23:59 - Project 3: Graph Crypto
DUE Monday, November 28 at 23:59
Labs
- Lab 1: OOP (solutions posted)
- Lab 2: Linked Lists (solutions posted)
- Lab 3: Pythonic lists in C (solutions posted)
- Lab 4: Recursion and linked lists (solutions posted)
- Lab 5: Queues (solutions posted)
- Lab 6: Text analysis (solutions posted)
- Lab 7: Maps (solutions posted)
- Lab 8: Treaps (solutions posted)
- Lab 9: Bloom Filters (solutions posted)
- Lab 10: Graphs and dot files (solutions posted)
- Lab 11: Graph hops (solutions posted)
- Lab 12: Sorting Lab