Course Outline - WordPress.com

advertisement
University of Bahrain
College of Information Technology
Department of Computer Science
Course Information Form
Code ITCS312 Title
Formal Languages and Automata
Pre/co-requisites
Web Page
ITCS251
Course Instructor
Email
Hesham al-Ammal
heshaaam@gmail.com
Credit Hours
3-2-3
http://heshaaam.wordpress.com/
Office Hours
Course Coordinator
UT: 8:00  9:00
S40-2076
Hesham al-Ammal
Course Description
Introduces the concept of abstract machines and basic concepts in the foundations to computer science. Formal
languages and their relation to automata; the Chomsky hierarchy of classes of grammars; normal forms, recognition of
languages; finite state automata; finite transducers; push down transducers; Turing machines; conversion algorithms and
decidability problems.
Course Learning Outcomes
On successful completion of this course, students will be able to:
Mapping to POs
1. Construct finite automata, regular grammars, or regular expressions for a given formal language.
a, c
2. Analyze a given automaton and convert it to an equivalent grammar.
a
3. Compare and identify regular, context-free, and recursively enumerable languages.
a, j
4. Assess the implications of the Church-Turing thesis.
a, b
5. Analyze a given language and construct a grammar for it.
j
6. Implement at least one algorithm for top-down or bottom-up parsing.
i
7. Assess the implications of the classes P and NP on algorithmic efficiency.
a
Textbook
Peter Linz, An Introduction to Formal Languages and Automata, 4th Edition, Jones and Bartlett, 2006.
Assessments
Term Tests
Test #1: 20%
Assignments
Quizzes
Projects
Final Exam
10%
5%
40%
Lab: 5%
Test #2: 20%
Practical:
Tests dates and timings
Test #1
Test #2
31-10-2011 in class
26-12-2011 in class
Practical
Final Exam
Topics
Week
1
2
3
4
5
Topics
Remarks
1.1: Introduction
1.2: Languages, grammars and Automata
2.1-2.2: Finite automata: DFAs and NFAs
2.3: Equivalence of DFAs and NFAs
Lab 1: Finite state automata using
JFLAP
3.1- 3.2: Regular expressions
3.3: Regular grammars
4.1-4.2: Properties of regular grammars
Lab 2: Regular expressions
4.3: Identifying non-regular languages
5.1: Context-free grammars
5.2: Parsing and ambiguity
6
6.1: Methods of transforming grammars
Midterm exam 1 (2/11/2011)
6.2: Chomsky normal form
7
8
9
10
11
12
13
7.1: Pushdown automata
7.2: Pushdown automata
Lab 3: Term project – part 1:
parsing and compiler design
9.1-9.2: The standard Turing machine
Mid-semester break
9.3: Turing’s thesis
Lab 4: Term project – part 2:
implementation
11.1: A Hierarchy of formal languages
12 Limits of Algorithmic Computation
12 Limits of Algorithmic Computation
14
14. An Overview of Computational complexity
15
14. An Overview of Computational complexity
Midterm exam 2 (19/12/2011)
Lab 5: Term project – part 3:
submission date
Download