University of Vermont

Instructor : Radhakrishna (Radha) Dasari

Email :

Alan Turing Institute

CS125 - Computability and Complexity

Formal languages and expressiveness. Turing completeness and Church's Thesis. Decidability and tractability. Complexity classes and theory of NP completeness.

Learning Objectives

Socratic Method will be used for teaching key concepts. Students who successfully complete this course will become familiar with general concepts in the theory of computer science, gain an understanding of the concepts of automata and languages, and computability theory

  • Understand proofs by construction, contradiction and induction
  • Design finite automata
  • Work with regular expressions
  • Design context-free grammars
  • Understand the workings of a Turing Machine
  • Apply the concepts of decidability and reducibility
  • Familiarize with concepts of Time and Space complexity

Academic Integrity

"Integrity means that there is coherence between what you say, what you do, what you think, and how you feel about life around you" - A quote by someone who is wise

Code of Academic Integrity - The University of Vermont


Textbook - Introduction to Theory of Computation, Michael Sipser, 3rd Edition

Piazza Discussion Forum - Every semester, the questions related to CS125 are answered exclusively on Piazza

CS125 Video Playlist


General semester structure. HW - Homework, PA - Programming Assignment

Week Lecture Topics Notes and Videos Tasks
1 Introduction to CS125, Proofs - review HW0
2 Symbols and Languages, Deterministic Finite Automata HW1
3 Formal Definition of DFA, Regular Languages
4 NFA, DFA-NFA Equivalence HW2
5 Regular Expressions
6 Non-Regular Languages, Pumping Lemma
7 Exam Review, Midterm Exam Midterm
8 Context-Free Languages HW3
9 Pushdown Automata
10 Turing Machines HW4
11 Decidability and Undecidability
12 Reducibility HW5
13 Complexity classes -
14 End of the semester review

Tips for Success

Procrastination and CS125 do not go well together. Starting the homework very early is the key to success in CS125

Last Minute Panic
Poorly Drawn Lines