CS 5003: Foundations of Computer Science: an Introduction (Graduate)
C-D22 (Junior Year, Second Semester)



Course Description

“This is the study of mathematical foundations of computing, at a slower pace than that of CS 503 and with correspondingly fewer background assumptions. Topics include finite automata and regular languages, pushdown automata and context-free languages, Turing machines and decidability, and an introduction to computational complexity. (Prerequisite: an undergraduate course in discrete mathematics.)”



Languages/Technologies



Concepts Learned



Projects



My Experience

CS 5003 explored topics in the theory side of computer science, focusing on the mathematical side. It included some topics studied in discrete mathematics, along with some other topics such as pushdown automata, languages, and turing machines. The class helped me understand code at a lower level and helped with future classes such as compilers.