Free University of Bolzano/Bozen
Faculty of Computer Science
Bachelor in Applied Computer Science
Formal Languages
Lectures A.Y. 2007/2008
Teaching material
[M1] Introduction to Automata Theory, Languages,
and Computation (3rd edition). J.E. Hopcroft, R. Motwani,
J.D. Ullman. Addison Wesley, 2007.
[M2] Lecture Notes for
Formal Languages. Diego Calvanese. 2007. Available as scanned
pages in pdf.
[M3]
Exercises on Formal
Languages. Available as scanned pages in pdf.
Lectures
Lectures 1,2 - 8/10/2007
- Topics
[M2: Part 1]
- course presentation
- basic definitions about relations
- What you should know after the lecture
- the basic notions about relations
Lectures 3,4 - 15/10/2007
- Topics
[M2: Part 1]
- basic definitions about functions
- basic definitions about languages
- What you should know after the lecture
- the basic notions about relations and functions, and their
properties
- the formal meaning of alphabet, string, language
Lectures 5,6 - 15/10/2007
- Topics
[M2: Part 2]
- finite state machines
- deterministic finite automata (DFA)
- extended transition function for a DFA
- What you should know after the lecture
- how a finite-state machine works (informally)
- the formal definitions of a DFA and of an NFA, and of the language
they accept
- construct a DFA for a given language
Lectures 7,8 - 22/10/2007
- Topics
[M2: Part 2]
- nondeterministic finite automata (NFA)
- different views of nondeterminism
- relationship between DFAs and NFAs (subset construction)
- What you should know after the lecture
- construct an NFA for a given language
- how to prove that DFAs and NFAs accept the same class of languages
- how to contstruct a DFA from a given NFA
Exercise 1,2 - 22/10/2007
- Exercises on deterministic and nondeterministic finite automata
[M3:
Exercise 1,2]
Lectures 9,10 - 29/10/2007
- Topics
[M2: Part 2]
- finite automata with epsilon-transitions
- eliminating epsilon-transitions
- What you should know after the lecture
- how to prove that epsilon-NFAs and NFAs accept the same class of
languages
- how to construct an NFA from a given epsilon-NFA
Exercise 3 - 29/10/2007
- Exercises on finite automata with epsilon transitions and on
regular languages
[M3:
Exercise 3]
Lectures 11,12 - 19/11/2007
- Topics
[M2: Part 3]
- regular expressions
- algebraic laws for regular expressions
- What you should know after the lecture
- what the language generated by a regular expression is
- what algebraic laws hold for regular expressions
Exercise 4 - 19/11/2007
- Exercises on finite automata and regular expressions
[M3:
Exercise 4]
Lectures 13,14 - 26/11/2007
- Topics
[M2: Part 3]
- converting a regular expression to a finite automaton
- converting a finite automaton to a regular expression
- What you should know after the lecture
- how to prove that finite automata accept exactly the regular
languages
- how to construct a finite automaton from a given R.E.
- how to construct a R.E. from a given automaton
Exercise 5 - 26/11/2007
- Exercises on finite automata and regular expressions
[M3:
Exercise 5]
Lectures 15,16 - 27/11/2007
- Topics
[M2: Part 4]
- closure properties of regular expressions
- pumping lemma for regular languages
- proving languages not to be regular
- What you should know after the lecture
- that regular languages are closed under regular and boolean
operations
- how to prove that a languages is not regular
- what properties can be decided about regular languages
Lectures 17,18 - 3/12/2007
- Topics
[M2: Part 4]
- decision problems for regular languages
- minimization of finite automata
- What you should know after the lecture
- what properties about regular languages can be decided, and what is
the computational cost
- how to minimize a finite automaton
Exercise 6 - 3/12/2007
- Exercises on properties of regular languages and pumping lemma
[M3:
Exercise 6]
Lectures 19,20 - 10/12/2007
- Topics
[M2: Part 5]
- Chomsky formal grammars
- derivation
- What you should know after the lecture
- what a Chomsky formal grammar is
- how the language generated by a formal grammar is defined
Exercise 7,8 - 10/12/2007
Lectures 21,22 - 7/1/2008
- Topics
[M2: Part 5]
- classification of formal grammars
- grammars of type 0, type 1 (or context-sensitive), type 2 (or
context-free), type 3 (or regular)
- context free grammars
- parse-trees for context-free grammars
- What you should know after the lecture
- how formal grammars are classified
- recognize what the type of a grammar is
- how context-free grammars are defined
- how to construct the parse-tree corresponding to a derivation
Exercise 9,10 - 7/1/2008
Lectures 23,24 - 14/1/2008
- Topics
[M2: Part 5]
- simplifying context free grammars (eliminating useless symbols,
eliminating epsilon-transitions, eliminating unit-productions)
- Chomsky normal form for a CFG
- What you should know after the lecture
- how to eliminate useless symbols from a CFG
- how to eliminate epsilon-productions from a CFG
- how to eliminate unit-productions from a CFG
- how to convert a CFG into Chomsky normal form
Exercise 11,12 - 14/1/2008
- Exercises on context-free grammars and normal forms for grammars
[M3:
Exercise 11,12]
Course home page
Last modified:
Tuesday, 30-Sep-2008 16:30:23 CEST