|
Winter, 1999 |
Instructor: John Franco
Description:
|
The student shall learn the fundamental tools needed for critical
evaluation of existing and future programming languages and
constructs. The material taught in this course also is helpful when
learning compiler design and construction. It is assumed that the
student has a good working knowledge of the ``C'' language and/or
Pascal. We will not learn new languages as much as fundamental
language concepts such as imperative programming, object-oriented
programming, and functional programming. The student is not expected
to become proficient in any one language unless he or she spends extra
time to do so. Rather, the student will learn fundamental programming
language concepts and see how these are or are not implemented in
existing languages.
On occassion I may cover material in lectures that is not given in the book; you are responsible for both. (Feel free to ask questions in class about reading assignments.) Try to stay a little ahead on the reading assignments. You are responsible for all assignments and announcements made in class, even if you cannot attend. You should probably get to know someone whose notes you can copy. |
Prerequisites:
| Most introductory computer science courses such as C321-C323. See course descriptions in department office for more details. |
Grading (approx):
|
The midterm and final scores will be normalized to a scale of 0-35.
Five or six homeworks will be given. Each will be graded on a scale
from 0-10. The aggregate, normalized to a scale of 0-30 and added to
the midterm and final scores to produce a total score that determines
your grade. Class participation helps to bias things a bit. Grades
are assigned on an informal "curve".
Please be aware that a new grading scheme is now in effect. This includes extending the grading scale to include + and - modifiers (e.g. B+, C-) and, as I understand it, no provision for a grade of N. That means you will either be assigned a grade by the end of the quarter or you will have withdrawn, somehow, from the course. Please consult Linda Gruber for exact details. |
Homework Policy:
| Five or six homeworks will be assigned this quarter. Each will be graded on a scale from 0-10. |
Policy on Incompletes:
| None given except in extreme emergency (death etc.) |
Textbook:
| Concepts of Programming Languages by Robert Sebasta, Fourth Edition, Addison-Wesley Publishing Company (1998), ISBN: 0-201-38596-1. |
Accounts:
|
We will need to use machines that have Java, C/C++ and Scheme. If
you have a UCENG account you are set. If not, and if you have a (DOS) PC at
home, you can download
|
Joint Work:
| Of course, students may discuss homework assignments with each other, may write solutions together, copy, or cheat in any way they can think of (except on the exams). However, it is customary that any significant help from another student or book should be acknowledged in a comment when you ask me to review what you have. |
Approximate Schedule, SUBJECT TO CHANGE
|