Systems & Computer Engineering

94.311 - Programming Languages

Summer: May-June 2002

(Lectures: 6 hours a week; Laboratory: 3 hours a week)

Short Outline:    Principles underlying different kinds of programming languages (procedural, functional, and logic programming) and their semantics.  Overview of machinery needed for language support (compilers, interpreters, and run-time systems).  Functional and Logic programming languages. Object-oriented programming languages.  

Prerequisites: Engineering 94.211 -  Prerequisite waivers will not be granted to students who received F or ABS in Engineering 94.211. These students must withdraw by the last date for registration in Summer term courses; otherwise, they will be deregistered at any time before the end of term.                                           

Attendance: Students are expected to attend all lectures and be able to attend the lab periods as required. Requests to accommodate missed exams, assignment due dates, project milestones, etc. because of conflicts with jobs or vacation plans will not be considered.

Course Objectives:    

 

  Instructor  Textbook & Resources
Dr. Samuel A. Ajila               
Office: Minto Case 7038          
Phone: 520 2600 ext. 2673      
E-mail: mailto
Office hours: to be announced  

Robert W. Sebesta,  “Concepts of Programming Languages”,  5th Edition, ISBN: 0-201-75295-6,  2002, Addison-Wesley

Download a copy of DrScheme and SWI-Prolog

A free online book on Scheme by  Dorai Sitaram, 1998-2001

A free online SWI-Prolog manual by Jan Wielemaker

Check lecture slides for the course

Markings: A maximum of 100 marks will be available. The division is as follows:

[AS] Assignments 30 marks
[ME] Midterm Exam (closed book, 1 hour) 15 marks
[FE] Final Exam (closed book, 3 hours) 55 marks

if   ME + FE < 35.0                                   
      then  AFT = (ME + FE ) * 1.372          
else
 AFT = ME + FE + AS;

      * To pass the course, a student MUST obtain at least an average of 50% in the examination components (i.e. midterm and final examinations) of the course assessment.

                * Final Exam (FE) marks or answer booklets will not be shown to students by the instructor.

Assignments:

Tentative Topics Posted   Due Marks
 Language Processors, Syntax and Semantics May 22  June 03 8
  Programming in Scheme (a mini project) May 29  June 10 12
Programming in Prolog (a mini project) June 10  June 20 10

The assignments are to be handed in immediately after lectures @ 10.25 am on the due date. The methods of handing in assignments will be determined, and announced, later.

Late hand-in will be accepted with the penalty as follows:

Topics:

  1. Introduction (chapter 1)
  2. Evolution of the major programming languages (chapter 2 - reading assignment)
  3. Describing the syntax of programming languages (chapter 3)
  4. Lexical and Syntax Analysis (chapter 4)
  5. Functional Programming and introduction to Scheme (chapter 15)
  6. Names, Binding, Type Checking, and Scopes (chapter 5) 
  7. Data Types (chapter 6)
  8. Expressions and the Assignment Statement (chapter 7)
  9. Statement-level Control Structures (chapter 8)  
  10. Logic Programming Languages and introduction to Prolog (chapter 16)
  11. Subprograms (chapter 9)
  12. Implementing Subprograms (chapter 10)
  13. Data Abstraction (chapter 11)
  14. Support for Object-Oriented Programming (Examples from C++ & Java) (chapter 12)
  15. Concurrent Subprograms (chapter 13)
  16. Exception Handling (chapter 14)
    {Topics 14, 15, and 16  may disappear if some of the topics 11-13 take more time}

Students with Disabilities: Students with disabilities who require academic accommodations in this course are encouraged to contact a coordinator at the Paul Menton Centre (PMC) for Students with Disabilities to complete the necessary letters of accommodation. After registering with the PMC, make an appointment to meet and discuss your needs with your instructor at least two weeks prior to the first midterm exam. This is necessary to ensure sufficient time to make the required arrangements. Please note the deadline for submitting completed forms to the PMC for accommodations for formally scheduled final exams is June 7, 2002.

Laboratory Health and Safety Manual: Health And Safety