Syllabus
CSC519: Programming Languages - Fall 2005
Dr. Christian A. Duncan
phone: (305) 284-2254
email:
csc519@mail.cs.miami.edu
URL:
www.cs.miami.edu/~duncan/csc519
Office Hours
Tuesday, Thursday: 1:30-2:30
Wednesday: 1:00-4:00
(or by appointment)
email:
duncan@cs.miami.edu
(use this address only for very personal inquiries)
Course Materials
-
Textbook: Programming Language Pragmatics
by Michael L. Scott
-
Computer Account: Provided by the CSC department xxxx519.
This account will be used for submission of project programs.
Grading
|
| 90%
| "A" grade
|
| 25%
| Homework (written)
|
|
| 80%
| "B" grade
|
| 25%
| Project
|
|
| 70%
| "C" grade
|
| 25%
| Midterm
|
|
| 60%
| D
|
| 25%
| Final
|
|
| below 60%
| F
|
Honor Policy
Group work is allowed on the homeworks.
However, you must turn in your own written version of the homeworks
and you must list everyone with whom you collaborated.
Turning in an assignment without listing collaborators is cheating,
plagiarism.
Group work is not allowed on the exams.
They are individual efforts.
Since I have had several recent problems with this,
any student caught cheating on an exam will both fail the class
and be reported to the Honor Council.
Points about the work
- The written homework assignments will primarily be
problems taken straight from the book.
- The programming portion will be centered around creating
or modifying an interpreter - broken up into several stages.
- We shall cover about one chapter a week.
It is very important that you keep up with the reading and
the homework assignments.
- If I feel that students are not keeping up with the readings,
I reserve the right to hold pop quizzes, which will count as a
homework assignment.
Topics to cover include (but not necessarily the entire chapter):
- Chapter 1: Introduction
- Chapter 2: Syntax
- Chapter 3: Names, Scopes, and Bindings
- Chapter 4: Semantics
- Chapter 5: Architecture (on your own)
- Chapter 6: Control Flow
- Chapter 7: Data Types
- Chapter 8: Subroutines
- Chapter 9: Building a Runnable Program
- Chapter 10: Data Abstraction and Object Orientation
- Chapter 11: Functional and Logic Languages
The above topics are, of course, subject to change based on
time constraints, like cancellation of classes due to
hurricanes. Not that one will ever come here, and even
if one did the University would certainly remain open.
Practicum
Contrary to what you may think, this class does not
cover a lot of programming languages.
Instead it is a course on the nature of programming
languages.
However, as experience is often the greatest teacher,
the (optional) practicum portion of the course will
consist of studying (independently) four modern programming
languages whereby students will implement small programs
in each to get a general feel for how the language works.
If there is an interest in this optional lab, more material
will be added.