198:515 - Programming Languages and Compilers I
Fall 2005
Prof Barbara G. Ryder

Online Lecture Notes(in PDF)


Programming Assignments

Written Study Homework

Announcements (Old Announcements)

December 2, 2005: Our makeup class will be held from 6-9pm in core A tonight. Our next (and last) class will be on Monday, December 12, 2005, from 6-9pm in Core A. Our FINAL EXAM will be on THURSDAY, DECEMBER 15th, 2005 from 6:30-9:30pm in Core A. NOTE CHANGE IN TIME FROM OUR CLASS TIME. The MAKEUP FINAL EXAM will be on FRIDAY, DECEMBER 16th, 2005 from 10:00am-1:00pm in Core B.

The final study homework is now posted.

November 29, 2005: The Java assignment is now finalized and posted.

November 24, 2005:Chapter 4 from the Liskov and Guttag book should now be online in the Library online references for 515.

Course Description

This presents topics not normally covered in undergraduate compiler or programming languages courses. They are chosen from the following: comparison of LR parsing techniques; attribute grammars and their use in syntax-directed translation; type systems and polymorphism; type reconstruction; set-based program analysis, lambda calculus, data abstraction and its specification; the functional, object-oriented and declarative programming paradigms as illustrated in SML, Java and Prolog; compile-time program analysis, aspect-oriented programming; and issues in adaptive compilation of Java.

The prerequisites include

Permission of the instructor (and a special permission number) must be obtained to register if you lack a prerequisite.

Expected Work

The expected work will consist of three programming assignments (in Prolog, SML and Java) of 3 weeks duration each. There also will be written study homeworks assigned every two weeks which will not be graded, although answers will be posted. The written homeworks are primarily practice questions for learning the material and will be useful to study for the exams.

The grading will be approximately on the following scale: 35% final exam, 30% midterm and 35% programming assignments and class participation.

Organizational Details

Class meeting time is Monday 6:00-9:00pm in CoRE A (on the third floor, the large conference room opposite the elevators). Note: the CoRE building is locked around 6:00pm, so you will have to come to class before that time if you are a part-time student. We usually take a 15 minute break in the middle of the class period.

ResourcesWe will use the Sethi book below as a textbook in this course. Two copies of the compiler book are on permanent reserve in the Math Library. We also will use research papers from journals and recent conferences; when possible we will list online sources for these on the class lecture page. For those hard-copy only sources, we will put copies of them them on reserve in the Math Library. (You will be able to remove these from the library to xerox your own copies, if you wish.) Additional resources may be put on reserve as the semester progresses.

Schedule There will be a 1.5 hour midterm planned for October 31st and a 3 hour final exam on THURSDAY December 15th, from 6:30-9:30pm. All tests are open book and notes; bring your homeworks and handouts with you.

Because of Prof Ryder's professional meetings (i.e., ICSM'05 and CC'06 program committee) and to avoid the Jewish holiday on the evening of October 3rd, we have scheduled 3 makeup lectures on weekday nights, because we have students enrolled who cannot attend class during working hours. Check the class schedule for the exact dates, times and places. If you cannot attend a makeup lecture, you can arrange to meet with Prof Ryder and go over the lecture notes which are posted online in advance of each class.

Communication with staffIf you have questions regarding the projects and homeworks, please email the them to Prof Ryder and Brian. This is the quickest way of reaching us. We will use a class emailing list to communicate with the class; in addition, updates to programming assignments will be posted on the assignments webpage.


Professor Barbara Ryder (ryder 'at' cs.rutgers.edu)
Office: CoRE 311, 732-445-3699
Office hours: Weds, 4-6pm and by arrangment as necessary

TA: Brian Russell
Office: Hill 403, 732-445-4898
Office Hours: Thurs 7-9pm
email: morbius 'at' paul.rutgers.edu

Useful Links

Last updated by Barbara Ryder at 10:42am on December 2, 2005.