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, Aug 30th Lab 1: Regular expressions n/a
Thurs, Sep 1st Lab 2: Finite Automata using JFLAP n/a
Tues, Sep 6th Lab 3: Eliminating nondeterminism n/a
Thurs, Sep 8th Lab 4: Context-free grammars n/a
Tues, Sep 13th Lab 5: Recursive Descent Parsing RecursiveDescentJava.zip
Thurs, Sep 15th Lab 6: Precedence Climbing PrecedenceClimbingJava.zip
Tues, Sep 20th Lab 7: Turing Machines n/a
Tues, Sep 27th Lab 8: Exam Review Practice Exam 1
Tues, Oct 4th Lab 9: Clojure Warm-up n/a
Thurs, Oct 6th Lab 10: Can I take your order? n/a
Tues, Oct 11th Lab 11: Clojure functions cs340-lab11.zip
Thurs, Oct 13th Lab 12: Tic Tac Toe cs340-lab12.zip
Thurs, Oct 20th Lab 13: Recursion in Clojure n/a
Tues, Nov 1st Lab 14: Recursive List Processing in Prolog n/a
Thurs, Nov 3rd Lab 15: Clojure macros n/a
Tues, Nov 8th Lab 16: Clojure Review 1 cs340-lab16.zip
Thurs, Nov 10th Lab 17: Clojure Review 2 cs340-lab17.zip
Tues, Nov 15th Lab 18: Clojure Review 3 cs340-lab18.zip
Thurs, Nov 17th Lab 19: MiniVM programming CS340_Lab19.zip
Tues, Nov 28th Lab 20: Tail-recursive list merge in Erlang sort.erl