School of Electronic Engineering and Computer Science

People menu

Dr Nikos Tzevelekos


Senior Lecturer

Telephone: +44 20 7882 6974
Room Number: Peter Landin, CS 434
Office Hours: Wednesday 14:00-16:00


Algorithms and Data Structures in an Object-Oriented Framework (Undergraduate)

Algorithms are "ways of doing something", data structures are ways of combining collections of data to form a coherent whole. Many algorithms are about processing collections of data; an obvious example being to re-arrange a collection to put it in some sorted order. This module will introduce the basic concepts of algorithms and data structures expressed using the Java programming language.Java is an object-oriented language, and the object-oriented style is recognised as a good way of both breaking down a program into coherent parts, and generalising these parts so they may be re-used in a variety of contexts. This module introduces algorithms and data structures in an object-oriented framework. A key theme is the idea of "abstraction": being able to separate out the way a program component works in interaction with other components from what goes on underneath to make it work.The module is intended for those who have already covered the basics of programming, and wish to move on to use and develop their programming skills for designing and constructing components of programs of a larger scale.

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.


Research Interests:

I am a Senior Lecturer in Computer Science. 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


Return to top