Lectures
MWF 1:35pm--2:25pm, Trottier 1100 (new)
Instructor
Brigitte Pientka (bpientka at cs dot mcgill dot ca)
Announcements
- Final: Thursday, Dec 18, 2:00pm - 5:00pm
- Solution for HW 5 is out (hw5-sol).
- Java, Subclassing, inheritance -- Part 1 (pdf, ps), Part 2 (pdf, ps)
- Subtyping (pdf, ps)
- Solution for HW 4 is out (hw4-sol).
- HW 5 is out (hw5-code, ps, pdf).
- Type inference (pdf, ps)
- Introduction to types (pdf, ps)
- COMP302 Discussion Board -- Check WebCT
- Old announcements can be found here.
Themes of the Course
This course is designed to provide a thorough introduction to the foundations and paradigms of programming languages. In particular, we will investigate functional programming in theory and practice and learn about some of the considerations underlying Java and object-oriented programming. Some of the topics to be covered are functional programming, lambda-calculus, type systems, continuations, Java and the object-oriented paradigm, and subtyping.
"An ideal language allows us to express easily what is useful for the programming task, and at the same time makes it difficult to write what leads to incomprehensible or incorrect programs." (Nico Haberman)
"On theories such as these we cannot rely. Proof we need. Proof!" (Yoda, Jedi Master)