COSC 2P05
Course Outline

Michael Winter, Office MCC J323, Office Hours: Mon & Wed, 10:00am - noon, email: mwinter@brocku.ca

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