Theory Of Computation Lab Programs