CS2121 Fundamentals of Automata and Algorithms

This course presents the basic concepts in automata and algorithms that are essential to computer professionals. Practical examples are used to illustrate course material. Topics covered include finite state automata, pushdown automata, regular and context free languages, limits of what can be solved on a computer (undecidability), the Halting Problem, algorithms for sorting and searching, binary search trees, hash tables, graph algorithms for shortest paths and minimum spanning trees, as well as measures of algorithm complexities (big-O notation and intractability).

Lecture Hours


Lab Hours


Quarter Offered

  • As Required