CSCI3366 · Computer Science
Morrissey College of Arts & Sciences
This course studies issues in programming language design and implementation. Language features like statically scoped variables, higher-order functions, static type-checking, recursion and pattern-matching are considered, from the points of view of both language users and language implementors. The class also introduces the functional programming paradigm, using a language like Haskell or OCaml. Other topics considered include garbage collection, tail recursion, and basics of parsing. Finally, the class introduces computer theorem-proving, using an advanced language like Agda, for reasoning about functional programs. The graded work of the class consists of regular short programming assignments as well as a more substantial project
Course experience
Averages use the original five-point historical evaluation scale.
Organization
4.3 / 5
How well the course was organized
Challenge
4.6 / 5
How intellectually challenging students found it
Attendance
3.8 / 5
How necessary attendance was
Assignments
4.3 / 5
How helpful assignments were
Weekly effort
~7
hours per week
Estimated from the original workload response buckets. Individual sections may differ.
Instructor options
Ratings below reflect only recovered evaluations connected to this course.
Across time
Section-level results available in the recovered archive.
Fall 2024
1 sectionSpring 2022
1 sectionSpring 2021
1 section