|
|
Projects
- Project 0: 
Set up Your Account, and Get to Know Ruby  
PS 
PDF
In this project, you will set up your account, practice reading
the class newsgroup, and write three small Ruby methods.
- Project 1: 
Use Ruby Regular Expressions and Data Structures
PS 
PDF
In this project, you will write a Ruby program to check the output of a
simulator of a bicycle race. This involves checking certain structural
properties of one input data file representing the course the bicycle
race is run on, and verifying that the data in another input file has
certain properties with respect to the course.
- Project 2: 
Write Various OCaml Functions
PS 
PDF
In this project, you will write several OCaml functions of varying
degrees of difficulty, including some higher-order functions. The most
complex of these will be an implementation of the Game of Life in
OCaml.
- Project 3: 
Write Some OCaml Modules
PDF
In this project, you will implement a module in OCaml for rational
numbers and another module for working with boolean formulae, and a
module which implements Binary Decision Diagrams, a data structure for
representing boolean formulae.
- Project 4: 
Write A Small Scheme Interpreter
PS 
PDF
In this project you will write in OCaml a scanner, parser, and
interpreter for a subset of the language Scheme.
- Project 5: 
Write A Concurrent Simulator for the Bicycle Race
PS 
PDF
In this project you will use threads in Java to implement a simulator
which will maintain the positions of cyclists running a race similar to
that in Project 1, and verify that none of them violate the rules given
in that project.
- Project 6: 
Write A Cyclist
PDF
In this project you will create a cyclist for the bicycle race which is
able to navigate a course on its own.
Project Submission Instructions
You must submit your projects electronically using the submit server. You will log in
to the submit server using your University Directory ID. Once you log in,
click on the submit link for the project you wish to submit, and
follow the directions. Alternately, we will supply you with a
command-line tool for submitting each project.
|