Autonomous Driving Software Engineering (Modul MW2472, online)



Available online

In the summer term, the lecture is held in-person and additionally recorded per video. In the winter term, the lecture is entirely held online, in addition to the recorded lecture, an online consulting session will be offered.

Available online via: Autonomous Driving Software Engineering

Lecturer (assistant)
Duration2 SWS
TermSommersemester 2024
Language of instructionEnglish
Position within curriculaSee TUMonline
DatesSee TUMonline

Admission information


After participating in the course, students will have a comprehensive overview of the software modules and further essential components of autonomous driving. The students will be capable of selecting and applying the appropriate method from the state of the art for each software module. Moreover, they will have a deep understanding of the functionality. Through active programming tasks, the students will gain the ability to implement the associated methods, interpret their functionality, and improve them in response to current challenges. Students can describe further essential components of software development and apply them purposefully to the respective problem.


In this lecture, all relevant aspects surrounding software development for autonomous driving are covered, and the associated practical application is demonstrated. 1. Introduction Historical overview, levels of automation, modular software-stack, actuators and sensors 2. Software Tools Git, ROS2, Docker 3. Perception I: Mapping SLAM, HD maps 4. Perception II: Localization GPS, filter, visual localization 5. Perception III: Object detection Datasets, object types, detection algorithms (lidar, camera, etc.), sensor fusion 6. Prediction Levels of prediction, knowledge- and learning-based approaches (graphs, transformer, etc.) 7. Planning I Navigation task, search methods 8. Planning II Cost function, decision function, trajectory generation 9. Control Controlled variables, classic controllers, MPC 10. Safety assessment Scenario tests, virtual safeguarding, supervisor principle 11. Teleoperated driving Concept, connection approaches, user requirements 12. Simulation Foundations and necessity, simulation environments, combining software modules


Attending the lectures Basics of Automotive Technology, Artificial Intelligence in Automotive Technology, Advanced Driver Assistant Systems or similar offerings are recommended but not a prerequisite for participation in this course. However, basic knowledge of the Python programming language is necessary and a prerequisite for understanding the coding sessions during the exercise. If this is not the case, we recommend participating in an online Python course, such as (

Teaching and learning methods

In this course, theoretical foundations are conveyed through lectures and exercises. During the lecture, specific questions are posed that require a transfer of knowledge from the students, offering them the opportunity to participate in the discussion. This approach aims to foster critical thinking with respect to individual software modules for autonomous driving and to allow a transfer of the gained knowledge to additional problem statements. Software examples are explained in the lecture, which the students can actively program as part of the exercises. These code examples represent the practical applications of the methods outlined and link theory with practice. Hence, students are introduced to the holistic software development process. After each lecture, corresponding learning and programming tasks are provided as homework to cover the topics presented and to deepen the acquired knowledge. Through this approach, students have the opportunity to improve their skills in using the Python programming language.


In a written examination (duration 90 minutes), the competencies conveyed are to be applied to the problems of the functional modules for autonomous driving and transferred to further advanced tasks. As an example, within the exam students should be able to select appropriate methods and algorithms from the field of path planning and explain their functionality afterwards. Furthermore, the transfer to new problem statements is expected. The allowed tool for this examination is a calculator (non-programmable). By completing the homework assigned after the lecture, achieving 50% correct results (calculated from the average percentage of points scored across all homework) can result in a grade bonus according to APSO §5, paragraph 5.

Recommended literature

S. Pendleton et al., “Perception, Planning, Control, and Coordination for Autonomous Vehicles”, Machines, vol. 5, no. 1, p. 6, 2017, doi: 10.3390/machines5010006. M. Maurer, B. Lenz, H. Winner, and J. C. Gerdes, "Autonomous Driving: Technical, Legal and Social Aspects". s.l.: Springer, 2016. D. Watzenig, M. Horn, "Automated Driving: Safer and More Efficient Future Driving", Springer International Publishing, 2017. A. Faisal, T. Yigitcanlar, M. Kamruzzaman, and G. Currie, “Understanding autonomous vehicles: A systematic literature review on capability, impact, planning and policy,” JTLU, vol. 12, no. 1, 2019, doi: 10.5198/jtlu.2019.1405.