Skip to content


Welcome to Theory of Computation (5002CEM).

I am Dr Kamal Bentahar, your module leader. I am excited to work with you over the coming 12 weeks to explore the foundations of Computer Science (CS).

If you wish to contact me by email then use: ab3735 at You can also message me on Aula or Teams.

My office hours can be found at

About this module

Our main aim in 5002CEM is to study the foundations of Computer Science (CS). This means we will use abstraction to describe our "computation machines" then make conclusions and predictions about their abilities and limitations.

Teaching and Learning

  • Each week we start with a pre-class activity which you do on your own, to get you started thinking on the week's topic.
  • We then go into the lecture. You get slides (PDF format) and a series of videos that go through the slides to explain them in detail.

    Material for these can be found under 📚 Weekly materials in the left-side navigation bar.

  • There is a "live lecture" on Wednesdays 11am-1pm in ECG-24. These cover the theory and show some examples.

  • Pre-recorded lectures can be accessed online. These have been broken such that each video covers one or a small number of related topics.
  • The lab then follows with exercises. These are split into 3 levels (with increasing level of challenge), and hints are given to guide you.
  • The labs give you the opportunity to practise and study the lectures' material. You are meant to try the exercises on your own, before the timetabled session, and then discuss your work in the lab and/or seek help with anything you have left.
  • Written solutions are released at the end of the week. Videos to further explain some selected exercises are also provided, and more may be produced upon request.
  • Finally, you are encouraged to reflect on the week's learning.

All of the week's activities are important. In particular, reflection is very important because it helps you link the various topics together, and makes you ponder on the real meaning of what you have studied abstractly, and link it back to the practical aspects.

Weekly materials


There are two summative assessments:

  1. Phase Test (Moodle quiz)
  2. TCA (Time Constrained Assessment)

You can find more details at:


Introductory video

Please watch the following introductory video to learn more about what to expect over the next 12 weeks.

Please note that this was recorded during the period when we were doing remote teaching. Some details about delivery are now different because we are back to face-to-face teaching.

I want to know more...

Please look at the Module Guide for details on the aim of the module, the Intended Module Learning Outcomes (ILOs), the weekly learning schedule, and some resources that you can use (Reading list and JFLAP).

Visit the Module Guide page