Roger L. Kraft

Class Lectures and Reading Assignments
CS 50200
Compiling and Programming Systems
Spring, 2014

This page documents what we do in class. It contains Java programs that we will discuss in class, reading assignments, simple homework exercises that you can work on for practice and exam preparation (not for credit), and links to other sources of information.

  • Thursday, May 1.
    • See the homework page for an optional (extra credit) seventh homework assignment.
    • The following zip file contains files that define a language that adds lists to Language_9.
  • Tuesday, April 29.
    • See the homework page for an optional (extra credit) seventh homework assignment.
    • Here is the Scheme code that we wrote in class this evening.
    • The following zip file contains files that define a language that adds anonymous functions to Language_8.
  • Tueday, April 22.
    • See the homework page for your sixth homework assignment.
    • The following zip files contains expanded versions of the examples from Thursday along with Java 8 examples (thanks to Bradley Van Cleave). Besides the Java 8 examples, the most interesting new example is ComparatorTester_3_fn.java which shows a way to "parameterize" the comparators which "parameterize" the sort() method.
  • Thursday, April 17.
  • Tuesday, April 15.
  • Thursday, April 10.
  • Tuesday, April 8.
    • See the homework page for your fifth homework assignment.
    • Here is the Scheme file that we wrote in class this evening. You can open this file in any text editor, or in DrRacket.
    • The following zip file contains files that define a langauge that adds "first-class" functions to Language_7.
  • Thursday, April 3.
  • Thursday, March 27.
    • Be sure to download the following zip file. Several of the examples have been recently updated.
  • Thursday, March 20.
    • The midterm exam will be Tuesday, April 1.
    • Here is a collection of problems to help you study for the midterm exam.
  • Thursday, March 6.
    • Be sure to download the following zip file. Several of the examples have been recently updated.
  • Thursday, February 27.
  • Tuesday, February 18.
    • The following zip file contains files that define a langauge that adds functions to Language_6.
  • Thursday, February 13.
    • See the homework page for your third homework assignment.
    • The following zip file contains files that define a langauge that adds conditional and loop expressions to Language_5.
  • Tuesday, February 11.
    • The following zip file contains files that define a langauge that improves the lexical scopes in Language_4.
  • Thursday, February 6.
    • The following zip file contains files that define a langauge that adds nested scopes to Language_3.
  • Thursday, January 30.
    • See the homework page for your second homework assignment.
    • The following zip file contains files that define a language of expressions with variables.
  • Tuesday, January 28.
    • Class canceled because of the weather.
  • Thusday, January 23.
    • The following zip file contains files that define a language of arithmetic and boolean expressions.
  • Tuesday, January 21.
    • Class canceled because of the weather.
    • The following zip file contains files that define a language of arithmetic expressions.
  • Thursday, January 16.
    • See the homework page for your first homework assignment.
    • The following zip file contains files that define a "language of binary trees" and a "language of arbitrary trees". The first homework assignment is based on the language of binary trees. There is also quite a bit of review material about tree data structures and tree algorithms in the zip file.
  • Tuesday, January 14.
    • The following zip file contains files that define a "language of binary trees". The first homework assignment is based on this example.