Last updated on

Midterm study guide

Administrivia

Taken from the policies page:

The midterm will take place on Wed, Nov 6.

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 and gave more importance to variance than we do this year.

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!