Quizzes

There will be three equally-weighted quizzes during the semester, each worth 8% of your final grade.

The quizzes will be done in paper/pencil format in the Wednesday 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 1 (in lab Feb 5): quiz 1 topics/prep notes and sample solution

  • quiz 2 (in lab Feb 26) quiz 2 topics/prep notes (everyone's solutions were strong enough that I simply added any small corrections directly to the quiz papers)

  • quiz 3 (in lab Mar 26) quiz3 topics/prep notes and sample solution


    Final exam:

    The final exam will be an in-person (paper/pencil) exam held during the scheduled VIU exam period: (time and date t.b.a.), and worth 25% of your overall grade.

    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 places slightly greater emphasis on the latter half of the course, but includes some questions that relate that content back to material from the first half of the course.

    A copy of the front page of the exam, including exam rules and a list of question topics and their weights, is provided here: 2025 exam cover page

    The questions themselves will generally focus on your understanding of core concepts and techniques used during various stages of compilation and their strengths, weaknesses, and limitations. You will not be asked to write lex/yacc/C/C++ code to carry out scanning/parsing, but you may be asked to provided code segments that illustrate particular challenges for a compiler (type checking, order of operations, etc).

    In cases where a question asks you to apply a specific algorithm, the algorithm will be provided (either as part of the question itself or appended to the exam).

    Practice questions

    I've put together a short set of final exam practice questions that, together with this term's quiz questions and quiz prep pages, should provide a feel for the nature/style/difficulty of questions you may be asked.