This page lists the labs.
Labs are not graded, and you do not need to submit them. However, they are very important for learning the material, and if you don't finish a lab in class you should finish it on your own time outside of class.
Date |
Lab |
File |
Tues, Sep 1st |
Lab 1: Regular expressions |
n/a |
Thurs, Sep 3rd |
Lab 2: Finite Automata using JFLAP |
n/a |
Tues, Sep 8th |
Lab 3: Eliminating Nondeterminism |
n/a |
Tues, Sep 15th |
Lab 4: Recursive Descent Parsing |
RecursiveDescentJava.zip, RecursiveDescentSoln.zip (solution) |
Thurs, Sep 17th |
Lab 5: Precedence Climbing |
PrecedenceClimbingJava.zip, PrecedenceClimbingSoln.zip (solution) |
Tues, Sep 22nd |
Lab 6: Turing Machines |
n/a |
Tues, Sep 29th |
Lab 7: Clojure Exercises I |
n/a |
Tues, Oct 6th |
Lab 8: Clojure Exercises II |
n/a |
Tues, Oct 13th |
Lab 9: Clojure data structures |
n/a |
Thurs, Oct 15th |
Lab 10: Sieve of Eratosthenes |
n/a |
Tues, Oct 27th |
Lab 11: MiniVM programming |
CS340_Lab11.zip |
Thurs, Oct 29th |
Lab 12: Tail-recursive list merge in Erlang |
sort.erl |
Tues, Nov 10th |
Lab 13: Clojure review |
clojure-review.zip |
Thurs, Nov 12th |
Lab 14: Introduction to Ruby |
CS340_Lab14.zip |
Tues, Nov 17th |
Lab 15: Clojure review 2 |
clojure-review2.zip |
Thurs, Dec 3rd |
Lab 16: Tic Tac Toe in Scala |
tictactoe.scala |
Tues, Dec 8th |
Lab 17: Functional programming exercises in Scala |
lab17.scala |
Thurs, Dec 10th |
Lab 18: Mandelbrot set in Scala |
mandelbrot.scala |