alice
Alice E. Fischer
cs_logo

CS 636 / 536
The Structure of Programming Languages

Fall Trimester 2006
Email A.Fischer at work Email A.Fischer at home
FAQs
Homework Assignments
Lab Assignments
Lecture Notes
Chapters from the Text

<< Back
Course Facts
CS 636 Section 1 Dr. Alice E. Fischer
CS 536 Section 50 Buckman Hall 251
Monday 6:00--9:05 pm 932-7069
Kaplan Hall, Room 103 http://eliza.newhaven.edu/lang/
Office hours: Monday, Tuesday, and Friday afternoons after 3:00. Wednesday or Thursday afternoon, by appointment.
Languages are like people...
graduate
External clothing
(syntax and interface) does not tell the whole story.
The goal is to learn:
  • That all languages are alike, no matter what disguise they are in.
    • A language definition supplies lexical form, syntax, and semantics.
    • Every language also has libraries, style, and intended usage.
    • All support a minimal core of control structures.
  • How to download, install, and bring up a new language on your own computer.
  • How to approach a new language and master it quickly.
  • Two languages, FORTH and LISP, that are very different from C, at the introductory level.
  • To learn many things about a variety of other languages.
  • The structures that are used to implement compilers and interpreters.
  • The benefits and drawbacks of various language designs, including late binding, byte code interpreters, and garbage collection.
  • How types, objects, generic functions, and polymorphism are implemented.
Languages can look different outside...
Corin
But still be the same inside.
Prerequisites.
  • CS 226 or CS 620.
  • Knowledge of two programming languages.
  • For undergraduates, junior or senior standing.
Textbooks.
  • Primary text: A. Fischer and F. Grodzinsky, The Anatomy of Programming Languages, Prentice-Hall. This book is out-of-print, but used copies are often available on the web. Use the "Chapters from the text" link, on the left of this page, to access PDF copies of the chapters.
  • A useful reference: Michael L. Scott, Programming Language Pragmatics, Morgan Kaufmann Publishers, 2000, third edition. ISBN: 1-55860-442-1
Some languages are simple and small,
five
But the full power of language is still there inside.

Course Requirements and Grading. (Weights may be adjusted slightly.)

  • 10% Class attendance - 1 point subtracted per unexcused absence.
  • 25% Weekly written homework
  • 25% Programming problems, mostly small.
  • 40% Midterm exam and final exams.

Attendance. Attendance in class is very important because much of the lecture does not come directly froom the book. If you do miss a week or two, you are responsible for any and all material covered. I cannot (normally) give a passing grade if four or more lectures are missed.

Homework. I will be assigning written homework (weekly) and short programming exercises. I expect you to do most (but probably not all) of each kind of work. If you do poorly on exams, you can partially make up for it by doing all the homework and programs. Most of the programs will not be long, but will require a lot of thought and understanding.

Late Assignments. An assignment may be turned in late; there will be no grade penalty if it is in my pile by the time I hand back the corrected assignment to others. After that, there I might take off points, and the assignment will certainly go to the bottom of my prioritized grading pile.

Some languages get old and fat.
portrait
Some people do too.
Policies and Procedures
Communication.
I will post all homework assignments, error corrections, announcement, suggestions, and other useful information on the course website. Please check for postings in midweek and on Sunday night. The URL is: http://eliza.newhaven.edu/lang/

You should send questions and pleas for help to me via email; I will answer them (if I can) as soon as I can.

Don't get tangled up...
tangle
Plagiarism can kill you!
Academic honesty policy.
All assignments are to be done alone; little or no sharing and discussion should take place. It is unacceptable to copy another person's work or work so closely together that your work is essentially similar. This kind of "help" will not help you master the material. If you need help, don't hesitate to ask me for it. You can send email 24 hours a day, and I frequently respond at odd hours.

Plagiarism (copying someone else's work with the intent to deceive) is foolish; there is no way to pass my exams without doing the work yourself. Plagiarism is a serious offense in industry and in our department. Employees are sometimes fired and students are sometimes dismissed for doing it. Please keep in mind that I do notice plagiarism and that I am disgusted that a few students do it. Copying another's work shows a lack of respect for yourself and for me, and a lack of concern for the student whose work you copy. In my classes, the giver and the borrower are equally guilty. When I receive the same work from two students (or three, or four...), my minimal penalty is to divide the points among the participants. It does not matter who did the work; both the giver and the receiver(s) are at fault. My penalties depend on the importance of the assignment and the extent of the "sharing"; the cost can be as great as an F in the course.

To avoid accidental participation in someone else's offense, do not give or loan your work to another student at any time for any reason. Do not leave it in the lab, and do not leave copies of your files in public directories in the lab.

With exams, it's important
roots
to make the connection.
A Missed Exam.
You should inform me in advance if you will be unable to attend class on a scheduled exam date. If an emergency arises at the last minute, I expect you to reach me within 24 hours of a missed exam if you want the privilege of making it up. Use phone, email, or messenger, but get in touch with me. In addition, you must write the missed exam before I hand back the papers to the rest of the class.

Software and Hardware.
All software required will be installed in the CS lab. In addition, public-domain versions of both FORTH and LISP can be downloaded.

Last updated: 4/13/09
Photographs by Michael and Alice Fischer and Kenneth Waltz, taken at Crater Lake Oregon, Tahiti, and at my homes.