This page lists the labs.

In order to receive credit for completing a lab, you need to get a sign-off from your instructor in person. There are two options for this:

  1. For 100% of full credit: Get a sign-off by the end of the next class (i.e., the class that follows the one in which we work on the lab in class.)
  2. For 80% of full credit: Get a sign-off sometime before the next exam.

I strongly recommend that you work on the labs before you come to class, so that when you come to class, you have made a good start on it and are ready to ask questions about it.

Date Lab File
Tues, Aug 29 Lab 1: Regular expressions n/a
Thurs, Aug 31 Lab 2: Finite Automata using JFLAP n/a
Tues, Sep 5 Lab 3: Eliminating nondeterminism n/a
Thurs, Sep 7 Lab 4: Context-free grammars n/a
Tues, Sep 12 Lab 5: Recursive Descent Parsing RecursiveDescentJava.zip
Thurs, Sep 14 Lab 6: Precedence Climbing PrecedenceClimbingJava.zip
Tues, Sep 19 Lab 7: Turing Machines n/a
Thurs, Sep 21 Lab 8: Exam Review Practice Exam 1
Tues, Sep 26 No lab  
Thurs, Sep 28 Exam 1  
Tues, Oct 3 Lab 9: Clojure Warm-up n/a
Thurs, Oct 5 Lab 10: Can I take your order? n/a
Tues, Oct 10 Lab 11: Clojure functions cs340-lab11.zip
Thurs, Oct 12 Lab 12: Tic Tac Toe cs340-lab12.zip
Tues, Oct 17 Fall break, no class  
Thurs, Oct 19 Lab 13: Recursion in Clojure n/a
Tues, Oct 24 Lab 13.5: Merge sort in Clojure n/a
Thurs, Oct 26 No lab  
Tues, Oct 31 Lab 14: Recursive List Processing in Prolog n/a
Thurs, Nov 2 Lab 15: Clojure macros n/a
Tues, Nov 7 Lab 16: Clojure Review 1 cs340-lab16.zip
Thurs, Nov 9 Lab 17: Clojure Review 2 cs340-lab17.zip
Tues, Nov 14 Lab 18: Clojure Review 3 cs340-lab18.zip
Thurs, Nov 16 Exam 2  
Tues, Nov 21 Lab 19: MiniVM programming CS340_Lab19.zip
Thurs, Nov 23 Thanksgiving vacation, no class  
Tues, Nov 28th Lab 20: Tail-recursive list merge in Erlang sort.erl