Skip to main content
School of Electronic Engineering and Computer Science

Dr Nikos Tzevelekos


Senior Lecturer

Telephone: +44 20 7882 6974
Room Number: Peter Landin, CS 434


I am a Senior Lecturer in Computer Science. My research is on theoretical computer science.

I study the mathematical meaning of computation. I devise mathematical models of programs and computational processes, and examine applications of these models to program analysis and verification.


Algorithms and Data Structures (Undergraduate)

The module is an introduction to Algorithms and Data Structures. It covers topics such as running time of algorithms, asymptotic complexity, simple and advanced sorting algorithms, divide and conquer algorithms, recursion, dynamic programming, greedy algorithms, basic data structures (strings, arrays, lists), linked lists, trees, hash tables.

Automata and Formal Languages (Undergraduate)

Automata and formal languages are fundamental concepts in Computer Science. Automata are abstract machines that are used for representing computational processes in a mathematically precise fashion. Moreover, any device interacting with the outside world, whether a simple program or a complex system, requires well-defined, formal input and output languages. We will study automata and their relationship with formal languages and grammars.

Logic in Computer Science (Postgraduate)

The module introduces students to Mathematical Logic concepts and their use in Computer Science. The topics covered include: - Propositional Logic and Introduction to Critical Thinking - Solving SAT instances. DPLL algorithm, validity, satisfiability, SAT solvers - Temporal Logics. For example: Linear Temporal Logic, Computation Tree Logic, model checkers (e.g. SPIN) - Predicate Logic. First-order logic, syntax and semantics, satisfiability, SMT solvers - Program Logics. For example, Hoare logic. The module will include exercises and hands-on practicals e.g. using SAT solvers and model checkers.


Research Interests:

My focus is on Theoretical Computer Science and in particular I study the mathematical meaning of computation. I devise mathematical models of programming languages, expressed in game semantics at the concrete level and in category theory at the abstract level. Moreover, I examine applications of these models to program analysis in order to develop methods and tools for formally analysing and checking software.

- Program analysis
- Game semantics
- Denotational semantics
- Automata over infinite alphabets


Back to top