Teaching

CO7214 Service-Oriented Architectures

Year 4 and MSc term 2 module, University of Leicester

Module: This module introduces the conceptual and technological foundations of Service-Oriented Architectures, covering service design, modelling, implementation, testing, and evaluation. Students work with architecture specifications, service interface descriptions, REST APIs, and related technologies, connecting high-level service models with implementation-level representations such as OpenAPI, XML/WSDL/SOAP, JSON, and REST. Read more
My role: I contributed to the practical and assessment-led delivery of the module, including lab supervision and demonstration, group project supervision, assessment design, marking, feedback, and moderation. I supported cohorts of up to 150 students, including double-taught delivery, and supervised group-based service design and implementation work with teams of up to 10 students. My responsibilities included supporting OpenAPI specification, architecture specification, REST API project development and evaluation, and reflective assessment activities. I also helped develop assessment specifications and marking criteria, contributed to the evaluation of LYNX low-code projects, and later supported projects implemented in students’ chosen programming languages. Read more

Years taught: 2022/23–2025/26

CO1108 Foundations of Computation

Year 1 term 2 undergraduate module, University of Leicester

Module: 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. Read more
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. Read more

Years taught: 2022/23–2025/26

CO2101 Operating Systems and Networking

Year 2 term 1 undergraduate module, University of Leicester

Module: This module introduces core operating systems and networking concepts, with a practical focus on Linux-based computing environments. Students develop an understanding of processes, memory management, file systems, concurrency, internet protocols, networking APIs, and communication between computers, alongside hands-on experience using the Linux command line and scripting tools. Read more
My role: I supported the practical delivery and quality assurance of this large-cohort undergraduate module as a lab demonstrator and module tester. Before each lab, I completed and tested the practical assignments to help ensure that the exercises, scripts, and Linux-based environments worked as intended. During labs, I supported students with Linux command-line usage, file system operations, Bash scripting, basic Python scripting, and introductory operating systems concepts such as process creation, forking, and multi-threading. The module involved cohorts of around 440 students and was often delivered through multiple repeated lab sessions, with a small demonstrator team supporting a high volume of practical questions. This required sustained preparation, responsiveness, and resilience in a demanding teaching environment. Read more

Years taught: 2022/23–2025/26

CO4217-CO7217 Agile Cloud Automation

Year 4 and MSc term 1 module, University of Leicester

Module: This module combines cloud systems engineering, NoSQL data management, agile software development, and model-driven approaches to low-code platform design. Students explore scalability and consistency in cloud-based systems, work with NoSQL technologies such as MongoDB, and develop an understanding of how domain-specific languages, parsing, model transformations, and associated tooling can support the design and implementation of low-code development platforms. Read more
My role: I supported the practical, technical, and assessment delivery of the module, with responsibilities spanning lab testing, technical debugging, VM resource management, group supervision, marking, and feedback. Before lab release, I tested the practical materials on the virtual machine environment to identify configuration, dependency, and execution issues. I was also given access to the VM control panel to register students and manage quotas. During labs, I provided technical support for VM access, IDE configuration, project execution, Groovy code, MongoDB integration, and low-code explicit traversal tasks, as well as logical support for understanding and debugging student source code. For coursework, I supervised up to 20 groups of 4–6 students, providing formative guidance on assessment requirements without directly fixing assessed code. I later marked group presentations and projects, providing both individual and group-level feedback. I also contributed to contingency planning during a firewall-related disruption that blocked access to the virtual machines, helping adapt the lab setup so that students could continue running the module code locally. Read more

Years taught: 2022/23–2025/26

CO4225-CO7225 Data-Driven Intelligent Service Design

Year 4 and MSc term 2 module, University of Leicester

Module: This module introduces HCI and data-driven approaches to intelligent service design. Students examine service design methodologies, develop prototypes for data-driven intelligent systems and services, and evaluate their ideas through user-centred research methods, including research protocols, study instruments, user journeys, diaries, reports, and prototype presentations. Read more
My role: I supported the practical and assessment delivery of the module through lab support, formative guidance, marking, and feedback. I helped students translate early-stage service ideas into clearer HCI artefacts and prototype plans, including methodology templates, mind maps, user journeys, diary-based study materials, research protocols, and prototype designs. Much of my support focused on helping students move beyond template completion toward more creative, evidence-based, and user-centred design work, while encouraging appropriate and critical use of AI tools. I also contributed to assessment evaluation by marking written and prototype-based submissions, providing feedback on the clarity, methodological rigour, feasibility, and presentation of students’ data-driven intelligent service concepts. Read more

Years taught: 2023/24–2024/25

CO7093 Big Data and Predictive Analytics

Year 2 and 3 undergraduate term 2 module, University of Leicester

Module: This module introduces large-scale data analysis and predictive analytics, with a practical focus on Python-based data processing, machine learning, clustering, model evaluation, and technical reporting. Students work with structured and unstructured data, apply techniques such as MapReduce-style processing and predictive modelling, compare different modelling approaches, and evaluate results through experiments and written analysis. Read more
My role: I supported the online practical and assessment delivery of this large-cohort module as a lab demonstrator, breakout-room facilitator, and marker. In online labs for cohorts exceeding 400 students, I helped students understand practical tasks, work through Python-based machine learning problems, interpret model outputs, and debug source code. My support covered data preprocessing, exploratory analysis, random forests, linear models, k-means clustering, and result interpretation. I also marked group technical reports that assessed data analysis, preprocessing, predictive modelling, clustering, evaluation, and academic writing. I provided detailed written feedback on both technical implementation and report quality, with particular attention to the clarity of experimental design, interpretation of results, and presentation of analytical findings. Read more

Years taught: 2022/23