Theory of Computation

Gain insights into formal languages, regular languages, regular expressions, context-free languages, and Turing machines. Delve into automata models and enhance problem-solving skills through extensive exercises.

Beginner

56 Lessons

15h

Certificate of Completion

Gain insights into formal languages, regular languages, regular expressions, context-free languages, and Turing machines. Delve into automata models and enhance problem-solving skills through extensive exercises.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

10 Assessments
10 Playgrounds
9 Quizzes

This course includes

10 Assessments
10 Playgrounds
9 Quizzes

Course Overview

What are the mathematics behind computers? What are the theoretical foundations of computer languages? Such questions can be explored by understanding formal languages and automata models. In this comprehensive course, you’ll explore formal languages, regular languages, and how to model them with their associated automata models. Next, you’ll cover regular expressions and grammar, and their equivalents. Then, you’ll explore context-free languages (the foundations of programming languages), pushdown automa...Show More

What You'll Learn

A solid understanding of formal languages, their structures and properties

Working knowledge of capabilities and limitations of different types of automata

The ability to convert between regular expressions, finite automata, context-free grammars and pushdown automata

Insights into computability theory, undecidability, reductions and the halting problem

What You'll Learn

A solid understanding of formal languages, their structures and properties

Show more

Course Content

1.

Getting Started

Get familiar with core computation concepts, formal languages, and finite state machines.

Exam on Formal Languages

Assessment

2.

Finite Automata

Walk through finite automata concepts, including DFAs, NFAs, regular languages, and machine minimization.

Exam on Finite Automata

Assessment

3.

Regular Expressions and Grammars

Break apart regular expressions, their equivalence with finite automata, and regular grammars.

Exam on Regular Expressions and Grammars

Assessment

4.

Properties of Regular Languages

Grasp the fundamentals of regular languages, decision algorithms, Pumping Theorem, and nonregular language properties.

Exam on Properties of Regular Languages

Assessment

5.

Pushdown Automata

Deepen your knowledge of pushdown automata, their applications, and deterministic vs. nondeterministic behaviors.

Exam on Pushdown Automata

Assessment

6.

Context-Free Grammars

7 Lessons

Focus on the structure, simplification, and conversion of context-free grammars and pushdown automata.

Exam on Context-Free Grammars

Assessment

7.

Properties of Context-Free Languages

7 Lessons

Master the key properties, algorithms, and formalisms of context-free languages.

Exam on Properties of Context-Free Languages

Assessment

8.

Turing Machines

8 Lessons

Try out Turing machines, their definitions, functions, variations, and the Church-Turing Thesis.

Exam on Turing Machines

Assessment

9.

The Landscape of Formal Languages

4 Lessons

Unpack the core of formal languages, from RE languages and unrestricted grammars to Chomsky hierarchy.

Exam on the Landscape of Formal Languages

Assessment

10.

Computability

3 Lessons

Examine limits of computability, undecidability problems, and implications of Rice's theorem.

Exam on Computability

Assessment

11.

Conclusion

1 Lesson

Grasp the fundamentals of computation models, language representation, and computational boundaries.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor