CS 345H is an advanced undergraduate course on the theory and practice of programming languages. We'll explore the formal foundations of programming languages, including program semantics and type systems, and see how we can use these foundations to reason precisely and mathematically about "what programs do". We aim to distill the essence of programming languages, rather than learning any specific language in great detail, and wield that knowledge to build more reliable software systems.
CS 345H is also cross-listed as CS 386L, the graduate-level version of this course.
Meetings
Lectures: Tuesday and Thursday, 9:30am–10:45am, UTC 3.122
Office Hours:
- James: Tuesdays, 11am–12pm, GDC 5.720
- Sam: Wednesdays, 2pm–3pm, GDC 1.302 Desk #1
- Sammy: Tuesdays, 3pm–4pm, GDC 5.816
Discussion: We're using Ed Discussion for course announcements, questions, etc.
Course staff
Instructor: James Bornholt
Teaching Assistants: Sam Laberge, Sammy Thomas
To contact the course staff, please create a private thread on the Ed Discussion board rather than sending email.