CO1108 Foundations of Computation
Year 1 term 2 undergraduate module, University of Leicester, 2025
Years taught: 2022/23–2025/26
Level: Year 1 undergraduate
Summary: This module introduces the theoretical foundations of Computer Science, including formal languages, grammars, automata, Turing machines, and computational complexity. Students learn to classify formal languages, construct simple computational models, reason about deterministic and non-deterministic automata, and connect grammars with the machines that recognise or parse them.
My role: I supported the tutorial and assessment delivery of this large-cohort undergraduate module, working with students on formal languages, regular and context-free grammars, deterministic and non-deterministic finite automata, pushdown automata, Turing machines, and introductory complexity classes. I helped students develop problem-solving techniques for constructing and interpreting computational models, including translating between grammars, languages, and automata. The module involved cohorts of up to 500 students and a tutorial team of around 10 staff. I also contributed to invigilation, class test and examination marking, and mark collation across hybrid assessments, combining marks from online submissions and physical examination booklets in the Blackboard VLE.
