Calendar

The following table gives the topics we will cover in the class and the approximate number of lectures to be spent on each topic.  The "Reading" column lists the reading material for the class. You should do the reading for a class before attending the class

Principles of Programming Languages is a very useful course: in this course you will learn many skills that will be useful to you in using, learning, and evaluating programming languages.  For each topic I've identified certain skills that you should get from that topic.  Approximately 80% of the points on the exams and assignments will be given on these skills.  In other words, if you master all these skills you will get 80% of the points (which in previous years has translated into a B+).  The remaining points will be based on synthesis questions:  i.e., questions that combine multiple topics and are not tied to a single skill. 

As the class progresses, I'll modify this schedule based on the needs of the class; so please don't take this schedule as something that is cast in stone on the first day of class.  In general, lines above the blank red row are polished: they will most likely not change while lines below it are likely to change as the semester progresses.  The midterm dates will not change.