In This set of slides we examine the meaning of "Automata Theory and Languages".
We study what automaton is and we see there are different kinds of automata. Next we examine the meaning of alphabet, string, and language.
Download the second set of slides. In this set of slides we introduce Deterministic Finite Automaton and
present its formal definition. We also use some examples to see how it works.
Download this tutorial in which it is explained how one can determine the language of an automaton.
Our third set of slides are uploaded here. In this slide set we covers NFAs (Nondeterministic Finite Automata).
We see the way NFA works using some examples and also formal definition of NFAs. We also prove that they are as powerful as DFAs i.e. they accept Regular Languages akin to DFAs.
Our frouth set of slides are uploaded here.
In this slide we study regular languages' properties. We prove regular languages are closed under union, concatenation,
star, reversal, complement, and intersection operators.
The 5th set of slides!.
In this set of slides we introduce regular expressions and exhibit that the set of languages we can construct on regular
expressions is equal to the set of regular languages. We also demonstrate methods by which one can
convert a DFA to its corresponding regular expression, and convert a regular expression to its corresponding
DFA.
Here you can download the new set of slides.
In this set of slides we firstly introduce pigeonhole principal, in order to establish the foundation
for pumping lemma.
Pumping lemma is a method by which one can determine whether a language is regular or not.
We also see some examples on pumping lemma's application.
Here you can download the new set of slides.
3 examples in which we use Pumping Lemma are solve in this slide set and by that we show
the languages under discussion are not regualar.
Click here to download the new attractive slides!
Using this set of slides we introduce a bigger class of languages called Context Free Languages.
We also learn that grammars are a way for describing languages. We see how one can write a derivation
and depict a derivation tree for a sentence. Finally we see what ambiguity is and we describe
the notion of ambiguity.
Click here to download the new set of slides.
We learn how one can simplify a CFG. We learn some rules which help us to remove the redundant non-terminals
and useless production rules. We also learn how to convert a CFG to its equivalent Chomsky and
Greinbach Normal Form.
Click here to download the attractive slides of this session!
CFGs are used in compilers. We study how Exhaustive parsers, and CYK parsers work, and we also examine
their time complexity. We also introduce S-Grammars in this session.
Click here to download the slides of this session!
We examine Linear Grammars and observe that special kind of linear grammars (Left-Linear Grammars and
Right-Linear Grammars) generate regular languages. We also learn how one can convert a DFA to a Right-Linear Grammar
and vice versa.
Click here to download the attractive slides of this session!
In this set of slides we study what Push Down Automata (PDA) is, and see how it works. We also define it formally.
Click here to download the attractive slides of this session!
In this set of slides we prove that PDAs accept Context Free Languages. Meanwhile we learn how to
convert a CFG to its equivalent PDA and vice versa.
Click here to download the attractive slides of this session!
In this set of slides we speak about properties of CFLs. We see they are closed set under union, concatenation,
and star operation. We also see that CFLs set is not closed under intersection and complement. We also
examine regular intersection closure and use this property to solve some problems.
Click here to download the attractive slides of this session!
We learn how the restricted version of PDA (DPDA: Deterministic Pushdown Automata) works and prove that they are
subset of PDAs.
Click here to download the attractive slides of this session!
Turing Machine is our last subject.