COMP 3007
Programming Paradigms
An introduction to alternative programming paradigms such as functional, constraint-based, concurrent, and logic programming.
2026
Topics
- describe and contrast the different programming paradigms
- use structural induction to prove (rather than test) the correctness of a program
- use Haskell for writing programs in the functional programming paradigm
- use Prolog for writing programs in the logical programming paradigm
- explain equational reasoning, lazy evaluation, referential transparency
- demonstrate primitive recursion, general recursion, and tail-call optimization techniques
- demonstrate pattern matching and the use first-class objects and higher-order functions
- COMP 3007 A/B/C (Winter 2026) − "Programming Paradigms"
Readings
- One (1) required textbook: Lipovaca, M. (2011). Learn You a Haskell for Great Good! (n.b., this textbook is available to read for free at http://learnyouahaskell.com/chapters)
Prerequisites & course information
Precludes additional credit for SYSC 3101 . Prerequisite(s): COMP 1805 with a minimum grade of C- , COMP 2401 with a minimum grade of C- , COMP 2402 , ( COMP 2404 or SYSC 3010 or SYSC 3110 ) and ( COMP 2406 or SYSC 4504 ). Lectures and tutorials three to four and a half hours a week.
Sources
- Course catalogue ↗2026–2027
- Programming Paradigms ↗2026