Test
Looking for information about the test itself, including past problems, the review sessions, 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 public questions and answers already posted on Ed by you or your fellow students,
- review the course’s own materials,
- use VS Code, and
- make private-to-staff Ed posts seeking clarification on questions’ wordings (content-based questions will not be answered), but
you may not
- copy/paste answers from the internet,
- email your teaching fellow, the staff list, or any members of the course staff individually,
- provide help to anyone, or
- receive or solicit help (including by posting online anywhere other than Ed) 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,
- turning to humans (besides the course’s heads, via Ed) for help or receiving help from humans (besides the course’s heads, via Ed) during the test is not reasonable,
- using AI-based software (tools such as ChatGPT, Copilot, the new Bing, et al.) that suggests or completes answers to questions or lines of code is not reasonable,
- viewing another’s solution to a problem set’s problem or test’s question, whether online or in-person, and basing your own solution on it is not reasonable, and
- all of your answers must be in your own words.
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. Be sure to click (and learn from) any links or videos included in problems.
You may resubmit as many times as you would like before the test’s deadline. Late submissions are not allowed, and will result, without exception, in a final test score of zero.
Citing Sources
For every question (both written and code questions), you must list any external (non-CS50-provided) resources you use to answer the question, including the URLs of any web sites you consult. List the resources in the answer box provided for written questions, and using a comment at the top of the source file for code questions.
What To Do
- Log into code.cs50.io using your GitHub account
- Run
update50
in your codespace’s terminal window to ensure your codespace is up-to-date and, when prompted, click Rebuild now - In VS Code, execute
cd
to move your terminal to your home folder. Next execute
wget https://cdn.cs50.net/2022/fall/test/test.zip
to download the distribution code for the test. Execute
unzip test.zip
to create a folder namedtest
that contains two folders (jack
andjs
). Each of these folders contains files or distribution code relevant to “Jack is Back” and “DéJSà Vu,” respectively. - You no longer need the ZIP file, so you should execute
rm test.zip
. You’ll be zipping your answers up later, and deleting this ZIP file will ensure when you create the new one, you won’t accidentally upload the distribution files instead. - Go to CS50’s Gradescope page.
- Open Test: Written Answers and solve all of the problems listed therein, in any order you like. Note that some questions will not have an answer box, but will instead ask you to work in one of the files in your
test
directory within VS Code, rather than answer directly on Gradescope. Be sure to save your answers on Gradescope (as via the “Save Answer(s)” button) and in VS Code periodically as you work on the test. You may resubmit those answers as many times as you’d like prior to the test’s deadline.
Problems
Note that the question numbering intentionally starts at 2; “Question 1” on Gradescope is an acknowledgement and understanding that you should read before beginning.
- Acknowledgement, in Gradescope
- Around the World
- Code Reviews
- ComiCS
- DéJSà Vu
- Jack is Back
- Ships from Nearby
- Time to BeReal
- Verified on Twitter
- What does the
cowsay
?
CHANGELOG
Reload this page (and each problem’s page) throughout the week to see any clarifications to the test.
- 2023-04-10T21:09:00-04:00: Added a clarification regarding
getrandomnumberbetween1and10
in Code Reviews. - 2023-04-12T11:56:00-04:00: Awarding full credit for two questions in Verified on Twitter.
How to Submit
Submit to the “Test: Code Files” Assignment
- Before submitting, download a ZIP file of your
test
folder, which should contain only two subfolders:jack
andjs
, with the files you’ve edited for “Jack is Back” and DéJSà Vu,” respectively, inside of those subfolders. All other code files you’ve written should instead be uploaded to their corresponding question in the “Test: Written Answers” assignment. -
First, ensure you are in your
test
directory by runningcd
followed by
cd test
Make sure your terminal prompt looks like the below:
test/ $
Then, run the following command:
zip -r test.zip * -x \**/node_modules/*
Note that
-x \**/node_modules/*
excludes Node files you installed in DéJSà Vu, which you don’t need to submit! - Control-click or right-click on your
test.zip
file in VS Code’s file browser and choose 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!”
Don’t worry if you subsequently see 0/25 points or “The autograder failed to start…” or a similar message in a red or gray alert box—this is indeed the expected behavior for now; the autograder will not be configured until after the test’s deadline! Testing the correctness of your own code is up to you, this time, no check50
!
Submit to the “Test: Written Answers” Assignment
- Ensure that all of your written answers and uploaded files are to your satisfaction and have been saved in the Test: Written Answers assignment.
- Click Submit & View Submission.
- You should see your responses as submitted. Double check to be sure that they are as you intend. Gradescope may show you that a few questions have been left unanswered: so long as these remaining few questions are those that asked you to submit files to the Test: Code Files assignment, you’ve submitted your answers to all questions successfully.
Be certain that both parts of your submission have been submitted/uploaded prior to the deadline! You are welcome to resubmit your code files and written answers as often as you like until the deadline.
If you run into any trouble with the above steps, email heads@cs50.harvard.edu, or post to Ed per the instructions above!