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 |