About me

I am a mathematician and computer scientist with huge interest in basically all things "sciency". Currently I am working on startup projects and as a consultant for artificial intelligence and data science. If you have an interesting project where I might be of help to you, please feel free to contact me . You can find my CV below.

CV

Experience

since 07/15
Artificial intelligence consultant. AI, machine learning and data science projects using Python, Scala, Clojure, C++, TensorFlow, Spark,...
11/14 - 12/15
CTO, Shelfsailor UG, www.shelfsailor.com. Development of a sharing economy plattform for storage space.
01/11 - 06/15
Research assistant, RWTH Aachen University , Chair of Operations Research . Technical project leader of the project “carpe diem!”, a cooperation with TU Berlin to establish an automated timetabling system at RWTH. Finishing a PhD (Dr. rer. nat.) with the thesis “Decomposition of Integer Programs with Matchability Structure”.
10/09 – 03/10
Student Assistant, TU Kaiserslautern, Faculty of mathematics. Tutor for the lecture “Grundlagen der Mathematik 1” (foundations of mathematics 1)

Education

10/06 – 12/10
Diploma in mathematics, Technische Universität Kaiserslautern, GPA 1,1 (very good). major: mathematical optimization, minor: computer science, diploma thesis: „Train Marshalling Problems – Algorithms and Complexity“
08/08 – 05/09
Exchange year, NU Singapore.
08/97 – 05/06
Abitur (A levels), Kronwerk Gymnasium in Rendsburg, GPA 1,2 (very good).

Languages

German
Mother tongue
English
Very good

IT skills

Very good
C++, Clojure, CPLEX, Gurobi, Java, LATEX, Python, Scala, SCIP, Spark, SQL, TensorFlow
Good
AWS, CoffeeScript, CSS, Docker, GCloud, HTML, JavaScript, Linux, Matlab, MongoDB, MS Office, MS Windows, OS X, R, Redis, Ruby

Publications

This is a list of the published works I have produced so far (research papers and theses). They are ordered by recency.

  • Dahms, F. H. W. Decomposition of Integer Programs with Matchability Structure. RWTH Aachen, Lehrstuhl für Operations Research, 2017. [doi] [pdf]
  • Bohlin, M., Gestrelius, S., Dahms, F., Mihalák, M., and Flier, H. Optimization methods for multistage freight train formation. Transportation Science, 2015. [doi]
  • Sørensen, M. and Dahms, F. H. W. A two-stage decomposition of high school timetabling applied to cases in Denmark. Computers & Operations Research, 43: 36–49, 2014. [doi]
  • Bohlin, M., Gestrelius, S., Dahms, F., Mihalák, M., and Flier, H. Optimized shunting with mixed-usage tracks. 2013. Technical Report T2013:06. [pdf]
  • Bohlin, M., Dahms, F., Flier, H., and Gestrelius, S. Optimal Freight Train Classification using Column Generation. In Proc. 12th Workshop on Algorithmic Approaches for Transportation Modelling, Optim., and Systems (ATMOS 2012), volume 25, pages 10–22, Dagstuhl, Germany, 2012. Schloss Dagstuhl– Leibniz-Zentrum für Informatik. [doi] [pdf]
  • Beygang, K., Krumke, S. O., and Dahms, F. Train marshalling problem – algorithms and bounds.  Technische Universität Kaiserslautern, Fachbereich Mathematik, 2010. [pdf]
  • Dahms, F. H. W. Train Marshalling Problems - Algorithms and Complexity. Technische Universität Kaiserslautern, Fachbereich Mathematik, 2010. [pdf]

MOOCs

Probably one of the greatest recent innovations in the world of education are flipped classroom teaching and massive open online courses (MOOCs). I never really got the concept of a lecturer repeating the same material every year (too often with a decrease in quality and engagement going hand in hand with an increase in age of the teacher). Finally people have started to make a sensible move and create videos of their teaching - and what is even better, many of them are putting these materials online, often for free.

By now there are a couple of platforms hosting online lectures (some free, some paid):

  • edX: A collaborative project of some of the worlds top universities. In my experience courses on edX are of a better average quality than those I attended on other plattforms.
  • Coursera: Large platform with many courses, ranging from really good to very mediocre.

Below is a list of some courses I attended. I also provide a short impression that I got from the course. Of course these are based on the course material that was available when I attended, so these statements do a) reflect the course at the time I took it and b) are my subjective opinions.

CS169.1x & CS169.1x: Software as a Service

Taught by: Armando Fox & David Patterson (UC Berkeley)

Brief description: the course is a tour de force through many disciplines of software engineering. It covers user stories, test driven development, agile techniques, working with legacy code, and many more things that are often left out in academical education but are so crucial to being a good programmer. In fact I would say that this was the course that transformed me from a shitty hacker into a proud and proper software engineer.

Links to course offering of part 1 and part 2; links to certificates that I completed part 1 and part 2.

Introduction to Databases

Taught by: Jennifer Widom (Stanford University)

Brief description: in depth course about the theory and practice of (mainly relational) databases, also covering data formats like XML and JSON. After this course you will have a good background knowledge to create data models and setup databases on your own.

Link to course offering; link to my Statement of Accomplishment.

CS191x: Quantum Mechanics and Quantum Computation

Taught by: Umesh Vazirani (UC Berkeley)

Brief description: the course gives a good background about the mathematics behind quantum mechanics and the concepts needed to understand qubits and quantum algorithms. It is very challenging as the subject is not an easy one, but given the complexity of the topic I think the course does a very good job in giving you all the necessary means to understand the material. I definitely gained a lot of insight into this amazing world that somehow governs how reality works but is still so far from our everyday experience. I would love to see quantum computing turning into real life applications within my lifetime.

Link to course offering; link to my Statement of Accomplishment.

24.00x: Introduction to Philosophy: God, Knowledge and Consciousness

Taught by: Caspar Hare (Massachusetts Institute of Technology)

Brief description: the course covers some basic philosophical concepts: how to build logical arguments, what it means to know something, whether it is possible to know things, what is consciousness and what it means to have free will. It gives a good overview of these topics and encourages to think about these fundamental concepts. I very much liked the course.

Link to course offering; link to my Statement of Accomplishment.

Introduction to Mathematical Philosophy

Taught by: Hannes Leitgeb & Stephan Hartmann (LMU München)

Brief description: the course covers some more mathematical aspects of philosphuy (or more philosophical aspects of mathematics). It consists of several formal problems and paradoxes like the Zeno Paradox, the Monty Hall problem and the theory of voting around Arrows Theorem. As it does not require a mathematical background it is well suited for beginners but as the covered topics are often quite capturing it is still interesting for someone with a math major.

Link to course offering; link to my Statement of Accomplishment.

Technology Entrepreneurship

Taught by: Chuck Eesley (Stanford University)

Brief description: the course gives a basic introduction into business model creation, evaluation of market potential and entrepreneurial planning in general. It very much follows the lean start up mentality and focuses very much on team assignments and communication within the course community. Most material did not go much in depth but the course is a proper overview for people new in the entrepreneurship world.

Link to course offering; link to my Statement of Accomplishment.

An Introduction to Operations Management

Taught by: Christian Terwiesch (University of Pennsylvania)

Brief description: this course gives an introduction into basic topics of operations management like queuing theory and calculation of batch sizes. With a background in mathematics most of these materials are very trivial calculations but it is interesting to see some of the applications and to get some understand of how and when certain methods can be applied in practice.

Link to course offering; link to my Statement of Accomplishment.

Computational Investing, Part I

Taugh by: Tucker Balch (Georgia Institute of Technology)

Brief description: the course explains some methods for evaluating portfolios and for creating models for financial markets. It did not go much in depth and the covered material was not very advanced. Furthermore the whole course was more of a work in progress and did not just lack some polishing. Overall I think this course did not provide much knowledge for me.

I could not find a working link to a current course offering; link to my Statement of Accomplishment.

About this page

This page is my little bit of internet real estate which I try to slowly expand, depending on the time I can spare. It was created using the awesome Middleman Gem and is just a collection of static pages (go on, try your DoS attack).