К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Automata and Computability · LearnSpace
Назад в каталог
courseraПрограммирование

Automata and Computability

Курс от Birla Institute of Technology & Science, Pilani
Средний≈ 63 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

Welcome to the "Automata and Computability" course! This course explores theoretical models of computation, including finite automata, context-free grammars, and Turing machines. It examines how these models define the limits of computation, analyse algorithmic complexity, and apply formal logic techniques to problem-solving. It delves into computability theory, covering decidable and undecidable problems, NP-completeness, and the Chomsky hierarchy. Learners will explore regular expressions, context-free languages, and recursive functions to understand language processing and formal grammars. Through hands-on experience with proof techniques, algorithmic problem analysis, and formal verification, this course builds a strong foundation in computational theory. By the end, learners will develop advanced reasoning skills applicable to theoretical computer science, software development, and artificial intelligence research. Ideal for computer science students, software engineers, and researchers, this course strengthens understanding of automata, formal languages, and complexity theory.

Навыки, которые вы освоите

Theoretical Computer ScienceComputer ScienceLogical ReasoningProgramming PrinciplesComputational LogicNatural Language ProcessingGraph TheoryMathematical Theory & AnalysisComputational ThinkingFormal LearningAlgorithmsDeductive Reasoning

Программа курса

10 модулей · 416 учебных материалов

01 Introduction to Automata Theory38 материалов

Course Introduction

Course OverviewЧтениеMeet Your Instructor - Prof. Saikishor JangitiВидеоMeet Your Instructor - Prof. S.P VimalВидеоCourse Introductory VideoВидео

Учитесь у экспертов

BITS Pilani Instructors Group

Преподаватель курса

Automata and Computability
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 63 ч

10 модулей

Язык: Английский

Часть программы вашего университета
Course Structure & Critical InformationЧтение

Preliminaries and Basic Concepts

Different Kinds of AutomataВидеоRecommended Reading: Different Kinds of AutomataЧтениеDifferent Kinds of AutomataЗаданиеSetsВидеоRecommended Reading: SetsЧтениеSets (Collection of Distinct Elements)ЗаданиеFunctions and Relations ВидеоRecommended Reading: Functions and Relations ЧтениеFunctions and Relations ЗаданиеGraphs and Trees ВидеоRecommended Reading: Graphs and Trees ЧтениеGraphs and Trees ЗаданиеProof Techniques ВидеоRecommended Reading: Proof Techniques ЧтениеProof Techniques Задание

Languages and Automata

Language and StringsВидеоRecommended Reading: Language and StringsЧтениеLanguage and StringsЗаданиеOperations on a Language ВидеоRecommended Reading: Operations on a Language ЧтениеOperations on a Language ЗаданиеFinite Automata ВидеоRecommended Reading: Finite Automata ЧтениеFinite Automata ЗаданиеDeterministic Finite Accepter (DFA)ВидеоRecommended Reading: Deterministic Finite Accepter (DFA)ЧтениеDeterministic Finite Accepter (DFA)ЗаданиеDFA and Regular Languages ВидеоRecommended Reading: DFA and Regular Languages ЧтениеDFA and Regular Languages Задание

Dialogue and Assessment

Automata FoundationsDIALOGUELet's Practice: Introduction to Automata TheoryЗаданиеTest Yourself: Introduction to Automata TheoryЗадание
02Finite Automata36 материалов

Non-Deterministic Finite Accepters

Non-DeterminismВидеоRecommended Reading: Non-DeterminismЧтениеNon-DeterminismЗаданиеLambda TransitionsВидеоRecommended Reading: Lambda TransitionsЧтениеLambda TransitionsЗаданиеDefinitionВидеоRecommended Reading: DefinitionЧтениеDefinitionЗаданиеInput String Rejection by an NFAВидеоRecommended Reading: Input String Rejection by an NFAЧтениеInput String Rejection by an NFAЗаданиеInput String Acceptance by an NFAВидеоRecommended Reading: Input String Acceptance by an NFAЧтениеInput String Acceptance by an NFAЗаданиеLanguage Accepted by an NFAВидеоRecommended Reading: Language Accepted by an NFAЧтениеLanguage Accepted by an NFAЗадание

Equivalence of Deterministic and Non-Deterministic Finite Accepters

Infinite Language Acceptance Through Lambda TransitionsВидеоRecommended Reading: Infinite Language Acceptance Through Lambda TransitionsЧтениеInfinite Language Acceptance Through Lambda TransitionsЗаданиеSingle Final State for NFAsВидеоRecommended Reading: Single Final State for NFAsЧтениеSingle Final State for NFAsЗадание

Dialogue and Assessment

Nondeterminism MasteryDIALOGUELet's Practice: Finite AutomataЗаданиеTest Yourself: Finite AutomataЗадание
03Regular Languages59 материалов

Properties of Regular Languages

Standard Representations of a Regular LanguageВидеоRecommended Reading: Standard Representations of a Regular LanguageЧтениеStandard Representations of a Regular LanguageЗаданиеUnion of Two Regular LanguagesВидеоRecommended Reading: Union of Two Regular LanguagesЧтениеUnion of Two Regular LanguagesЗаданиеConcatenation of Two Regular Languages ВидеоRecommended Reading: Concatenation of Two Regular LanguagesЧтениеConcatenation of Two Regular LanguagesЗаданиеClosure Under Star OperationВидеоRecommended Reading: Closure Under Star OperationЧтениеClosure Under Star OperationЗаданиеReverse of a Regular LanguageВидеоRecommended Reading: Reverse of a Regular LanguageЧтениеReverse of a Regular LanguageЗаданиеElementary Questions About Regular Languages ВидеоRecommended Reading: Elementary Questions About Regular Languages ЧтениеElementary Questions About Regular Languages Задание

Regular Grammars

GrammarВидеоRecommended Reading: GrammarЧтениеGrammarЗаданиеDefinition of GrammarsВидеоRecommended Reading: Definition of GrammarsЧтениеDefinition of GrammarsЗаданиеLinear Grammar and Non-Linear Grammar

Non-Regular Languages

Pigeonhole PrincipleВидеоRecommended Reading: Pigeonhole PrincipleЧтениеPigeonhole PrincipleЗаданиеThe Pigeonhole Principle and DFAs ВидеоRecommended Reading: The Pigeonhole Principle and DFAs ЧтениеThe Pigeonhole Principle and DFAs Задание

Assessment

Let's Practice: Properties of Regular LanguagesЗаданиеTest Yourself: Properties of Regular LanguagesЗадание
04Context Free Languages63 материалов

Context Free Grammar

Introduction to CFL ВидеоRecommended Reading: Introduction to CFL ЧтениеIntroduction to CFL ЗаданиеDefinition for CFG ВидеоRecommended Reading: Definition for CFG ЧтениеDefinition for CFG ЗаданиеCFG ExampleВидеоRecommended Reading: CFG ExampleЧтениеCFG ExampleЗаданиеDerivation Trees ВидеоRecommended Reading: Derivation Trees ЧтениеDerivation Trees ЗаданиеAmbiguityВидеоRecommended Reading: AmbiguityЧтениеAmbiguityЗаданиеInherent Ambiguity ВидеоRecommended Reading: Inherent Ambiguity ЧтениеInherent Ambiguity Задание

Non-Deterministic Pushdown Automata

NPDA Definition ВидеоRecommended Reading: NPDA Definition ЧтениеNPDA Definition ЗаданиеPDA Overview ВидеоRecommended Reading: PDA Overview ЧтениеPDA Overview ЗаданиеNPDA Example - 1

Deterministic Pushdown Automata

DefinitionВидеоRecommended Reading: DefinitionЧтениеDefinitionЗаданиеDPDA Example ВидеоRecommended Reading: DPDA Example ЧтениеDPDA Example ЗаданиеNPDA vs DPDA

Dialogue and Assessment

Context-Free Languages and Automata: CFGs, NPDAs, and DPDAs DIALOGUELet's Practice: Context Free LanguagesЗаданиеTest Yourself: Context Free LanguagesЗадание
05Simplification, Normal Forms and Properties of CFL47 материалов

Simplification and Properties of CFL

S-Grammar ВидеоRecommended Reading: S-Grammar ЧтениеS-Grammar ЗаданиеSimplification of Context Free Grammars ВидеоRecommended Reading: Simplification of Context Free Grammars ЧтениеSimplification of Context Free Grammars ЗаданиеDecidable Properties of CFLВидеоRecommended Reading: Decidable Properties of CFLЧтениеDecidable Properties of CFLЗаданиеPositive Properties ВидеоRecommended Reading: Positive Properties ЧтениеPositive Properties ЗаданиеNegative Properties ВидеоRecommended Reading: Negative Properties ЧтениеNegative Properties ЗаданиеIntersection of Context-Free Languages and Regular LanguagesВидеоRecommended Reading: Intersection of Context-Free Languages and Regular LanguagesЧтениеIntersection of Context-Free Languages and Regular LanguagesЗаданиеApplications of Regular Closure ВидеоRecommended Reading: Applications of Regular Closure ЧтениеApplications of Regular Closure Задание

Non-Context Free Languages

Introduction to Pumping Lemma for CFLВидеоRecommended Reading: Introduction to Pumping Lemma for CFLЧтениеIntroduction to Pumping Lemma for CFLЗаданиеThe Pumping Lemma for CFL ВидеоRecommended Reading: The Pumping Lemma for CFL ЧтениеThe Pumping Lemma for CFL Задание

Normal Forms and Chomsky Hierarchy

Chomsky Normal FormВидеоRecommended Reading: Chomsky Normal FormЧтениеChomsky Normal FormЗаданиеCYK Membership AlgorithmВидеоRecommended Reading: CYK Membership AlgorithmЧтениеCYK Membership AlgorithmЗадание

Assessment

Let's Practice: Simplification, Normal Forms and Properties of CFLЗаданиеTest Yourself: Simplification, Normal Forms and Properties of CFLЗадание
06Introduction to Turing Machine38 материалов

Fundamentals of Turing Machine

Outline of the ModuleВидеоDefinition of a Turing MachineВидеоDefinition of a Turing Machine ЗаданиеA Simple TMВидеоA Simple TMЗаданиеTransition Graphs to Represent TMВидеоTransition Graphs to Represent TMЗаданиеInstantaneous DescriptionВидеоInstantaneous Description ЗаданиеInfinite LoopsВидеоInfinite LoopsЗаданиеRecommended Reading: Fundamentals of Turing MachineЧтение

Turing Machines as a Language Acceptor

Definition of Language Accepted by TMВидеоDefinition of Language Accepted by TMЗаданиеTM that Accepts L = {0ⁿ1ⁿ: n ≥ 1}ВидеоTM that Accepts L = {0ⁿ1ⁿ: n ≥ 1}ЗаданиеL = {0ⁿ1ⁿ : n ≥ 1} - Computation of 0011 ВидеоL = {0ⁿ1ⁿ : n ≥ 1} - Computation of 0011 Задание

Turing Machines as a Transducer

Turing Computable FunctionВидеоTuring Computable FunctionЗаданиеAdditionВидеоAdditionЗаданиеTuring Machine for Copying a String ВидеоTuring Machine for Copying a StringЗаданиеTuring Machine for Comparison

Turing Defined Problems and Solutions

How to Design a Turing Machine for a Simple Task? ВидеоHow to Design a Turing Machine for a Simple Task?ЗаданиеDesign a Turing MachineВидеоDesign a Turing MachineЗаданиеRecommended Reading: Turing Defined Problems and SolutionsЧтение

Summary and Assessment

Summary of the ModuleВидеоLet's Practice: Introduction to Turing MachineЗаданиеTest Yourself: Introduction to Turing MachineЗадание
07Variations of Turing Machine38 материалов

Combining Turing Machines

Outline of the ModuleВидеоTuring Machine Design ExampleВидеоTuring Machine Design ExampleЗаданиеMacro-Instruction in Turing MachineВидеоMacro-Instruction in Turing MachineЗаданиеSubprogram in Turing MachineВидеоSubprogram in Turing MachineЗаданиеTuring’s Thesis ВидеоTuring’s ThesisЗаданиеRecommended Reading: Combining Turing MachinesЧтение

Models of Turing Machine

Equivalence of Classes of AutomataВидеоEquivalence of Classes of AutomataЗаданиеTuring Machines with Stay-OptionВидеоTuring Machines with Stay-OptionЗаданиеTuring Machines with Stay-Option ExampleВидеоTuring Machines with Stay-Option ExampleЗадание

Models of Turing Machine (Part 2)

Multitape Turing MachinesВидеоMultitape Turing MachinesЗаданиеMultitape Turing Machine ExampleВидеоMultitape Turing Machines ExampleЗаданиеOffline Turing MachineВидеоOffline Turing MachinesЗадание

Foundational Concepts of Turing Machine

Universal Turing MachinesВидеоUniversal Turing MachinesЗаданиеTuring-Computable FunctionsВидеоTuring-Computable FunctionsЗаданиеRecommended Reading: Foundational Concepts of Turing MachineЧтение

Summary and Assessment

Summary of the ModuleВидеоLet's Practice: Variations of Turing MachineЗаданиеTest Yourself: Variations of Turing MachineЗадание
08Hierarchy of Formal Languages and Automata34 материалов

Recursive and Recursively Enumerable Languages

Outline of the ModuleВидеоRecursive LanguagesВидеоRecursive LanguagesЗаданиеRecursive Languages ExamplesВидеоRecursive Languages ExamplesЗаданиеRecursively Enumerable LanguageВидеоRecursively Enumerable LanguageЗаданиеRecursively Enumerable Language ExamplesВидеоRecursively Enumerable Language ExamplesЗаданиеRecommended Reading: Recursive and Recursively Enumerable LanguagesЧтение

Languages that are not Recursively Enumerable

Non-Recursively Enumerable LanguageВидеоNon-Recursively Enumerable LanguageЗаданиеNon-Recursively Enumerable Language ExamplesВидеоNon-Recursively Enumerable Language ExamplesЗаданиеLanguages that is Recursively Enumerable but not RecursiveВидеоLanguages that is Recursively Enumerable but not RecursiveЗадание

Unrestricted Grammars

Unrestricted GrammarsВидеоUnrestricted GrammarsЗаданиеUnrestricted Grammars - An ExampleВидеоUnrestricted Grammars - An ExampleЗаданиеUnrestricted Grammars & RE LanguagesВидеоUnrestricted Grammars & RE LanguagesЗадание

Context Sensitive Grammars, Languages and Chomsky Hierarchy

Context Sensitive GrammarsВидеоContext Sensitive GrammarsЗаданиеContext Sensitive LanguagesВидеоContext Sensitive LanguagesЗаданиеChomsky HierarchyВидеоChomsky HierarchyЗадание

Summary and Assessment

Summary of the ModuleВидеоLet's Practice: Hierarchy of Formal Languages and AutomataЗаданиеTest Yourself: Hierarchy of Formal Languages and AutomataЗадание
09Computability and Decidability36 материалов

Halting Problem

DecidabilityВидеоDecidabilityЧтениеDecidabilityЗаданиеMembership ProblemВидеоMembership ProblemЧтениеMembership ProblemЗаданиеHalting ProblemВидеоThe Halting ProblemЧтениеThe Halting ProblemЗадание

Reducibility

Reducibility and the Halting ProblemВидеоReducibility and the Halting ProblemЧтениеReducibility and the Halting ProblemЗаданиеBlank Tape Halting ProblemВидеоBlank Tape Halting ProblemЧтениеBlank Tape Halting ProblemЗадание

Computability

Uncomputable FunctionsВидеоUncomputable FunctionsЧтениеUncomputable FunctionsЗаданиеRice’s TheoremВидеоRice’s TheoremЧтениеRice’s TheoremЗадание

Dialogue and Assessment

Computational Limits ExplorationDIALOGUELet's Practice: Computability and DecidabilityЗаданиеTest Yourself: Computability and DecidabilityЗадание
10Overview of Computational Complexity27 материалов

Foundations of Computational Complexity

Efficiency of ComputationВидеоRecommended Reading: Efficiency of Computation ЧтениеEfficiency of ComputationЗаданиеPolynomial Time ComplexityВидеоRecommended Reading: Polynomial Time ComplexityЧтениеPolynomial Time ComplexityЗаданиеThe Class PВидеоRecommended Reading: The Class PЧтениеThe Class PЗаданиеExponential Time ComplexityВидеоRecommended Reading: Exponential Time ComplexityЧтениеExponential Time ComplexityЗадание

NP Problems

Satisfiability ProblemВидеоRecommended Reading: Satisfiability ProblemЧтениеSatisfiability ProblemЗаданиеNon-Deterministic Polynomial TimeВидеоRecommended Reading: Non-Deterministic Polynomial TimeЧтениеNon-Deterministic Polynomial TimeЗадание

Assessment

Let's Practice: Overview of Computational ComplexityЗаданиеTest Yourself: Overview of Computational ComplexityЗадание

Course Wrap-up

Course SummaryЧтение
Every DFA is Trivially an NFAВидео
Recommended Reading: Every DFA is Trivially an NFAЧтение
Every DFA is Trivially an NFAЗадание
NFA can be Converted to an Equivalent DFAВидео
Recommended Reading: NFA can be Converted to an Equivalent DFAЧтение
NFA can be Converted to an Equivalent DFAЗадание
Equivalence ProofВидео
Recommended Reading: Equivalence ProofЧтение
Equivalence ProofЗадание
Видео
Recommended Reading: Linear Grammar and Non-Linear GrammarЧтение
Linear Grammar and Non-Linear GrammarЗадание
Regular GrammarВидео
Recommended Reading: Regular GrammarЧтение
Regular GrammarЗадание
Any Regular Grammar Generates a Regular Language Видео
Recommended Reading: Any Regular Grammar Generates a Regular Language Чтение
Any Regular Grammar Generates a Regular Language Задание
Every Regular Language is Generated by Some Regular Grammar Видео
Recommended Reading: Every Regular Language is Generated by Some Regular Grammar Чтение
Every Regular Language is Generated by Some Regular Grammar Задание
The Pumping LemmaВидео
Recommended Reading: The Pumping LemmaЧтение
The Pumping LemmaЗадание
Applications of Pumping LemmaВидео
Recommended Reading: Applications of Pumping LemmaЧтение
Applications of Pumping LemmaЗадание
The Pumping Lemma - PalindromeВидео
Recommended Reading: The Pumping Lemma - PalindromeЧтение
The Pumping Lemma - PalindromeЗадание
Another Application of Pumping LemmaВидео
Recommended Reading: Another Application of Pumping LemmaЧтение
Another Application of Pumping LemmaЗадание
Factorial Length Strings Видео
Recommended Reading: Factorial Length StringsЧтение
Factorial Length StringsЗадание
Видео
Recommended Reading: NPDA Example - 1Чтение
NPDA Example - 1Задание
NPDA for Palindrome Strings Видео
Recommended Reading: NPDA for Palindrome Strings Чтение
NPDA for Palindrome Strings Задание
NPDA Rejection Видео
Recommended Reading: NPDA Rejection Чтение
NPDA Rejection Задание
NPDA Example - 2Видео
Recommended Reading: NPDA Example - 2Чтение
NPDA Example - 2Задание
Push String in NPDA Видео
Recommended Reading: Push String in NPDA Чтение
Push String in NPDA Задание
NPDA Accepting Strings with Equal Number of A’s and B’s Видео
Recommended Reading: NPDA Accepting Strings with Equal Number of A’s and B’s Чтение
NPDA Accepting Strings with Equal Number of A’s and B’s Задание
NPDAs Accept Context-Free Languages Видео
Recommended Reading: NPDAs Accept Context-Free Languages Чтение
NPDAs Accept Context-Free Languages Задание
Converting Context-Free Grammars to NPDAsВидео
Recommended Reading: Converting Context-Free Grammars to NPDAsЧтение
Converting Context-Free Grammars to NPDAsЗадание
Converting NPDAs to Context-Free GrammarsВидео
Recommended Reading: Converting NPDAs to Context-Free GrammarsЧтение
Converting NPDAs to Context-Free GrammarsЗадание
Видео
Recommended Reading: NPDA vs DPDA Чтение
NPDA vs DPDA Задание
Application of the Pumping Lemma for CFLВидео
Recommended Reading: Application of the Pumping Lemma for CFLЧтение
Application of the Pumping Lemma for CFLЗадание
The Language WW is not Context FreeВидео
Recommended Reading: The Language WW is not Context FreeЧтение
The Language WW is not Context FreeЗадание
Greibach Normal FormВидео
Recommended Reading: Greibach Normal FormЧтение
Greibach Normal FormЗадание
Chomsky HierarchyВидео
Recommended Reading: Chomsky HierarchyЧтение
Chomsky HierarchyЗадание
TM that Accepts L = {0ⁿ 1ⁿ 2ⁿ : n ≥ 1}Видео
TM that Accepts L = {0ⁿ 1ⁿ 2ⁿ : n ≥ 1}Задание
Recommended Reading: Turing Machines as a Language AcceptorЧтение
Видео
Turing Machine for ComparisonЗадание
Recommended Reading: Turing Machines as a TransducerЧтение
Turing Machines with Semi-Infinite TapeВидео
Turing Machines with Semi-Infinite TapeЗадание
Recommended Reading: Models of Turing MachineЧтение
Multi-Dimensional Turing MachineВидео
Multi-Dimensional Turing MachineЗадание
Non-Deterministic Turing Machine Видео
Non-Deterministic Turing MachineЗадание
Recommended Reading: Models of Turing Machine (Part 2)Чтение
Recommended Reading: Languages that are not Recursively EnumerableЧтение
Recommended Reading: Unrestricted GrammarsЧтение
Recommended Reading: Context Sensitive Grammars, Languages and Chomsky HierarchyЧтение
Decidability Properties of Recursively Enumerable LanguagesВидео
Decidability Properties of Recursively Enumerable LanguagesЧтение
Decidability Properties of Recursively Enumerable LanguagesЗадание
The Post Correspondence ProblemВидео
The Post Correspondence ProblemЧтение
The Post Correspondence ProblemЗадание
Modified Post Correspondence ProblemВидео
Modified Post Correspondence ProblemЧтение
Modified Post Correspondence ProblemЗадание
Decidability of PC ProblemВидео
Decidability of PC ProblemЧтение
Decidability of PC ProblemЗадание
Is P = NP?Видео
Recommended Reading: Is P = NP?Чтение
Is P = NP?Задание
NP-Complete ProblemsВидео
Recommended Reading: NP-Complete ProblemsЧтение
NP-Complete ProblemsЗадание