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.zipfollowed by
unzip test.zipto 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
testdirectory 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_stringcan be compiled withclangbut notmake. - In Happy Cats, corrected 
titleofmeow.htmlto bemeowinstead ofcount. - Changed double quotes to single quotes in sample return values for 
parsein Flaskless for consistency with Python’sprintfunction. This change is purely aesthetic;parseshould still return alistwhose first element is astrand whose second element is adict. - Clarified in Baby Shark Dance that 
node*ainsharks/integers.cshould 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 
nodeis of typestruct node *, notstruct integer *. - In Baby Shark Dance, clarified that 
digitis0through9. 
How to Submit
- Download a ZIP file of your 
testfolder (which should contain folders forfinsta,flaskless, andshark) by control-clicking on yourtestfolder in CS50 IDE’s file browser and choosing Download. - Go to CS50’s Gradescope page.
 - Click Test: Code Files.
 - Drag and drop your 
test.zipfile 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!