Introduction to Computation Theory is an overview of some basic principles of computation and computational complexity, with an eye towards things that might actually be useful without becoming a researcher. Students will examine the formal mathematics for foundational computation proofs, as well as gain tools to analyze hard computational problems themselves. 

Students who take this course should have basic knowledge of the principles of graphs. Some tutorial material references linear algebra, but familiarity is not necessary. This tutorial uses proofs, and requires understandings of formal math notations.