# Assignments

This class has two types of assignments: homeworks and projects.

You can expect about one homework assignment per week; some will be written and some will involve programming. Homeworks are due at the beginning of your section's class time, whether you are physically present or not.

There will be three projects in the course. The first two are programming projects in Java, and the last is more of a short research project that involves a presentation. Projects are a major component of your grade and follow a stricter policy on collaboration.

Students are encouraged to review the course policy on deadlines, allowed collaboration, and EI.

# Projects

- Project 1: Repairing XML
**DUE Sunday, October 4 at 2359** - Project 2: Boggle!
**DUE Wednesday, November 4 at 2359** - Project 3: Research a Data Structure
**DUE Wednesday, November 25 at 2359**

# Homeworks

- Homework 1: Remembering Java
- Homework 2: Understanding Big-O
- Homework 3: Recursive Linked Lists
- Homework 4: Big-O of Recursive Functions
- Homework 5: BST implementation of Map
- Homework 6: AVL and 2-3-4 trees
- Homework 7: Heaps
- Homework 8: Implementing a heap
- Homework 9: Fun with graphs
- Homework 10: Shortest path to Google