🎯 Midterm Exam Information (Autumn 2026)


The midterm exam is a 2-hour, open-book, open-note, but closed-computer pencil-and-paper exam. It is intended to gauge your comfort and facility with the course material so far, as well as assess your mastery of the course learning objectives. Since the course topics build on each other, confirming you have a solid grasp of the foundational material now ensures you are equipped to tackle the later programming concepts to come in the course :).

Even though we start Python this week, the midterm is entirely 🧚 JavaScript 🧚. The exam covers the material presented in class through Monday, October 19th, which means that you are responsible for the material in Chapters 1 through 8 of the textbook. You’re also expected to understand and have implemented Assignments 1 through 4.

This webpage brings together a garden variety of study materials and practice exams / problems that are comparable in format and difficulty to those which will appear on the midterm examination on Tuesday, October 27th. We're always around if you have any questions, and we believe in you! Keep up all the amazing work! - Ben

✏️ Practice Exams and Problems Download Links
Jerry's Practice Midterm Download
Jerry's Practice Midterm Solutions Download
Ben's Practice Midterm Download
Ben's Practice Midterm Solutions
Extra Midterm Practice Download
Extra Midterm Practice Solutions

📚 Study Resources Download Links
Ben's JavaScript Course Reader Download
JavaScript Library Documentation JSGraphics
RandomLib

Midterm Review Session

Ben, Eugene, and Sabrina will be holding a review session for the midterm this Sunday, October 25th, from 3 - 5 PM, and the location will be announced over email / the EdStem forum! We'll also send out a boba order form in advance to stay hydrated as you work through a star constellation of fun and challenging practice problems together :). Hope to see you there!


Midterm Exam Location

First Offering @ 3:30PM
McMurtry Art Building Room 360

Second Offering @ 7:00PM
Building 370, Room 370


FAQ

What if I can’t make the midterm times above? If you cannot take the exam at either of the two scheduled times or if you need special accommodations, please send an email message to Jerry stating the following:

  • The reason you cannot take the exam at either of the scheduled times and/or the details of the special accommodations you require.
  • A list of two-hour periods (or longer if you have OAE accommodations) on Tuesday or Wednesday during which you could take the exam. These time blocks must be during the regular working day and must therefore start between 8:30 and end by 5:00.
To schedule an alternate exam, Jerry must receive an email message from you by 5:00 P.M. on Friday, October 24th. Instructions for taking the alternate midterm will be sent to you via email by Monday, October 27th. Let us know if you have questions!

What percent of my grade is the midterm worth? The midterm is worth 15% of your overall class grade.

Is this exam open-book? Yes, the exam is open-book and open-notes, but closed-laptop. You may use any notes or materials from the class, as well as any notes or materials that you create yourself :).

Will I be able to run my code? No, you are not permitted to run or test code during the exam. Don't worry though! We're not going to be super nitpicky about the precise syntax of the code you write (i.e. we won't come after your semicolons or function name misspellings ;)) — rather, we're looking to assess how well you're able to solve problems using the high-level concepts we've introduced.

What kinds of things are you trying to assess on this exam? We're looking to assess how well you're able to solve problems using the high-level concepts we've introduced: Can you break a problem down into subtasks? Can you solve a problem procedurally? Do you understand and craft how data flows around a program? Do you know how to create, call, and use functions? Do you understand how to use high-level JavaScript concepts, like how to use objects, arrays, strings, numbers, booleans, arithmetic/logical operations, graphical objects and functions, etc, and how to use them to solve problems? Etc.