WClasses
CS 442 - Principles of Programming Languages
An exposure to important concepts and issues in contemporary programming languages. Data types, abstraction, and polymorphism. Program structure. Lambda calculus and functional programming, logic programming, object-oriented programming. Semantics of programming languages. Critical comparison of language features and programming methodologies using examples drawn from a variety of programming languages including Lisp, Prolog, ML, Ada, Smalltalk, Icon, APL, and Lucid. Programming assignments involve the use of some of these languages.
Prerequisites
CS241 or CS241E; One of CS245, CS245E, SE212; One of CS246, CS246E, CS247; Honours Business & CS, Honours Computer Science, Honours Data Science, Honours Computing and Financial Management or Software Engineering students
Corequisites
None
Antirequisites
None
Offerings
Winter 2026 [1261]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5794 | 40 / 70 | 16:00 - 17:20 | T,Th | ||
| TST 101 | 8494 | 40 / 70 | 18:30 - 20:00 | F |
Winter 2025 [1251]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5875 | 54 / 70 | 08:30 - 09:50 | T,Th |
Winter 2024 [1241]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5898 | 59 / 75 | 11:30 - 12:50 | T,Th |
Winter 2023 [1231]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 6026 | 65 / 75 | 16:00 - 17:20 | T,Th | MC 4020 | Gregor Richards |
| TST 101 | 8850 | 65 / 75 | 19:00 - 20:50 | W |
Winter 2022 [1221]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5890 | 65 / 70 | 08:30 - 09:50 | T,Th | RCH 309 | Gregor Richards |
Winter 2021 [1211]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 041 | 5941 | 59 / 70 | Gregor Richards | |||
| LEC 042 | 9275 | 50 / 70 | Gregor Richards |
Winter 2020 [1201]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5788 | 59 / 60 | 11:30 - 12:50 | T,Th | MC 4040 | Brad Lushman |
Winter 2019 [1191]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5663 | 57 / 60 | 11:30 - 12:50 | T,Th | MC 4040 | Bradley Michael Lushman |
Winter 2018 [1181]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5719 | 57 / 60 | 13:00 - 14:20 | T,Th | MC 4045 | Prabhakar Ragde |
Winter 2017 [1171]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5450 | 59 / 70 | 10:00 - 11:20 | T,Th | MC 1056 | Bradley Michael Lushman |
Fall 2016 [1169]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 9444 | 3 / 1 |
Winter 2016 [1161]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5990 | 48 / 60 | 10:00 - 11:20 | T,Th | MC 4040 | Bradley Michael Lushman |
Fall 2015 [1159]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 8991 | 1 / 1 |
Winter 2015 [1151]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5778 | 52 / 65 | 10:00 - 11:20 | T,Th | MC 2054 | Prabhakar Ragde |
Winter 2014 [1141]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5590 | 59 / 66 | 14:30 - 15:50 | T,Th | MC 2034 | Prabhakar Ragde |
| TST 101 | 8067 | 59 / 66 | 19:00 - 20:50 | Th |
Fall 2013 [1139]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 8316 | 1 / 1 |
Winter 2013 [1131]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5347 | 56 / 65 | 10:30 - 11:20 | M,W,F | MC 4045 | Bradley Michael Lushman |
| LEC 002 | 8276 | 1 / 1 |
Winter 2012 [1121]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5130 | 74 / 60 | 10:30 - 11:20 | M,W,F | MC 1056 | Prabhakar Ragde |
| LEC 002 | 8186 | 1 / 1 |
Winter 2011 [1111]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5087 | 40 / 45 | 10:30 - 11:20 | M,W,F | MC 4060 | Alejandro Lopez-Ortiz |
Winter 2010 [1101]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5055 | 51 / 60 | 09:30 - 10:20 | M,W,F | MC 2054 | Prabhakar Ragde |
Winter 2009 [1091]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 4285 | 27 / 55 | 11:30 - 12:50 | T,Th | MC 4040 | David Toman |
Winter 2008 [1081]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 3450 | 38 / 55 | 09:30 - 10:20 | M,W,F | MC 4040 | Bradley Michael Lushman |
Winter 2007 [1071]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 3392 | 55 / 55 | 09:30 - 10:20 | M,W,F | MC 4060 | Bradley Michael Lushman |
Winter 2006 [1061]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 3283 | 27 / 55 | 08:30 - 09:50 | T,Th,M,C | David Toman |
Winter 2005 [1051]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 3237 | 38 / 45 | 11:30 - 12:50 | T,Th,M,C | Bradley Michael Lushman |
Winter 2004 [1041]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 3093 | 40 / 45 | 11:30 - 12:50 | T,Th,M,C | Bradley Michael Lushman |
Winter 2003 [1031]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 3702 | 37 / 45 | 11:30 - 12:50 | T,Th,M,C | Bradley Michael Lushman |
Fall 2002 [1029]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LAB 101 | 5419 | 1 / 1 | ||||
| LEC 001 | 5418 | 1 / 1 |
Winter 2002 [1021]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 2370 | 24 / 45 | 11:30 - 12:50 | T,Th,M,C | Anthony Michael Cox |
Fall 2001 [1019]
| Section | Class | Enrolled | Time | Days | Location | Instructor |
|---|---|---|---|---|---|---|
| LEC 001 | 5099 | 1 / 1 |