Explore UCD

UCD Home >

COMP31020

Academic Year 2025/2026

Formal Foundations 3 (COMP31020)

Subject:
Computer Science
College:
Science
School:
Computer Science
Level:
3 (Degree)
Credits:
5
Module Coordinator:
Professor Liam Murphy
Trimester:
Autumn
Mode of Delivery:
Blended
Internship Module:
No
How will I be graded?
Letter grades

Curricular information is subject to change.

This module covers a branch of computer science called language and automata theory, focusing on concepts from computing theory and complexity theory. In particular, it discusses computation models (finite automata, regular expressions, pushdown automata, Turing machines), undecidability (what can be computed at all?), and intractability (how fast can it be computed?).

The student will come to understand how these theories relate to, and are used in, everyday practice. Students learn concepts, tools, and techniques individually through a series of written exercises. There are weekly tutorial sessions with demonstrator support.

About this Module

Learning Outcomes:

On completion of this module, students should be able to:
- Define and use general concepts like computation, algorithm, and language;
- Work with several models of computing including finite state machines, Turing machines, and automata;
- Use appropriate computation models for real applications;
- Understand and use notions of computability and decidability, and their limits;
- Understand and explain the relationships between mathematical proof and computation.

Indicative Module Content:

The topics covered in this module include:
1. Regular Languages (Finite Automata, Regular Expressions)
2. Context-free Languages (Pushdown Automata, Context-free Grammars)
3. Recursively Enumerable Languages (Turing Machines)
4. Undecidability (Does a computer solution/algorithm exist?)
5. Intractability (Can it be solved fast enough?)

Student Effort Hours:
Student Effort Type Hours
Lectures

24

Tutorial

20

Autonomous Student Learning

76

Total

120


Approaches to Teaching and Learning:
Lectures; tutorial sessions; written exercises; multiple in-class tests.

Requirements, Exclusions and Recommendations
Learning Requirements:

Students should have a sound knowledge of mathematics (including set theory, functions and relations, logic, and basic proof techniques) to take this module.

Learning Recommendations:

It is STRONGLY RECOMMENDED that students take and pass all first and second stage theory modules in CS before taking this module. If a student has not successfully completed these modules, they should consult the Module Coordinator BEFORE registering for COMP31020.


Module Requisites and Incompatibles
Pre-requisite:
COMP20110 - Discrete Maths for Comp. Sci., COMP20360 - Formal Foundations 2

Additional Information:
Students must have one of the pre-requisites.


 

Assessment Strategy
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Exam (In-person): In-person written test End of trimester
Duration:
2 hr(s)
Alternative linear conversion grade scale 40% No
45
No
Quizzes/Short Exercises: In-class in-person written test Week 5, Week 9 Alternative linear conversion grade scale 40% No
55
No

Carry forward of passed components
Yes
 

Resit In Terminal Exam
Spring No
Please see Student Jargon Buster for more information about remediation types and timing. 

Feedback Strategy/Strategies

• Feedback individually to students, post-assessment
• Group/class feedback, post-assessment

How will my Feedback be Delivered?

Not yet recorded.

Name Role
Mr Austen Ugweches Ii Tutor

Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Autumn Lecture Offering 1 Week(s) - Autumn: All Weeks Tues 13:00 - 13:50
Autumn Practical Offering 1 Week(s) - Autumn: All Weeks Wed 09:00 - 10:50
Autumn Lecture Offering 1 Week(s) - Autumn: All Weeks Wed 11:00 - 11:50