Hello, my name is Hans-Nikolai Vießmann, and I am a computer scientist. Since 2015, I have been working on my PhD in Robotics and Autonomous Systems as part of a joint degree between the University of Edinburgh and Heriot-Watt University. My research interests include Functional Programming, GPGPUs, and Data Streaming to Accelerators. I am a driven and disciplined young individual who enjoys working on, around, and with computers.

Here are some things about me:

  • I am German
  • I enjoy going to the cinema
  • I love riding my bicycle
  • I love heavy metal
  • I love food & spirits

This information may not be 100% up-to-date, more recent information can be found on

Work Experience

August 2019 - Present: PhD Candidate

Radboud University, Nijmegen, NL.

  • In addition to research, I help teach in several CS courses.
  • For further details see the Education section

September 2015 - Present: PhD Candidate

Heriot-Watt University & University of Edinburgh, Edinburgh, UK.

  • In addition to research, I help teach in several CS courses.
  • For further details see the Education section

November 2015 - Present: Systems Administrator

Edinburgh Centre for Robotics, Edinburgh, UK.

  • I manage and administrated the Robotarium Cluster at Heriot-Watt University.
  • This work is voluntary, unpaid.

January 2012 - September 2014: PC Engineer

TechFix, Edinburgh, UK.

  • Configured and administrated servers for web and mail hosting
  • Technical support for customers

June 2013 - July 2013: Internship

CloudReach, Edinburgh, UK.

  • DevOps and Customer Support
  • AWS and Google Business Services Training


September 2015 - Present: PhD Candidate

Heriot-Watt University & University of Edinburgh, Edinburgh, UK and Radboud University, Nijmegen, NL.

Topic: My research focuses on resolving challanges in translating a high-level programming language to GPGPU code using code-generation techniques in the context of a optimising compiler.

Programme is a joint/double degree from three institutions.

Publications: see for a more up-to-date list...

September 2014 - August 2015: MSc. Res.

Heriot-Watt University & University of Edinburgh, Edinburgh, UK.

Programme: Artificial Intelligence and Autonomous Systems
Thesis: An Investigation into the Performance Portability between Single-Assignment C and OpenCL.

September 2010 - August 2014: BSc. Hon.

Heriot-Watt University, Edinburgh, UK.

Programme: Computer Science
Disseration: Analysis of Wi-Fi P2P networking in Android

September 2008 - May 2010: International Baccalaureate Diploma

International School Basel, Basel, CH.

Extended Essay: An Investigation into Botnets
Higher Level Classes: Maths, Physics, Economics


Web Development

I have created several websites, or have helped create websites. Most were personal in nature, or as part of a project. I have also helped create a web page for a business as well (TECHFIX). I am a capable HTML, CSS, JavaScript, PHP, and Ruby developer.

Teamwork & Communication

I have been part of many group based projects. Some of these projects were think-tank style operations with no resulting final product. Others included extensive design and prototyping phases with several amendments and alterations to a final product.

Programming & Software Engineering

I am proficient in several programming languages including C, C++, Java, PHP, bash/zsh, etc. I am very familiar with various data-strucutres and patterns. Aditionally I have been specialising in multi-threaded development and associated aspects.

Network Design & Engineering

Good understanding of major networking protocols and their basic functionality, such as TCP, UDP, IP, SSH, DNS, etc.. I have used or use these and more protocols on a daily basis.

Time Management & Organization

I have a strict sense of duty and find myself obligated to completing an assignment to the best of my capabilities within the times given. I try my best to be as organized as possible.

Advanced IT/Server Usage

I have a good deal of experience in using not just Windows but a variety of *nix based operating systems as well. I am very good with the *nix terminal and its associated programs. I run several servers each with different functions (backup, web-hosting, VPN, etc.).