# 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 the course’s own materials,
• use VS Code, and/or

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.2% penalty per minute, per the course’s syllabus. We strongly encourage you not to wait until the last minute, particularly as the response document will require you to assign pages to questions in Gradescope’s interface, which will take a few minutes before your submission is complete.

## When To Do It

By 2022-04-17T23:59:00-04:00.

## What To Do

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. Open the test’s response document in Google Docs.
5. Make a copy of the response document in your own Google account by choosing File > Make a Copy.
6. Solve all of the problems below, in any order you’d like, 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 VS Code.

## CHANGELOG

Reload this page (and each problem’s page) throughout the test window to see any clarifications to the test.

2022-04-17T17:30:00-04:00
Reinforced that “The autograder failed to start…” is expected behavior, per Step 7 of the submission instructions, below.
2022-04-13T15:25:00-04:00
Clarified test.zip should be unzipped via unzip test.zip once downloaded.

## How to Submit

1. Before submitting, download a ZIP file of your test folder (which should contain folders emojicode, squad, and wheels). 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”.
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 the expected behavior for now; the autograder will not be configured until after the test’s deadline!