Test

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 VS Code, and/or
  • email the courseā€™s heads at heads@cs50.harvard.edu with questions, but

you may not

  • provide help to anyone, and/or
  • receive or solicit 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 short-answer snippets of code (such as those in Checking Speller or XCheck), 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 on (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 will incur a 0.3% penalty per minute, per the courseā€™s syllabus. We strongly encourage you not to wait until the last minute, as youā€™ll need to both ensure all of your answers have been saved and upload your code files.

When To Do It

By 2022-07-28T17:59:00-04:00.

What To Do

  1. Log into code.cs50.io using your GitHub account
  2. Run update50 in your codespaceā€™s terminal window to ensure your codespace is up-to-date and, when prompted, click Rebuild now
  3. In VS Code, execute

     wget https://cdn.cs50.net/2022/spring/test/test.zip
    

    to download the distribution code for the test. Execute unzip test.zip to create a folder named test that contains three folders (emojicode, squad, and wheels). Each of these folders contains files or distribution code relevant to those questions.

  4. 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.
  5. Go to CS50ā€™s Gradescope page.
  6. 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.

CHANGELOG

Reload this page throughout the test window to see any clarifications to the test.

  • 2022-07-27T21:53:00-04:00.
    • Due to the documented issue with Codespaces not loading in some regions, the testā€™s deadline has been extended by six hours, to 2022-07-28T17:59:00-04:00.

How to Submit

  1. Before submitting, download a ZIP file of your test folder (which should contain three subfolders: emojicode, squad, and wheels, with the files youā€™ve edited during the test inside of those subfolders). First, ensure you are in your test directory by running

    cd
    

    followed by

    cd test
    

    Make sure your terminal prompt looks like the below:

    test/ $
    

    Then, run the following command:

    zip -r test.zip * -x "*x86_64*"
    

    The -x "*x86_64*" argument is intended to exclude any system files you may have downloaded to install emojicodec for Emojicode.

  2. Control-click or right-click on your test.zip file in VS Codeā€™s file browser and choose Download.
  3. Go to CS50ā€™s Gradescope page.
  4. Click Test: Code Files.
  5. Drag and drop your test.zip file to the area that says ā€œDrag & Dropā€.
  6. Click ā€œUploadā€.
  7. You should see a message that says ā€œTest: Code Files submitted successfully!ā€ Donā€™t worry if you subsequently see 0/31 points or ā€œThe autograder failed to startā€¦ā€ in a red alert boxā€”this is indeed the expected behavior for now; the autograder will not be configured until after the testā€™s deadline!
  8. Ensure that all of your written answers are to your satisfaction and have been saved in the Test: Written Answers assignment.
  9. Click Submit.
  10. You should see a message that says ā€œTest: Written Answers submitted 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. After 2022-07-28T17:59:00-04:00, any (re-)submissions will be considered late and will incur a 0.3% per minute grade penalty for the test overall. Only your last submission for each will be taken into consideration.

If you run into any trouble with the above steps, email heads@cs50.harvard.edu!