There will be three quizzes held in section. (See the Calendar for specific dates). The quizzes will collectively be worth 60% of the course grade, even distributed (so 20% each).
Quizzes will be conducted on paper, and will consist of a combination of different question formats, including (but not necessarily limited to), multiple choice, true/false, fill-in-the-blank, and open response. Questions may involve any combination of code tracing, code writing, code analysis, natural language explanation, and other skills.
For each quiz, you are permitted to bring one double-sided note sheet, no larger than 8.5 x 11 inches, with any content you like. Note sheets will be collected after each quiz and scanned along with your work. If you would like to retrieve your physical note sheet after the quiz has been graded, contact Brett.
Other than your note sheet, you may not access any resources or electronic devices during the quiz, and you may not attempt to communicate with other students or to view other students' responses. Violation of any of these rules will be considered academic misconduct.
For each quiz, we will provide sample quizzes and/or exams (with solutions) from prior offerings of CSE 341. These are intended for study and practice, and will give you a sense of the types of things you might be asked on the quiz. However, as these samples are from prior offerings, they are not necessarily aligned with the Summer 2026 offering in either content or format. (For example, a sample may include content we have not covered yet, not include topics we have covered, or utilize different question formats than we will.) Do not overfit your preparation to the provided samples.
Quiz 1 will cover all material through Lecture 9 (Monday, July 13). Topics may include:
OCaml syntax
Static and dynamic enviroments
Static and dynamic semantics
Types (int, bool, string, tuples, lists, options, records, variants)
Expressions and bindings, including local bindings
Function bindings and calls
Pattern matching, including nested patterns and patterns outside match expressions
Tail recursion
Higher-order functions and lexical scope
Functional programming idioms