![]() |
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 10/14 | 1,2 | Introduction, Evolution of programming languages |
| 2 | Sep 17/21 | 2 | Evolution of programming languages |
| 3 | Sep 24/28 | 5, 6 | Names, Bindings, Scope, Data types |
| 4 | Oct 01/05 | 6, 7 | Data types, Expressions and assignments |
| 5* | Oct 08/19 | 8 | Control structures (Midterm 1) |
| 6 | Oct 22/26 | 9, 10 | Subprograms |
| 7 | Oct 29/Nov 02 | 11 | Abstract data type |
| 8 | Nov 05/09 | 12 | Object-oriented languages |
| 9 | Nov 12/16 | 13 | Concurrency (Midterm 2) |
| 10 | Nov 19/23 | 15 | Functional programming languages |
| 11 | Nov 26/30 | 15, 16 | Functional programming languages, Logic programming languages |
| 12 | Dec 03/07 | 16 | Logic programming languages, Review |