| 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 | ENGG2440 or ESTR2004 |
| 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 | |