COSC 4301/5423 3.0 Programming Language Design

Fall 1999


Note

Brief overview

In this course we focus on programming paradigms. In particular, we study functional and concurrent programming. We use the functional programming language Standard ML and its concurrent extension CML. We concentrate on programming in these languages and reasoning about programs. We compare some aspects of functional, concurrent, procedural and object-oriented languages. Polymorphism, higher order functions, infinite data structures, the lambda-calculus, communication, synchronization, and process creation are some of the ingredients of this course.

General information

Time: Monday, Wednesday and Friday, 12:30-13:30
Place: CCB 122
Instructor: Franck van Breugel
Office hours: Monday, Wednesday and Friday, 13:30-14:00 or by appointment
Office: CCB 348
Email: franck@ariel.cs.yorku.ca
Prerequisites: general prerequisites, including COSC 3301 3.0

Reference material

The textbook for the course is Errata can be found here. Handouts will be made available to the students. Class notes will be crucial.

Evaluation

Undergraduate students

The performance of undergraduate students will be evaluated as a combination of a final exam (50%), a mid term (20%), and four assignments (30%). Students will not have the option of doing additional work to upgrade their mark.

Graduate students

The performance of graduate students will be evaluated as a combination of a project (50%), a mid term (20%), and four assignments (30%). Students will not have the option of doing additional work to upgrade their mark.

Assignments

There will be four assignments. The assignments are given out on
  1. September 15 (7.5%)
  2. October 6 (7.5%)
  3. October 27 (7.5%)
  4. November 17 (7.5%)
The assignments should be handed in within two weeks. No late assignments will be accepted. If a student cannot hand in the assignment in time for reasons beyond his/her control, the student has to bring a documented note to the instructor. If accepted, the weight of the other assignments will be prorated accordingly.

Mid term

The mid term will be held on Monday October 25. The mid term is written in class. If a student misses the mid term for reasons beyond his/her control, the student has to bring a documented note to the instructor. If accepted, the weight of the final exam/project will be prorated accordingly.

Final exam

The final exam will be held in the examination period. If a student misses the final exam for reasons beyond his/her control, the student has to bring a documented note to the instructor. If accepted, the student has to take a replacement exam.

Project

Each graduate student will study a topic of his/her interest, typically a research paper, related to the course. The student will give an oral and a written presentation. In the week of October 4-8 each student will hand in and discuss a progress report. The presentations will take place during the last lectures of the course. The term paper is due on December 17.

Calendar

The suggested reading material, additional material and the assignments can be found by clicking on the corresponding date on the calendar below.

Course outline (in PostScript)