CS 224 Principles of Programming Languages
Spring 2010
Dr. Jill Zimmerman
office: Hoffberger 120
phone: 410 337-6227
email: jzimmerm@goucher.edu
http://phoenix.goucher.edu/~jillz
Office Hours:
10:30 -10130 MTuWF
others by appointment
Text: Modern Programming Languages: A Practical
Introduction by Adam Brooks Webber
Class web page: http://phoenix.goucher.edu/~jillz/cs224
Course Description and Goals: We will study the underlying principles of programming languages among several different programming paradigms. Topics include syntax and semantics of programming languages, expression evaluation, procedure activations and parameter passing, and data encapsulation. These topics will be illustrated with the use of several languages including Haskell, Java, and Prolog.
Course Mechanics:
Part of the learning experience will include a
series of laboratory exercises. These labs will include experimentation
and graded assignments. These assignments must be turned in on
time. Late labs will not be accepted.
In addition, you will apply your knowledge by writing an interpreter for a
simple imperative language. This project is broken up into four parts.
Since each part of the programming project builds on the previous
parts, it is essential that each part be completed successfully. The project will be
graded by when each part is checked off by me as satisfying the requirements.
Therefore 80% of the credit
for a part will be awarded for successful completion before or by the due date. Late
completion will be penalized by 10% for each weekday for which that part is late.
The remaining 20% will be determined by project documentation and program
readability and style.
All work for the course should be an individual effort.
Academic dishonesty will not be tolerated. (See the
Honor
code for definition and disposition of academic dishonesty.)
Grading
2 Exams (15% each)
30%
Comprehensive Final 20%
Project 30%
Homework/Labs 20%