Home | Lectures | Written Assignments | Programming Assignments | Exams | Cool

CS 4610 - Programming Languages - Programming Assignments


Start the programming assignments early! Completing the course project is a large, complex, and rewarding task, which is made much easier by giving adequate forethought to design. The course schedule allows ample time to complete the assignments -- take advantage of it.

Documentation and structuring should be incorporated into programs from the beginning. Neither instructors nor teaching assistants will help with incomprehensible programs.

I highly recommend that you find an account on a Unix (or Mac OSX) machine or that you install Cygwin on your Windows machine.

The instructional lab machines should have OCaml, Ruby and Python pre-installed.

Language Guides

Ocaml. Start with Jason Hickey's Introduction to Objective CAML and move on to the official OCaml tutorial. Ruby. You might consider the official Ruby in Twenty Minutes. Python. Try the official Beginner's Guide or Guido's Tutorial. Cool. See the course webpage on Cool.

C. Google for "C tutorial" or somesuch. For example, try this tutorial from Drexel University.

PA1: The Rosetta Stone

PA2: The Lexer

PA3: The Parser

PA4: The Semantic Analyzer

PA5: The Compiler

PA6: The Extra-Credit Optimizer