Course Description
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.
Course Contact:
Instructor: Lisa Zhang
Email: lczhang [at] cs [dot] toronto [dot] edu
Please include "CSC324" in your email subject.
Office hours:
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.
Course Notes
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.
Tentative Schedule
This is the planned schedule for the term. The lecture content, labs, and homeworks are subject to change.
Lecture (Wednesday) | Lab (Friday) | Exercise/Assignment (Due Tuesday) | ||
---|---|---|---|---|
Week 1 | September 11, 2019
Materials
Just for fun | September 13, 2019
| Due September 17, 2019
| |
Week 2 | September 18, 2019
Materials
Extras | September 20, 2019 | Due September 24, 2019
| |
Week 3 | September 25, 2019
Materials
| September 27, 2019 | Due October 1, 2019
| |
Week 4 | October 2, 2019
Materials | October 4, 2019 | Due October 8, 2019
| |
Week 5 | October 9, 2019
Materials
Additional TA Office hours
| October 11, 2019 | ||
Reading week, no class / tutorial | ||||
Week 6 | October 23, 2019
Midterm TA Office hours
Materials | October 25, 2019 | Due October 29, 2019
| |
Week 7 | October 30, 2019
Materials Just for fun | November 1, 2019
| Due November 5, 2019
| |
Week 8 | November 6, 2019
Materials | November 8, 2019
| Due November 12, 2019 | |
Week 9 | November 13, 2019
Materials
| November 15, 2019 | Due November 19, 2019 | |
Week 10 | November 20, 2019
Materials
Additional TA Office hours
| November 22, 2019 | Due November 26, 2019 | |
Week 11 | November 27, 2019
Materials
Additional TA Office hours
| November 29, 2019
| Due December 3, 2019 | |
Week 12 | December 4, 2019
Materials
Additional TA Office hours
| Exam Jam
| ||
Final Examination Schedule |