Announcements

As you may have noticed, Homework 11 is available. It is due Friday by the end of the day. It is similar to Homework 10, in that you will create a simple data structure and then use it to add a new feature to Boom.

Download this zip file to study the code of the BF interpreter in Session 28.

The code review homework is available and due Thursday morning at 10 AM. It asks you to read an implementation of Homework 9 and answer a few questions about it. One of the goals of the assignment is for you to see another way of writing the code and to think about your own implementation.

Download this zip file to use as you work through Session 25.

Homework 9 is available and due on Monday. The assignment consists of two main functions, plus a set of syntax procedures for the language. You will produce a lot of code for Problem 1, but keep in mind that you can copy, paste, and edit code from one kind of expression to the next. You may use code from previous sessions and assignments as examples to imitate.

Homework 8 is available and due on Monday. For this assignment, you will write syntax procedures for two new syntactic abstractions, modify the preprocessor to translate them into their core forms, and one function to do static analysis.

Download this starter code to use on the lexical address exercise in Session 19.

Homework 7 is available and due on Monday. For this assignment, you will write one function to translate a syntactic abstraction into its core form, a few small functions to implement a new data type, and one function to do static analysis.

If you would like to follow along more closely, download this Racket file to use as we work through Session 12.

Homework 5 is available and due on Monday. For this assignment, you will write five structurally recursive functions, four of which will be mutually recursive. This is the first time you will put your Rackunit tests in a separate file. The template files guide you.

If you would like to follow along more closely, download this Racket file to use as we work through Session 11.

Homework 4 is available and due on Monday. For this one, you will write five structurally recursive functions. This is also the first time you will write your own Rackunit tests. Use the tests in the previous homeworks and in session code as examples, and feel free to ask questions if you have any.

Quiz 1 will be at the end of Session 8. It is a pencil-and-paper quiz, closed book and closed notes. I will list function names for less common functions you might need, but you will want to know the names of basic functions (car, cdr, first, rest, max, etc.)

I fixed the typo in the due date for Homework 0. It is due January 23 (tomorrow) at the beginning of class.

Welcome to the world of CS 3540! These pages will complement what we do in class. You will want to check this section often -- even when I don't mention changes in class -- to see if something new is available.

Please send any questions or comments to me or to the course discussion list. (The mailing list is always linked at the top of this page.)