Homework

In addition to your collaborative work on labs for this course, you will also need to complete individual homework assignments. These assignments will build on the concepts you read about and practice during in-class labs. Assignments may use concepts that have not been discussed by the time the homework is released, so you may need to revisit the later parts of some assignments closer to the deadline.

Please review the course syllabus for policies and grading information. If you have questions about a policy you are welcome to ask about them individually or in class.

You may also find the templates useful.

  Homework 0. Designing Algorithms
    • Assigned September 1, 2026
    • Due September 11, 2026 10:00pm
  Homework 1. Asymptotic Analysis
    • Assigned September 8, 2026
    • Due September 18, 2026 10:00pm
  Homework 2. Divide and Conquer
    • Assigned September 15, 2026
    • Due September 25, 2026 10:00pm
  Homework 3. Greedy Algorithms
    • Assigned September 22, 2026
    • Due October 2, 2026 10:00pm
  Homework 4. Sorting
    • Assigned September 29, 2026
    • Due October 9, 2026 10:00pm
  Homework 5. Bias in Algorithms
    • Assigned October 13, 2026
    • Due October 30, 2026 10:00pm
  Homework 6. Binary Search Trees
    • Assigned October 27, 2026
    • Due November 6, 2026 10:00pm
  Homework 7. Graphs
    • Assigned November 3, 2026
    • Due November 13, 2026 10:00pm
  Homework 8. Flow
    • Assigned November 10, 2026
    • Due November 20, 2026 10:00pm
  Homework 9. Dynamic Programming
    • Assigned November 17, 2026
    • Due November 27, 2026 10:00pm
  Homework 10. Assorted Topics
    • Assigned November 24, 2026
    • Due December 4, 2026 10:00pm