CS50 Test 2017

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 CS50 Discourse,

  • review the course’s own materials,

  • use CS50 IDE, and

  • email the course’s heads at heads@cs50.harvard.edu to ask administrative 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.

Just a few sentences suffice for answers to most questions.


  1. Log into CS50 IDE.

  2. Execute:

    cd ~/workspace/
    wget http://cdn.cs50.net/2017/fall/test/test.zip
    unzip test.zip
    rm test.zip
    cd test/

    Inside of test/, you should find ten (10) text files that shall (soon!) contain your answers to this test’s problems.


Solve all ten (10) of the problems below.

Each question herein should be answered in no more than a short paragraph (except in cases of code). Confine all answers (including code) to the provided text files; only those files will be evaluated.

How to Submit

cd ~/workspace/test/
submit50 cs50/2017/fall/test