Nico Ritschel

I am a Ph.D. student at the University of British Columbia, co-supervised by Reid Holmes and Ron Garcia. I do research that is on the brink of Software Engineering and Programming Languages like language design, static analysis and program transformations. I am interested in the theoretical aspects that lay the foundation for these topics, as well as empirically measuring the impact they have on developers.

I grew up in the beautiful city of Mannheim in Germany, and studied and worked in the not as beautiful but academically more promising city of Darmstadt. I finished my undergraduate eduation and my Master's degree at the Technische Universität Darmstadt. In Spring 2016 I went on an exchange term to Simon Fraser University where I had a unique chance to experience Canada both as a student and as a long-term tourist. About one year later, I moved to Vancouver to continue my studies in Canada.


Netzstützende Speicherbewirtschaftung im Verteilnetz mittels der Speicherhandelsplattform SOLVER

Lukas Glotzbach, Nico Ritschel, Klaus-Martin Graf and Johannes Gerdes

Kurzfassungsband des 14. Symposium Energieinnovation. Technische Universität Graz.


Modular capture avoidance for program transformations

Nico Ritschel and Sebastian Erdweg

Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering. ACM.



Teaching Assistant

University of British Columbia

Teaching assistant in lectures "Definition of Programming Languages", "Introduction to Compiler Construction" and "Software Construction".

Responsible for holding tutorial sessions and office hours; design and grading of assignments; grading of midterms and final exams.

Since September 2017

Research Fellow

Hochschule Darmstadt,
Faculty of Electrical Engineering and Information Technology

Full-time research fellow in project “Flex4Energy” in cooperation with two Fraunhofer Institutes (IESE and ISE) and industry partners.

Responsible for design and specification of communication interfaces and 
 algorithms for a distributed market platform for power resources in energy grids.

January - August 2017,
September - December 2015

Teaching Assistant

Technische Universität Darmstadt

Teaching assistant in lecture “Concepts of Programming Languages”.

Responsible for holding tutorial sessions and office hours; design and grading of online programming exercises and support in creating tasks for the final exam.

October 2016 - March 2017,
April - September 2015

Exchange Student Tutor

Technische Universität Darmstadt

Official university tutor and advisor for incoming exchange students.

Planning of events for incoming exchange students, academic advice for computer science students and support in issues regarding studying and living in Germany.

August - October 2016

Undergraduate Research Assistant

Hochschule Darmstadt,
Faculty of Electrical Engineering and Information Technology

Student research Assistant in project “Energy Storage Optimization in Local Distribution Grids (SolVer)” in cooperation with industry partners.

Responsible for development of interfaces for communication with a network-
 enabled battery, as well as back-end and front-end development for a prototype of a web-based energy storage trading platform.

April 2012 - August 2015


University of British Columbia

Ph.D. Computer Science
Software Practices Lab
Supervised by Reid Holmes and Ron Garcia
Since 2017

Technische Universität Darmstadt

M.Sc. Computer Science
Software Technology Group
Thesis "A Meta Representation for Reactive Dependency Graphs", supervised by Mira Mezini and Ragnar Mogk

Technische Universität Darmstadt

B.Sc. Computer Science
Thesis "Modular Hygienic Program Transformations", supervised by Mira Mezini and Sebastian Erdweg

Personal Interests

Living in Vancouver fortunately gives me easy access to outdoor activities like running, hiking, snowboarding and camping. I have hiked a fair selection of intermediate and advanced Vancouver trails, but my proudest hiking achievement (and most stunning hiking experience) was reaching to the top of the Half Dome in Yosemite Valley in the US. I also enjoy rock climbing, although I blasphemously prefer belayed indoor climbing over the multitude of outdoor climbing areas that are available close-by.

In Spring 2018, I have taken over the role of UDLS czar for the CSGSA. In this position, I beg bribe encourage other grad students on a weekly basis to give talks about anything they are interested in except their own research. When my attempts are successful, the results are often very informative and entertaining.

Despite spending significant time in front of a screen for work, I still enjoy playing video games. I don't mind either calm or action-heavy games, as long as they also give me an interesting narrative experience. This also causes my two favorite games to be very constrasting: Life Is Strange and the Souls-franchise.

I am also an avid listener of several podcasts, preferably ones that take an analytical "meta"-perspective on interesting topics. In particular I enjoy the German podcasts The Pod and Stay Forever that talk about video game design and the industry that makes them, as well as Methodisch Inkorrekt that discusses selected papers and general developments in academic research outside of computer science.