Assignments
Assignments will be of two types. Exercises will give you practice using the variety of languages that you will learn. I expect to assign 4-6 exercises. Programs will reinforce your understanding of programming language concepts. For example: build a parse tree for this grammar. I expect to assign 2-3 programs. Programs will be written in Python, which you will learn early in the course. Collaboration is not allowed on either type of assignment.
Exercises
- Exercise 1 - Python practice (solutions)
- Exercise 2 - Scheme practice (solutions)
- Exercise 3 - Conventional interfaces in Scheme (solutions)
- Exercise 4 - Sudoku solver in Prolog (solution)
Programs
- Program 1 - Parser (solutions)
- Program 2 - Evaluator (Solutions: turtle.py and lsystem.py)

