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 | Jan 06-10 | 1,2 | Introduction, Evolution of programming languages |
2 | Jan 13-17 | 2 | Evolution of programming languages |
3 | Jan 20-24 | 5, 6 | Names, Bindings, Scope, Data types |
4 | Jan 27-31 | 6, 7 | Data types, Expressions and assignments |
5 | Feb 03-07 | 8 | Control structures (Midterm 1) |
6 | Feb 10-14 | 9, 10 | Subprograms |
7* | Feb 24-28 | 11 | Abstract data type |
8 | Mar 03-07 | 12 | Object-oriented languages |
9 | Mar 10-14 | 13 | Concurrency (Midterm 2) |
10 | Mar 17-21 | 15 | Functional programming languages |
11 | Mar 24-28 | 15, 16 | Functional programming languages, Logic programming languages |
12 | Mar 31- Apr 04 | 16 | Logic programming languages, Review |