Overview

This course will have two midterm examinations and (up to) one cumulative final examination. Review Sets are provided to help you stay on track and study for the examinations.

Review Sets

These Review Sets are not graded assignments. Instead, they serve as a structured system for students to evaluate their mastery of the material and to prepare for the written examinations. The instructor will be happy to go over Review Set answers during office hours.

You must present evidence that you have tried the problem in some manner: queries of the form "please do this problem for me while I watch" may not be a good use of time.

Materials

The exams are open book; you may use any other non-human resource including looking things up online. You may not use the work of someone else or post a question on social media (e.g., StackOverflow, Reddit, etc.).

Exam 1

Exam 1 covers all material referenced in class or on the course website before the date of the exam. Notably, that includes the lectures, Review Sets 1 and 2, PA1 through PA3, and all non-optional readings (including video "readings", etc.) associated with those days.

Exams from prior iterations of this course for practice:

Exam 2

Exam 2 covers all material referenced in class or on the course website starting after Exam 1. Notably, that also includes PA4, PA5, Review Sets 3+, and all non-optional readings (including video "readings", etc.) associated with those days.

Exams from prior iterations of this course for practice:

The Written Final Examination

The Language Design written final exam is cumulative a take-home essay exam. The final exam is open book. (In some semesters no written final examination is given. In such semesters student final grades are out of 100-X points rather than 100; see the syllabus for the breakdown.)

In general, all of the topics covered in the course (either in lecture, in the reviews sets, in the programming assignments or in the required reading) are fair game. The following list of topics is not necessarily exhaustive (although it is close); you are responsible for all of the material.

Within the large topics of Typing and Opsem, "basic questions" (e.g., "what is operational semantics?") are often worth proportionally more points than "advanced questions" (e.g., "give an opsem rule for this new slightly-different for loop").

The "big" topics won't necessarily be huge parts of the exam time-wise or space-wise, but they may be worth more points. For example, it's not clear that there are massive detailed questions we can ask about each such topic, but whatever we do ask may be weighted heavily.

Less-Relevant Practice Exams

Here are some practice exams from other similar courses at other universities. These courses are not exactly the same as this one, so these practice exams may not be indicative.