Foundations of Computer Science (FOCS) Assignments

Academic Honesty

For all graded assignments in the course (including quizzes and exams), you may use the course text, the course lectures, and your completed course assignments as reference material. For homework, you may discuss problems with other students, but all submitted assignments must be your own thinking and writing, and written independently. AI models, including Large Language Models such as ChatGPT, are not to be used for assistance of any form on the assignments and exams in this course. The level of discussion you may engage in with other students regarding homework questions is exactly the level to which you would be willing to publicly share on Piazza, where the instructor can see your collaboration — if you wouldn't share something on Piazza publicly, then do not share privately.

Homework Instructions

  1. Start each problem on a new page. Do not submit code.
  2. Typeset your solutions. You may use LaTeX, Word, or similar software.
  3. Submit your solution as a pdf, electronically (see the main page). We WILL NOT accept email submissions or non-pdf submissions.
  4. Write clearly and concisely. Use proper grammar and write in complete sentences. Even if your solution is correct, if it is not well-written you will not receive full points. For examples of well-written solutions, see the solutions to the pop quizzes and exercises in DMC on the main page; examples are given for every chapter of DMC. If in doubt, ask during office hours.

Grading

For homeworks and exams:

Exams

Exam 1 Solution
Exam 2 Solution
Exam 3 Solution

Homeworks

Historical examples

See the Spring 2023 FOCS assignment page for examples of previous assignments, quizzes, and exams.