Research Assistant @ Imperial College London, interested in logic and computational complexity theory.

Name Amin Karamlou
Phone (+44) 7538303188
Office Room 558, Department of Computing, Huxley Building, South Kensington Campus, Imperial College London

About me

I am a 2018 graduate of Computer Science from Imperial College London, where I achieved First-Class honours(highest attainable) and received a prize for my master's thesis. Currently, I work as a research assistant on the road2h project at Imperial.

Alongside work I try to be an active member of Imperial's community. As a student, I was a hall senior and served on committees for both the outdoors society and DoCSoc. I also led programming tutorials for a group of 8 first year students as an undergrad TA and volunteered to teach coding to children in disadvanteged schools as part of the Schools Plus initiative.

Much of my free time is spent outdoors. In the past I've spent a lot of it rock climbing and hiking up mountains. Recently however, I've grown interested in skiing and wakeboarding.

Research Interests

My areas of interest are mainly in theoretical computer science, especially in complexity theory and logic.

Experience and Education




Selected Projects

Complexity of Bipolar Argumentationmore_vert

Master's thesis work: PDF

Complexity of Bipolar Argumentationclose

Formal argumentation aims to reason with conflicting information and derive meaningful conclusions from it. To this end, several formalisms have been developed for modelling arguments, and a number of important computational problems have been identified.

In this project we derived new complexity results for several argumentation formalisms which take support, as well as attacks between arguments into account. Additionaly, we proposed novel algorithms for calculating extensions (sets of good arguments) in these formalisms. These topics had previously been left unexplored in the literature.


Simulation of Autonomous Vehicle Networks: source code


We expect that in the near future autonomous cars will dominate our roads. Companies such as Google and Uber will have a centralised system aware of the status of each car: where it is, where it is heading, and what data its sensors collected. Such fine details allow for advanced traffic routing algorithms. For example, cars could be routed differently in order to avoid congestion.

SAVN is a web-based simulation platform allowing researchers to easily set up, visualise, and benchmark their traffic control algorithms for autonomous vehicle fleets. I completed this project with 4 friends as our third year university group project.


Waste management solution for London: source code


Four other students and I, made this webapp as part of a university project. The aim is to put independent waste providers in touch with individuals and small businesses. We developed Kerb.It with the Meteor full-stack javascript platform (uses MongoDB for data provision), and the Materialize CSS framework.

For this project we were awarded the best Human Centered Design prize by the Royal College of Arts. The judges particularly liked our market research, and how we streamlined the interface to meet the needs of our hypothetical customers according to feedback from friends and independent waste providers.


Operating Systems Coursework: source code


This project was the coursework for our Operating Systems course. I completed this task with three friends. We were given a code base containing a bootloader, a threading system with a round robin scheduler, and a basic filesystem. We were required to implement blocking wait, a priority scheduler and a multilevel feedback queue scheduler, support for user programs (loading user programs and providing system calls), and to support virtual memory.

WACC Compilermore_vert

Compilers Coursework

WACC Compilerclose

This project was the coursework for our Operating Systems course. I completed this task with three friends. We implemented an optimizing compiler for the WACC programming language to the ARM instruction set. The language is a simple procedural language, that supports functions, heap allocated arrays and tuples, and I/O. We implemented the front-end of the compiler using the flex and bison lexer and parser generators, and our custom C++ semantic checker. We also wrote our our own code generator in C++. We then extended the base language with features such as multi-file programs, optimizations such as register targeting, and constant value propagation to reduce code size.

Raspberry Pimore_vert

ARM11 emulator and assembler

Raspberry Piclose

Three groupmates and myself were tasked with an emulator and assembler in C, for a subset of the ARM instruction set. We then used those to write and assemble a LED binary counter. We also made a little timing game using 5 LEDs and a button to run on the bare metal of the Raspberry Pi.

Skills and Interests


Technical Skills


Haskell, Java, C, C++, Python, JavaScript, Assembly, Prolog, Erlang, ...

Web Development

Node, React, HTML/CSS/SCSS, Meteor, Jquery, Materialize, ...

Other Tools and Frameworks

Git, VIM, JetBrains, LaTeX, AWS, Docker, TravisCI, DroneCI, MongoDB, PostgreSQL, ...

Non Technical Skills

I am a native English and Persian speaker. I have developed my soft skills by working as part of teams in both research and industrial environments.


I love outdoor activities, in particular I spend a lot of time hiking and rock climbing. This year I plan on attempting the three peaks challenge. I've recently been trying out some new outdoor sports as well, skiing and wakeboarding are quickly becoming new favourites.


I am currently working towards an Imperial plus volunteering certificate. In my first year at university I worked as a school plus tutor. This is a national program aimed at reducing educational inequality by providing free tutoring at schools in less privileg areas. During my second year I worked as a hall senior, helping incoming students transition into life at university. Prior to university I volunteered as a mentor to international students at my school, to help them settle into life in the UK.