Problem Sets

Problem sets are programming assignments that allow you to implement each week’s concepts in code.

Each problem set is also accompanied by a form, in which we will ask several questions that ask you to practice applying each lecture’s concepts. Some of these will be worth points, and count towards your score on this problem set, and some will not. Among the goals of these questions are to have you synthesize knowledge from class alone.

To answer these questions, whether worth points or not, you may use any materials on CS50’s course website (i.e., cs50.harvard.edu), but nothing else. You may not use any other tools like cs50.ai or cs50.dev. And you may not search for information on the internet at large). You may only reference external sources if the question explicitly references that source as well. The only humans to whom you may turn for help or from whom you may receive help on these forms are the course’s heads, by posting to Ed under the Form category.

The deadlines shown below are automatically converted to your timezone, based on the browser settings of the device viewing this page. In Gradescope, the assignments’ deadlines are always shown in Eastern Time (U.S.).

Problem Set Language Release Deadline
Problem Set 0 Scratch 2025-09-03T16:15:00-04:00 2025-09-07T23:59:00-04:00
Problem Set 1 C 2025-09-08T16:15:00-04:00 2025-09-14T23:59:00-04:00
Problem Set 2 C 2025-09-15T16:15:00-04:00 2025-09-21T23:59:00-04:00
Problem Set 3 C 2025-09-22T16:15:00-04:00 2025-09-28T23:59:00-04:00
Problem Set 4 C 2025-09-29T16:15:00-04:00 2025-10-05T23:59:00-04:00
Problem Set 5 C 2025-10-06T16:15:00-04:00 2025-10-12T23:59:00-04:00
Problem Set 6 Python 2025-10-13T16:15:00-04:00 2025-10-19T23:59:00-04:00
Problem Set 7 SQL 2025-10-20T16:15:00-04:00 2025-10-26T23:59:00-04:00
Problem Set 8 HTML, CSS, JavaScript 2025-11-03T16:15:00-05:00 2025-11-09T23:59:00-05:00
Problem Set 9 Python, SQL, HTML, CSS, JavaScript 2025-11-10T16:15:00-05:00 2025-11-16T23:59:00-05:00

Sample Problem Set Solutions