CSCI 330 quizzes, midterm, and exams page, spring 2024
The midterm will be held in the first Wednesday lecture after the study break
(i.e. Wed. Feb 28th at 10), and will cover all the course material from before
the study break. We'll take some time during the lecture on Monday the 26th
to review/discuss the midterm content and question styles.
The midterm will be closed notes, closed book, no electronics. You are permitted
one 8.5x11" double-sided 'cheat sheet' for the midterm. (There are no restrictions
on the content of the cheat sheet, nor on how it is produced, feel free to use the
quiz 3 syntax sheet if that suits you.)
Compared to the quizzes, the midterm questions will be more weighted towards theory
rather than writing code, but may of course still require you to read some lisp
as part of the question statement or to write some lisp to support/clarify your
answers.
Typical question areas would focus on the implications, advantages/disadvantages,
use, or impact of things like:
- functional purity (and why common lisp isn't pure)
- the way lisp implements lists and the implications with respect to side effects
and copying
- tail recursion
- higher order functions, lambda functions,
functions that build and return other functions (closures)
- lisp's macro support
- alternative parameter passing mechanisms (&rest, &key, &optional)
and the ability to return multiple values from a function
- dynamic scope (not too deeply, we didn't get too far in this)
Note that there is also a quiz that week (Monday the 26th) on the
current lisp/functional languages topics.
There will be five equally-weighted quizzes during the semester,
each done on paper in the Monday CSCI 330 lab sessions.
You will generally have 50 minutes to complete the quiz once you begin,
closed book, closed notes.
As with all work this term, quizzes and exams are individual exercises,
all work submitted is expected to be your own.
You must work individually and are not permitted to communicate with anyone
other than the instructor during the quiz, nor to discuss the quiz content
with students in the other lab sections until all lab sections
have completed and submitted the quiz.
The use of AI tools is not permitted.
Quiz advice
The material for each quiz tends to overlap quite heavily with the current lab.
Working on the lab can be one of the most effective ways to become fluent with
significant portions of the quiz material.
|
quiz 1 (in lab Jan 22):
quiz prep,
syntax reference sheet, and
Sample Solutions
quiz 2 (in lab Feb 5):
quiz prep, and
syntax reference sheet,
Sample Solutions
quiz 3 (in lab Feb 26):
quiz prep, and
syntax reference sheet,
Sample Solutions
quiz 4 (VIULearn Mar 18-20): (sample solutions given in the quiz feedback)
a 50-minute online quiz, to be taken between 7am Mar 18 and 7pm Mar 20th
quiz 5 (VIULearn Apr 3-5): (sample solutions given in the quiz feedback)
a 50-minute online quiz, to be taken between 7am Apr 3rd and 7pm Apr 5th,
the content will focus on the material through the lecture of March 27th
(augmented grammars, attributes and binding, and primitive data types).
The final exam will be an in-person (paper/pencil) exam held during the scheduled
VIU exam period: 9am-noon Monday April 22nd in room 275, building 210.
Here is a copy of the front page of the final exam,
complete with question list and exam rules.
The lisp syntax reference sheet from the
midterm/quiz3 will also be provided for you with the exam.
The final exam will be a comprehensive 3-hour exam with a mix of theory and applied
questions, and can draw from any part of the course (lectures, labs, quizzes).
The final is likely to place slightly greater emphasis on the latter half of the
course, but to include questions that relate that content back to material from
the first half of the course.
The final exam mark can be used to replace one lower quiz mark
and to replace marks for missed quizzes where the student had a documented
reason for missing the quiz. The instructor must be contacted as soon as possible
following the missed quiz with the reason/documentation for missing the quiz:
do not assume you will automatically be allowed to use the final exam as a makeup.
A review/prep session for the final exam will be held during
the final course lecture (Wed. Apr 10).
Old exams
Note that each year a slightly different collection
of topics are investigated, and some have been online, some have been
take-home, some have been VIULearn, and some have been in-person,
so don't be too worried if
something on an old exam looks completely unfamiliar.
Some past offerings also used a midterm rather than a set of quizzes,
so those final exams had a much heavier emphasis on the course
material after the midterm.
This year's final exam will instead be a cumulative exam, but most of the
lisp-related questions will still be relating different features/aspects of lisp
to the language design and implementation topics we've been studying.
Practice sessions, working out sample solutions for some old questions:
2016 Q1:
sample solution,
youtube
2016 Q2:
sample solution,
youtube
2016 Q11:
sample solution,
youtube