Welcome to CSC324! In this course, you'll learn about programming paradigms that are quite different from the imperative approach you've seen in other courses. We'll study Racket and Haskell, two functional programming languages, and compare and contrast these languages with languages with which you're already familiar (Python and Java). In addition, we will be defining our own programming languages and programming language features. Why? We want to help you go beyond any particular programming language, and understand core conceptual differences between languages. We think this will make you a better programmer.
All announcements will be made on Quercus.
Instructor: Lisa Zhang
Email: lczhang [at] cs [dot] toronto [dot] edu
Please include "CSC324" in your email subject.
Lisa: Mondays 12pm-2pm, DH3078 and by appointment
Hassan: Tuesdays 1:30pm-3pm, Room CC2110
There will be additional office hours near assignment deadlines and tests.
We will not be using a textbook for the course. Instead, we will use the CSC324 Coursepack written by Prof. David Liu from the St. George campus. We will follow the notes closely for the majority of the course, but our treatment of logic programming will differ. Additional notes will be posted online.
This is the planned schedule for the term. The lecture content, labs, and homeworks are subject to change.
|Lecture (Wednesday)||Lab (Friday)||Exercise/Assignment |
|Week 1||September 11, 2019|
Just for fun
|September 13, 2019||Due September 17, 2019|
|Week 2||September 18, 2019|
|September 20, 2019||Due September 24, 2019|
|Week 3||September 25, 2019|
|September 27, 2019||Due October 1, 2019|
|Week 4||October 2, 2019|
|October 4, 2019||Due October 8, 2019|
|Week 5||October 9, 2019|
Additional TA Office hours
|October 11, 2019|
Reading week, no class / tutorial
|Week 6||October 23, 2019|
|October 25, 2019||Due October 29, 2019|
|Week 7||October 30, 2019|
|November 1, 2019||Due November 5, 2019|
|Week 8||November 6, 2019|
|November 8, 2019||Due November 12, 2019|
|Week 9||November 13, 2019|
|November 15, 2019||Due November 19, 2019|
|Week 10||November 20, 2019|
|November 22, 2019||Due November 26, 2019|
|Week 11||November 27, 2019|
|November 29, 2019||Due December 3, 2019|
|Week 12||December 4, 2019|
Final Examination Schedule