2020/21 Undergraduate Module Catalogue
COMP2321 Formal Languages and Finite Automata
10 creditsClass Size: 300
Module manager: Dr Sam Wilson
Email: S.S.Wilson@leeds.ac.uk
Taught: Semester 2 (Jan to Jun) View Timetable
Year running 2020/21
This module is not approved as a discovery module
Module summary
Programming and programming languages are essential tools for computer science practitioners. The theory and technology that underpins the development of programming languages, in the past and the present, is that of formal languages and finite automata. This module exists to provide a solid foundation of formal languages and finite automata which will be built on in subsequent modules. This module focuses on the formal specification of languages, the corresponding hierarchy of abstract machines and contributes to developing an understanding of design considerations of programming languages.Objectives
This module introduces the fundamental concepts required to study complexity, the design and implementation of programming languages and compilers.Learning outcomes
On successful completion of this module a student will have demonstrated the ability to:
- recall definitions and theorems relating to formal languages and finite automata and apply them appropriately.
- describe and compare different models of computation.
- articulate the existence of undecidable problems.
- illustrate the applications of formal languages and finite automata in the fields of programming language design and compilers.
Syllabus
This module covers the following 3 topic areas:
- Formal languages : regular languages, context-free languages, recursive languages, recursively enumerable languages, grammars, Backnus Naur form (BNF), parsing and parse trees.
- Abstract models of computation : finite automata and Turing machines (both deterministic and non-deterministic).
- Computability : computable and uncomputable functions, computable and uncomputable sets, undecidable problems, the Halting problem, Rice's theorem.
Teaching methods
Delivery type | Number | Length hours | Student hours |
Lecture | 22 | 1.00 | 22.00 |
Tutorial | 10 | 1.00 | 10.00 |
Private study hours | 68.00 | ||
Total Contact hours | 32.00 | ||
Total hours (100hr per 10 credits) | 100.00 |
Opportunities for Formative Feedback
Progress is monitored through tutorial worksheets, regular courseworkMethods of assessment
Coursework
Assessment type | Notes | % of formal assessment |
In-course Assessment | Coursework 1 | 25.00 |
In-course Assessment | Coursework 2 | 25.00 |
In-course Assessment | Coursework 3 | 25.00 |
In-course Assessment | Coursework 4 | 25.00 |
Total percentage (Assessment Coursework) | 100.00 |
This module will be reassessed by an online time-constrained assessment.
Reading list
The reading list is available from the Library websiteLast updated: 26/01/2021 17:58:21
Browse Other Catalogues
- Undergraduate module catalogue
- Taught Postgraduate module catalogue
- Undergraduate programme catalogue
- Taught Postgraduate programme catalogue
Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD