COSC 2P05
Course Outline

Instructor: Michael Winter, Office MCC J323, Office Hours: Mon & Thu, 11:00am - 01:00pm, 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 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
* Oct 09-13 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, 2023