CS50 Quiz 2017

This quiz is open-book: you may use any and all non-human resources during the quiz, 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.yale.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 quiz 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 quiz 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.

Among the quiz’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.

Setup

  1. Log into CS50 IDE.

  2. Execute:

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

    Inside of quiz/, you should find the files that shall (soon!) contain your answers to this quiz’s problems.

Problems

Solve all six (6) 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 to the specified files (whose filenames end in .md, .c, .js, or .py, depending on the question); only those files will be evaluated.

How to Submit

update50
cd ~/workspace/quiz/
submit50 cs50/2017/fall/quiz