Test
Looking for information about the test itself, including past problems, the review session, and advice?
This test is open-book: you may use any and all non-human resources during the test, but the only humans to whom you may turn for help or from whom you may receive help are the course’s heads, which means that
you may
- browse and search the internet,
- review books,
- review questions and answers already posted on Ed,
- review the course’s own materials,
- use CS50 IDE,
- email the course’s heads at heads@cs50.harvard.edu with questions, but
you may not
- receive or solicit directly or indirectly any help from anyone other than the course’s heads.
Take care to review the course’s policy on academic honesty in its entirety. Note particularly, but not only, that
- looking at another individual’s work during the test is not reasonable and
- turning to humans (besides the course’s heads) for help or receiving help from humans (besides the course’s heads) during the test is not reasonable.
Unless otherwise noted, you may call any functions we’ve encountered this term in code that you write. You needn’t comment code that you write, but comments may help in cases of partial credit. If having difficulty with code, you may resort to pseudocode for potential partial credit.
Among the test’s aims is to assess your newfound comfort with the course’s material and your ability to apply the course’s lessons to familiar and unfamiliar problems. And most problems aspire to teach something new.
You may resubmit as many times as you would like before the test’s deadline. Late submissions incur penalties per the course’s syllabus.
What To Do
-
In CS50 IDE, execute
wget https://cdn.cs50.net/2020/fall/test/test.zip
followed by
unzip test.zip
to download the distribution code for the test.
-
Open the test’s response document in Google Docs.
-
Make a copy of the response document in your own Google account by choosing File > Make a Copy.
-
Answer all of the questions below, in any order, by writing your answers in the response document, replacing each TODO with an answer. Some questions will instead ask you to complete a TODO in one of the files in your
test
directory within CS50 IDE.
CHANGELOG
Reload this page (and each problem’s page) throughout the week to see any clarifications to the test.
- In Flaskless, clarified that directory is called
flaskless
, notserver
. - In Getting Input, clarified that
get_string
can be compiled withclang
but notmake
. - In Happy Cats, corrected
title
ofmeow.html
to bemeow
instead ofcount
. - Changed double quotes to single quotes in sample return values for
parse
in Flaskless for consistency with Python’sprint
function. This change is purely aesthetic;parse
should still return alist
whose first element is astr
and whose second element is adict
. - Clarified in Baby Shark Dance that
node*a
insharks/integers.c
should benode *a
. - Clarified in Finsta that group messages don’t need to be unsendable.
- Clarified in Baby Shark Dance that the sum of an integer’s digits will fit in an
int
. - In Programming in B, clarified that strings (e.g.,
"meow"
) should be quoted as in C. - In Baby Shark Dance, clarified that
node
is of typestruct node *
, notstruct integer *
. - In Baby Shark Dance, clarified that
digit
is0
through9
.
How to Submit
- Download a ZIP file of your
test
folder (which should contain folders forfinsta
,flaskless
, andshark
) by control-clicking on yourtest
folder in CS50 IDE’s file browser and choosing Download. - Go to CS50’s Gradescope page.
- Click Test: Code Files.
- Drag and drop your
test.zip
file to the area that says “Drag & Drop”. - Click “Upload”.
- You should see a message that says “Test: Code Files submitted successfully!”
- Download your completed test response document from Google Docs as a PDF by choosing File → Download → PDF Document, and save it to your computer.
- Go to CS50’s Gradescope page.
- Click Test: Response Document.
- Click Submit PDF.
- Click Select PDF and choose your test file.
- Click Upload PDF.
- For each question in the Question Outline at left, click on the question and then click on the page (or pages) on which your response to that question is located.
- Click Submit.
- You should see a message that says “Test: Response Document submitted successfully!”
If you run into any trouble with the above steps, email heads@cs50.harvard.edu!