COSC 2P05
Course Outline

Michael Winter, Office MCC J323, Office Hours: Mon & Thu, 10:00am - noon, email: [email protected]

Calendar description

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).

Course Outline

Week
Date
Book/Chapt.
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
* Oct 12-16 is Reading Week.

Texts

Sebesta, Robert W.: Concepts of Programming Languages (12th edition) Pearson, 2019, ISBN: 9780135102268

COSC Home Page
COSC 2P05 Home Page
© M. Winter, 2026