|CHANGES TO FINAL EXAM: the final exam is still worth
40% of your overall grade, and will still be held on Monday April 20th, but will now
be held as a take-home exam.
I will be available on discord and email for questions from noon to 5pm (PDT) that day.
The intent is to release the exam both by git and on
the course webpage by 8:00am on the 20th (PDT), and it will be due 24 hours later.
Exams can be returned as git submissions (if you obtained it
via the git repo) or as a PDF email attachment to David.Wessels@viu.ca. Note that the
only acceptable format is PDF. It will be available at
(Until it is officially released it will just show a sample version of the front page of the exam.)
EDIT: under the circumstances, I'll waive the requirement to pass the final exam
in order to pass the course.
The midterm will be closed book, closed notes, no electronics permitted.
The use of earplugs/protection is permitted, but the use of headphones/headsets
(with or without connected devices) is not.
If you get your phone or similar device out during an exam it is an automatic and immediate zero!
A lisp reference sheet will be provided for both exams,
and both a lisp and C/C++ reference sheet will also be provided
for the final exam. (EDIT: no reference sheet for the take-home final, since it is
Note: the reference sheets are just quick syntax summaries, with very little
explanation included, and don't cover all language features (especially the
C/C++, which assumes the reader is already familiar with all the core aspects
of the language). For example, the lisp doesn't cover loop, catch/throw, tagbody/go,
unwind-protect, etc. I strongly advise making yourself familiar with the
reference sheets before the exam: if the there are other features of the
language that you like using then you'll have to remember the syntax for
The midterm will cover all lecture/lab material through Thursday Feb. 15th,
i.e. lisp and functional programming.
Any and all course topics can be included on the final exam,
but its focus will be on the language
design and implementation material that was not covered by the midterm.
Examinable material will include everything discussed in the
lectures and the labs prior to the date of the exam.
Many of the questions will focus primarily on a reasoned analysis of programming
language design issues, and as such will be distinctly open-ended. Expect
to dedicate roughly 15-20 minutes to each question.
Copies of some old final exams are
provided as an example of question styles. (Exams prior to 2016 are
omitted as the course content differed substantially.)
There are some lisp/functional programming
midterm practice questions here
plus some final exam practice questions
(some with solutions).