CSCI3130 Formal Languages and Automata Theory

 

Course code CSCI3130
Course title Formal Languages and Automata Theory
形式語言及自動機理論
Course description This course introduces Deterministic and nondeterminisitic finite automata, regular expressions, context-free grammars, pushdown automata, context-sensitive grammars, parsing of LR(O) and LR(K) languages, Turing machines and computability.
本科介紹確定及不確定的有限自動機、正規表達式、上下文無關文法、下推自動機、上下文有關文法、LR(O)及 LR(K)的分析、圖靈(計算)機及可計算性。 
Unit(s) 3
Course level Undergraduate
Pre-requisite CSCI2110 or ENGG2440 or ESTR2004 or MIEG2440
Semester 1
Grading basis Graded
Grade Descriptors A/A-:  EXCELLENT – exceptionally good performance and far exceeding expectation in all or most of the course learning outcomes; demonstration of superior understanding of the subject matter, the ability to analyze problems and apply extensive knowledge, and skillful use of concepts and materials to derive proper solutions.
B+/B/B-:  GOOD – good performance in all course learning outcomes and exceeding expectation in some of them; demonstration of good understanding of the subject matter and the ability to use proper concepts and materials to solve most of the problems encountered.
C+/C/C-: FAIR – adequate performance and meeting expectation in all course learning outcomes; demonstration of adequate understanding of the subject matter and the ability to solve simple problems.
D+/D: MARGINAL – performance barely meets the expectation in the essential course learning outcomes; demonstration of partial understanding of the subject matter and the ability to solve simple problems.
F: FAILURE – performance does not meet the expectation in the essential course learning outcomes; demonstration of serious deficiencies and the need to retake the course.
Learning outcomes understand the concepts and applications of:
1. regular languages and finite automata;
2. context free languages and pushdown automata;
3. context sensitive languages;
4. LR(k) parsing;
5. Turing machines;
6. undecidability 
Assessment
(for reference only)
Final exam: 40%
Mid-term exam: 30%
Assignments: 30%
Recommended Reading List Introduction Automata Theory, Languages and Computation, 3rd edition. John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman. Addison Wesley.

 

CSCIN programme learning outcomes Course mapping
Upon completion of their studies, students will be able to:  
1. identify, formulate, and solve computer science problems (K/S); T
2. design, implement, test, and evaluate a computer system, component, or algorithm to meet desired needs (K/S);
3. receive the broad education necessary to understand the impact of computer science solutions in a global and societal context (K/V);
4. communicate effectively (S/V);
T
5. succeed in research or industry related to computer science (K/S/V);
T
6. have solid knowledge in computer science and engineering, including programming and languages, algorithms, theory, databases, etc. (K/S);
7. integrate well into and contribute to the local society and the global community related to computer science (K/S/V);
8. practise high standard of professional ethics (V);
9. draw on and integrate knowledge from many related areas (K/S/V);
Remarks: K = Knowledge outcomes; S = Skills outcomes; V = Values and attitude outcomes; T = Teach; P = Practice; M = Measured