MWF 2:35pm--3:25pm, Stewart Biology N2/2
- Andrew Cave (
acave1 at cs.mcgill.ca)
- Francisco Ferreira (
francisco.ferreira2 at mcgill.ca)
- Assignment 5 solution, available
- Assignment 4 solution, available
- Assignment 5, available
- Assignment 4, available
- Assignment 3 solution, available
- Assignment 2 solution, available
- Assignment 3, available
- Assignment 1 solution, available
- Assignment 2, available
- Assignment 1, available
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)
- This website and its content is copyright of B. Pientka - © McGill University . All rights reserved.
Instructor generated course materials (e.g., handouts, notes, summaries, homeworks, exam questions, etc.) are protected by law and may not be copied or distributed in any form or in any medium without explicit permission of the instructor. Note that infringements of copyright can be subject to follow up by the University under the Code of Student Conduct and Disciplinary Procedures.