Test
Looking for information about the test itself, including past problems, the review sessions, and advice?
This test is open-book: you may use most 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, and the CS50 Duck on Ed will be temporarily deactivatedâif asked elsewhere, know that only Ed posts to which humans respond should be considered authoritative clarifications), 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 exclusively, 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 external 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, even in light of the additional consideration below.
but that
- Using CS50âs own AI-based software (including cs50.ai, et al.) is reasonable (therefore, in keeping with the above, you may use these tools to assist in your understanding surrounding these questions, but you may not use these tools so as to have it answer the question for you).
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.
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. Extensions on the test will not be granted.
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, via the above Save Answer(s) or Resubmit buttons in the interface.
When to Do It
Problems
Note that the question numbering intentionally starts at 2; âQuestion 1â on Gradescope is an acknowledgment and understanding that you should read and answer before beginning any part of the test.
- 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 next few days to see any clarifications to the test.
- 2023-07-25T23:45:00-04:00 - Due to a configuration error,
check50
appears to have been validating Code Files answers. Since many students have already benefited from this, we have decided to leave it on for all students.check50
is only invoked by submitting the Test Files and cannot be run separately. - 2023-07-24T16:30:00-04:00 - Changed one of the comics in ComiCS. No alterations to any question text, purely cosmetic.
How to Submit
You may submit to both the Code Files and Written Answers portions of the test as many times as youâd like prior to the deadline. Only your final submission for each will count.
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!â
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 âonlyâ a subset of the total questions have been answered: so long as these remaining 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!