Last updated on

Midterm study guide

Administrivia

Taken from the policies page:

The midterm will take place on Wed, Nov 6, from 16:15 to 18:15.

We will post seating plans and the complete instructions (also printed on the front of the midterm booklet) in week 7. The midterm will be a pen-and-paper exam with a mix of multiple-choice and free-response questions. You will not be allowed to use any notes, electronic devices, cheatsheets, or other resources.

The midterm will count for 30% of your overall grade for the course. If you have a doctor’s note, you will be excused from the midterm, in accordance with EPFL rules (en, fr).

Midterm contents

Study guide

Doing exercises on paper is the best way to prepare. Here is a suggested strategy to choose topics to focus on and review corresponding materials:

  1. Go through the syllabus. Each week has a list of learning objectives, important topics, Scala syntax and APIs (with links): highlight the ones that you feel less comfortable with.

  2. Go through all the exercise sets sequentially in the order they were released, spending more time on:

    1. the topics you feel less comfortable with;
    2. the ⭐️ exercises, which are the most important ones.
  3. When a ⭐️ exercise gives you trouble, look at immediately preceding exercises (including unstarred ones): we have done our best to structure things so that earlier exercises build up to later ones.

  4. For topics that give you persistent trouble, consider re-watching the corresponding segments (usually 7–15 minutes) from the lecture recordings.

  5. Once you are comfortable with ⭐️ exercises, try a few of the 🔥 exercises. The difficulty annotations are based on the time the exercise was released, so 🔥 exercises that seemed daunting earlier this semester may now feel much more approachable.

Finally, you can practice with midterm materials from last year (the first edition of CS-214). It may be helpful to practice “under exam conditions” (timed, on paper, without interruptions or external resources). Beware that these exams had no software-engineering questions.

For even more training materials, look at old midterms from the now-discontinued course CS-210 Functional Programming. (Of course, not all content is relevant anymore, but the FP parts are similar.)

Additional tips:

Finally: do not hesitate to ask on Ed or in person if you have any questions, or if you feel that additional exercises would help you prepare on a specific topic.

Bon courage!