Skills you will learn in this class:
-
How to "program" at the level of very primitive models.
-
How to prove that something is not computable.
-
How to model computing tasks with finite state automata, grammars,
push-down
automata, and Turing machines.
-
How to formally verify that a "program" does what you think it does.
Prerequisites:
-
Programming experience at a deep level in some programming language.
-
A large dose of mathematical sophistication.
Next
Lynn Ziegler, lziegler@csbsju.edu