Ce cours n'est pas disponible en Français (France)

Nous sommes actuellement en train de le traduire dans plus de langues.
Birla Institute of Technology & Science, Pilani

Automata and Computability

Inclus avec Coursera Plus

Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Intermédiaire

Expérience recommandée

6 semaines à compléter
à 10 heures par semaine
Planning flexible
Apprenez à votre propre rythme
Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Intermédiaire

Expérience recommandée

6 semaines à compléter
à 10 heures par semaine
Planning flexible
Apprenez à votre propre rythme

Ce que vous apprendrez

  • Master finite automata, pushdown automata, and Turing machines to analyse computation limits and formal language processing.

  • Understand computability, NP-completeness, and complexity classes to assess problem-solving limits in theoretical computer science.

  • Apply proof techniques and logic to formalise computational models, algorithmic efficiency, and automata-based problem-solving.

  • Construct regular expressions and context-free grammars to solve pattern matching and parsing problems in software engineering.

Compétences que vous acquerrez

  • Catégorie : Graph Theory
  • Catégorie : Natural Language Processing
  • Catégorie : Logical Reasoning
  • Catégorie : Programming Principles
  • Catégorie : Algorithms
  • Catégorie : Computational Logic
  • Catégorie : Mathematical Theory & Analysis
  • Catégorie : Formal Learning
  • Catégorie : Computational Thinking
  • Catégorie : Theoretical Computer Science
  • Catégorie : Computer Science

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Récemment mis à jour !

novembre 2025

Enseigné en Anglais

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

 logos de Petrobras, TATA, Danone, Capgemini, P&G et L'Oreal

Il y a 10 modules dans ce cours

This module provides an in-depth exploration of the foundational concepts of Automata Theory. It begins with an introduction to the theoretical underpinnings and practical relevance of automata in computing. Students will review finite automata, focusing on deterministic finite automata (DFA) and their structure, functionality, and applications. The module also explores the concept of languages accepted by DFAs, emphasising how automata relate to formal language theory and computational problem-solving.

Inclus

13 vidéos12 lectures12 devoirs

Finite Automata is a fundamental module in theoretical computer science that introduces the mathematical models of computation and their applications in problem-solving and language processing. This module focuses on the study of abstract machines and the computational problems that they can solve. Students will learn how to design, analyse, and implement finite automata to recognise regular languages and perform pattern matching.

Inclus

11 vidéos11 lectures13 devoirs

This module focuses on the study of Regular Languages within the context of Automata Theory. Regular languages form the foundation of formal language theory and are closely linked with Finite Automata. The module covers the theoretical underpinnings of regular languages, their characterisation through finite automata and regular expressions, and the practical applications in areas such as compiler design, pattern matching, and text processing. Students will explore how to manipulate regular languages and prove their properties and limitations.

Inclus

19 vidéos19 lectures21 devoirs

This module introduces the concept of Context-Free Languages (CFLs) and their fundamental role in the theory of computation and formal language theory. It covers the theoretical foundations, practical applications, and formal representation of CFLs through Context-Free Grammars (CFGs). Students will explore how CFLs are generated, manipulated, and analysed using derivation trees, parse trees, and normal forms such as Chomsky Normal Form (CNF) and Greibach Normal Form (GNF). The module also examines key properties of CFLs, including ambiguity, the pumping lemma for CFLs, and closure properties. Practical applications in programming languages, syntax analysis, and compiler design are also discussed.

Inclus

20 vidéos20 lectures22 devoirs

This module introduces key techniques for simplifying context-free grammars (CFGs), including the removal of useless, nullable, and unit productions. It also covers the transformation of CFGs into normal forms, such as Chomsky Normal Form (CNF) and Greibach Normal Form (GNF), which are essential for parsing and algorithmic applications. Additionally, the module explores fundamental properties of Context-Free Languages (CFLs), including closure properties, the pumping lemma, and decision problems.

Inclus

15 vidéos15 lectures17 devoirs

This module introduces the Turing Machine, a fundamental theoretical model of computation. It covers the formal definition of a Turing Machine, its components, and its functioning as a computational device. Students will explore different approaches to designing Turing Machines and work through design examples to understand their applications. The module also examines the dual role of Turing Machines: As a language acceptor to recognise formal languages and as a transducer to compute functions, demonstrating their significance in theoretical computer science and the foundations of computation.

Inclus

17 vidéos4 lectures17 devoirs

This module explores advanced concepts and variations of the Turing Machine, a cornerstone of computational theory. It delves into Turing Machines with finite control, multiple tracks, two-way infinite tapes, multi-tape configurations, multi-head mechanisms, and non-deterministic models, highlighting their unique capabilities and computational power. The concept of the Universal Turing Machine is introduced, demonstrating its role as a model of general computation. The module also examines Turing-computable functions and their implications, culminating in an understanding of the Church-Turing Thesis, which formalises the limits of algorithmic computation and the foundations of computer science.

Inclus

17 vidéos4 lectures17 devoirs

This module examines the classification of formal languages and their relationship to computational models. It focuses on recursive and recursively enumerable languages, exploring their properties and distinctions within the computational framework. The concept of unrestricted grammars is introduced as a powerful tool for generating languages beyond regular and context-free classes. Additionally, the module delves into context-sensitive grammars (CSG) and their place in the Chomsky Hierarchy, providing a structured understanding of language classes and their computational complexity. These topics form the foundation for analysing the expressive power of different formal systems and their real-world applications.

Inclus

15 vidéos4 lectures15 devoirs

This module, part of Automata Theory, focuses on the foundational concepts of computability and decidability. Students will study formal languages, automata models (finite automata, pushdown automata, Turing machines), and the classification of computational problems based on their solvability. The module examines how Turing machines serve as a standard for what is "computable" and explores the limits of algorithmic problem solving through examples of decidable and undecidable languages. Students will engage in formal reasoning, proofs, and reductions to understand the theoretical boundaries of computation.

Inclus

11 vidéos11 lectures13 devoirs

This module, integrated into Automata Theory, introduces the study of computational complexity, understanding not just what problems can be solved, but how efficiently they can be solved. Students will explore models of computation, such as Turing machines, to analyse time and space complexity. The course covers complexity classes like P, NP, and NP-complete problems, with a focus on formal methods to prove complexity bounds. Through examples and theoretical proofs, students will develop the ability to evaluate the efficiency of algorithms and the intrinsic difficulty of computational problems.

Inclus

8 vidéos9 lectures10 devoirs

Instructeur

BITS Pilani Instructors Group
Birla Institute of Technology & Science, Pilani
30 Cours46 026 apprenants

Offert par

En savoir plus sur Algorithms

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.
Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’
Jennifer J.
Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’
Larry W.
Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’
Chaitanya A.
’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’
Coursera Plus

Ouvrez de nouvelles portes avec Coursera Plus

Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.

Faites progresser votre carrière avec un diplôme en ligne

Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne

Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires

Améliorez les compétences de vos employés pour exceller dans l’économie numérique

Foire Aux Questions

¹ Certains travaux de ce cours sont notés par l'IA. Pour ces travaux, vos Données internes seront utilisées conformément à Notification de confidentialité de Coursera.