Robot Programming (PLV 2) syllabus#

2 SWS, 3 ECTS, in degree program KI Bachelor

Intended learning outcomes#

The purpose of the course is for you (the student) to learn to:

  • design and compare different solutions for a robotics problem

  • model and implement a solution in a given robot programming framework

  • relate the behavior of an implementation in simulation and real world

  • structure their ideas and document their solutions in a reproducible way using a modern documentation framework


  • Fundamental programming tools (e.g, control flow, data structures, functions)

  • Beneficial: experience with Python or C++

Content (What we do to reach the learning outcomes)#

  • Programming using ROS (Robot Operating System) framework and Turtlebot3

  • Various robotics challenges including navigating through a maze

  • Collision avoidance using Q-learning

  • Documentation using Sphinx

  • Reproducible results using Docker

Didactic methods#

Seminar-like with mini projects each solving a different problem.

  • The instructor gives the required introductions during the contact hours.

  • The students self-study the tutorials and work on the mini projects optionally in a peer programming setting.

  • The results are demonstrated and discussed during contact hours.


The examination is based on the intended learning outcomes.

Project work (PStA, marked with 1 to 5) comprising:

  • the solutions (code) to the challenges

  • code documentation and project report using GitLab and Sphinx

  • solution presentations

There will be a deadline for each challenge. After the deadline each group will present their results on the robots, which will be graded.

The written reports will be submitted after three weekends after the end of the course. The written report must include a link to your code repository and documentation.


You can work on the challenges in groups of two or one. Groups may not help each other and must not exchange any code. The goal is that every group/student goes through the process of problem solving separately which is part of the course learning goal.

Even you collaborated with someone for the challenges, each student is responsible for writing a separate report so that every student can practice writing.

Mention the name of your partner in your report if you have collaborated.

The submitted codes may be checked with a software plagiarism software by the instructor.


Time & Room#

This course usually takes place in the two weeks before the summer semester starts.

Presence is required, because we will be working with physical robots. For room details refer to Moodle.