Foundations of Computer Science (FOCS) Assignments

Academic Honesty

For exams, you may prepare a double-sided cheat sheet from the course text, the course lectures, and your completed course assignments; the cheat sheet must have your name on it and must be turned in with the exam. For in-class pop quizzes, you may use whatever course text, lecture notes, or completed assignments you have on hand. 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 instructors can see your collaboration — if you would not 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

Homeworks

Historical examples

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