Course Outline |
||
Fundamental concepts of programming languages including syntax, semantics, program translation, virtual machines, control, data types, multi-threading, exception handling and abstraction mechanisms. Introduction to programming paradigms including imperative, applicative, logic and object-oriented.
Lectures, 3 hours per week.
Prerequisite: COSC 2P03 (minimum 60 percent).
|
Date |
|
Topics |
1 | Sep 07/11 | 1,2 | Introduction, Evolution of programming languages |
2 | Sep 14/18 | 2 | Evolution of programming languages |
3 | Sep 21/25 | 5, 6 | Names, Bindings, Scope, Data types |
4 | Sep 28/Oct 02 | 6, 7 | Data types, Expressions and assignments |
5* | Oct 05/16 | 8 | Control structures (Midterm 1) |
6 | Oct 19/23 | 9, 10 | Subprograms |
7 | Oct 26/30 | 11 | Abstract data type |
8 | Nov 02/06 | 12 | Object-oriented languages |
9 | Nov 09/13 | 13 | Concurrency (Midterm 2) |
10 | Nov 16/20 | 15 | Functional programming languages |
11 | Nov 23/27 | 15, 16 | Functional programming languages, Logic programming languages |
12 | Nov 30/Dec 04 | 16 | Logic programming languages, Review |