CSCE 355: Foundations of Computation