Birla Institute of Technology & Science, Pilani
Formal Languages and Applications

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

Formal Languages and Applications

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

  • Recognise different formal languages and describe their unique properties and structures.

  • Create tools to process languages, preparing learners for applications in programming languages.

  • Use automata and parsing methods to address computational challenges in various domains.

  • Utilize automata and formal methods to identify and generate languages accurately.

Compétences que vous acquerrez

  • Catégorie : Technical Analysis
  • Catégorie : Text Mining
  • Catégorie : Program Development
  • Catégorie : Debugging
  • Catégorie : Machine Learning Methods
  • Catégorie : Analysis
  • Catégorie : Data Science
  • Catégorie : Computer Science
  • Catégorie : Computer Programming
  • Catégorie : Algorithms
  • Catégorie : Theoretical Computer Science
  • Catégorie : Formal Learning
  • Catégorie : Software Engineering

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 introduces the learners to the fundamental elements of formal languages. Topics introduced in this module are Alphabets, Strings, Operations on Strings, and Languages as a set of strings and their applications. We will discuss how to use the proof techniques to prove some properties of strings and languages. We assume the learners are already exposed to some basic proof techniques, which we can use directly with a brief review. The approach to cover the topics will be with representative pen and paper exercises.

Inclus

15 vidéos12 lectures12 devoirs

This module is designed to introduce regular languages, regular expressions to specify RL, and dfa as acceptors of regular languages. Theorems on the formal relationship between RE and DFA will be discussed intuitively. The learners will be introduced to grammars, specifically left-linear and right-linear grammars, and their role in generating regular languages. Theorems on the connection between regular languages, regular expressions, DFA, and Left Linear, and right Linear Grammars will be discussed intuitively with examples. The learner will be encouraged to look for practical applications of the concepts introduced.

Inclus

20 vidéos19 lectures22 devoirs

This module focuses on the practical implementation of deterministic finite automata (DFA) through the development of a simple lexical analyser. Students will learn to represent DFA as transition tables, write pseudo-code for table-based computation, and implement these concepts in C programs. The module also explores the role of lexical analysis in language translation, the notion of lexical tokens, and the idea of the longest match in lexical analysers. By the end of the module, students can extend a lexical analyser to handle various tokens and reserved words, culminating in a programming exercise to apply these skills.

Inclus

8 vidéos9 lectures10 devoirs

In this module, learners will explore reducing the number of states in a deterministic finite automaton (DFA). They will revisit the concept of equivalence classes, understand the Myhill-Nerode theorem, and learn its applications in state reduction. The module will cover the theorem's intuitive explanation and practical applications, present an algorithm for minimizing DFA states, and demonstrate the process through examples. The session will conclude with a discussion on the implications of state minimization in lexical analyzers and its benefits.

Inclus

13 vidéos15 lectures17 devoirs

This module introduces us to the second formal language of our course, called Context Free Language (CFL), and its applications. In this module, we will learn the motivations for understanding CFL and how to write (Context free) Grammar to generate CFL. This module will use many examples to demonstrate how to write grammar and perform derivation. The session will also cover the applications of CFLs and provide a high-level introduction to push-down automata, which accept languages generated by CFGs.

Inclus

10 vidéos10 lectures12 devoirs

This module introduces the concept of parsing and the significance of ambiguity in grammars. Parsing is crucial for verifying whether a string belongs to a language. The module explores the motivation behind unambiguous grammar specifications, particularly in programming languages, and provides methods to identify and eliminate ambiguity in grammars. Additionally, the session covers the simplification of context-free grammars (CFGs) by eliminating redundant or useless productions and introduces the concept and importance of normal forms, particularly Chomsky Normal Form (CNF).

Inclus

18 vidéos17 lectures19 devoirs

In this module, learners will be introduced to the fundamentals of parsing, focusing on the recursive descent parsing technique. Through examples, pseudo-code, and hands-on demonstrations, students will gain a practical understanding of how recursive descent parsers work. They will learn how to implement and troubleshoot parsers for context-free grammars and address common challenges such as left recursion and grammar conflicts.

Inclus

11 vidéos10 lectures12 devoirs

In this module, learners will be introduced to LL(1) parsing, a top-down parsing technique. The module will cover the construction of nullable, first, and follow sets, which are essential for building the LL(1) parsing table. Through examples and code demonstrations, learners will gain a practical understanding of constructing and using LL(1) parsing tables. The module will also address handling conflicts in LL(1) parsing and provide an overview of LL(k) parsing techniques.

Inclus

14 vidéos13 lectures15 devoirs

In this module, learners will be introduced to bottom-up parsing techniques with detailed construction and implementation of LR(0) parsers. The need for bottom-up parsing, parsers with various look-ahead, their relative strengths, and applications will be discussed.

Inclus

10 vidéos10 lectures12 devoirs

In this module, learners will explore the concepts of Part-of-Speech (POS) tagging, their applications in Natural Language Processing (NLP), and the role of Context-Free Grammars (CFG) and parsers in these processes. The module will provide insights into developing a POS Tagger as a top-down/bottom-up parsing as explained in the earlier modules. The module will also discuss other possible applications of Context-Free Languages.

Inclus

9 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.