SYLLABUS
CMPT 312 Programming Languages
Spring 2007
Classes: Fisher 112, TR 3:30-4:55
Instructor: Paul Shields, Fisher 111, (413) 258-4289
Email: pshields@simons-rock.edu
Office Hrs: T 2:00-3:30, W 2:00-3:30, R 2:00-3:00, or by appt.
Web Site: http://cs.simons-rock.edu/cmpt312/
Text
Allen B. Tucker and Robert E. Noonan, Programming Languages, Principles and Paradigms, 2nd edition, McGraw-Hill, 2007
Haskell materials on-line.
Description
This course will examne the design and implementation of modern programming languages, covering such paradigms as imperative languages, object-oriented languages, functional languages, and logic-oriented languages. Topics will include syntax, semantics, pragmatics, grammars, parse trees, types, bindings, scope, parameter passing, and control structures. Prerequisite: CMPT 243.
Objectives
1) to develop an awareness of the history of programming languages.
2) to study the dominant approaches to language design and their rationales, and to learn the strengths and weaknesses of various paradigms in relation to different goals and purposes.
3) to understand the common issues that must be addressed in in the implementation of a programming language.
4) to learn Haskell
Assignments
There will be assignments spaced throughout the term. Each student will be expected topresent one chapter from the text and there will also be final project in Hakell, to be presented to the class at the end of the course.
Attendance
The normal college policy on attendance will be followed. 2 absences will result in a warning, 3 or more in possible suspension from the course.
Grading
Assignments and text presentation 50%, Final project 50%