COSC 4301/5423 3.0 Programming Language Design
The marks for the final exam are available electronically
(courseInfo 4301 1998-99 W).
This course addresses the design, the definition and the implementation of
programming languages. The main focus will be on the design and the
definition of programming languages. The implementation of programming
languages is the topic of COSC 4302 3.0. Special attention will be given to
the object-oriented language JavaTM and
functional language Standard ML. Formal methods to design and define
programming languages including BNF, type systems and transition systems
will be studied. The design and the definition of fundamental concepts in
programming languages including types, control structures and abstraction
mechanisms will be looked at in detail.
Time: Monday and Wednesday, 17:30-19:00
Place: CCB 129
Instructor: Franck van Breugel
Office hours: Tuesday and Thursday, 16:00-17:00
Office: CCB 348
Prerequisites: general prerequisites, including COSC 3301 3.0
Class notes and handouts will be crucial. A collection of papers including
these will be made available to the students.
Some comments about A Structural Approach to Operational Semantics can be
An introduction to Java can be found in
Mary Campione and
The Java Tutorial:
Object-Oriented Programming for the Internet.
Programming in Standard ML.
gives an introduction to Standard ML. Java is defined in
Bill Joy and
The Java Language Specification.
and Standard ML in
Robert Harper, and
The Definition of Standard ML - Revised.
The MIT Press.
The following books are suggested for further reading on programming language
Terrence W.Pratt and
Marvin V. Zelkowitz.
Programming Languages: Design and Implementation.
Programming Languages: Concepts and Constructs.
Raphael A. Finkel.
Advanced Programming Language Design.
The student's performance in the course will be evaluated as a combination of
a final exam (50%), a mid term (25%), and assignments (25%). Students will
not have the option of doing additional work to upgrade their mark.
Undergraduate students may do their assignments in pairs. 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.
The mid term will be held on Monday February 22.
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 will be prorated accordingly.
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.
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)