Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Python Algorithms for Automotive Engineering

This repository contains jupyter notebooks and python code for KIT course: Python Algorithms for Automotive Engineering. Please find the course syllabus here.

Build Status Build Status

Table of contents

1. Introduction

1.1 Introduction; 1.2. Python installation

2. Basic python

2.1. Syntax; 2.2. Semantics; 2.3. Data types; 2.4. Conditions and loops; 2.5. Functions; 2.6. Classes; 2.7. Modules

3. Tools and packages

3.1. Tools for Python; 3.2. Plot packages; 3.3. NumPy; 3.4. SciPy; 3.5. SymPy; 3.6. Scikit-Learn; 3.7. Additional packages

4. Software development

4.1. Git, Github; 4.2. PyTest; 4.3. Sphinx; 4.4. Continuous Integration; 4.5. Clean Code; 4.6. Workflows

5. Mini projects

5.1. Ordinary Differential Equations; 5.2. Vehicle model calibration; 5.3. e-Vehicle powertrain modeling; 5.4. Deep learning

Video lectures

In addition to the course material above please find here links to video lectures in German language. The text in parenthesis denotes time of video and additional time for exercises.

Lecture 01: Warm welcome (17min); 1.1 Introduction (24min); 1.2. Python installation (34min + 45min practice)

Lecture 02: 2.1. Syntax (22min + 10min practice); 2.2. Semantics (23min)

Lecture 03: 2.3. Data types (28min + 15min practice); 2.4. Conditions and loops (22min + 15min practice)

Lecture 04: 2.5. Functions (26min + 10min practice); 2.6. Classes (19min); 2.7. Modules (11min + 5min practice)

Lecture 05: 3.1. Tools for Python (31min + 25min practice); 3.2. Plot packages (20min + 10min practice)

Lecture 06: 3.3. NumPy (46min + 20min practice); 3.4. SciPy (42min)

Lecture 07: 3.5. SymPy (20min); 3.6. Scikit-Learn (67min + 20min practice)

Lecture 08: 3.7. Additional packages (13min); 4.1. Git, Github (79min)

Lecture 09: 4.2. PyTest (41min + 10min practice); 4.3. Sphinx (27min + 10min practice)

Lecture 10: 4.4. Continuous Integration (34min + 30min practice) 4.5. Clean Code (55min)

Lecture 11: 4.6. Workflows (41min); 5.1. Ordinary Differential Equations (28min + 30min practice)

Lecture 12: 5.2. Vehicle model calibration (36min + 45min practice);

Lecture 13: 5.3. e-Vehicle powertrain modeling (40min + 45min practice)

Lecture 14: 5.4. Deep learning (73min)

Getting Started

Please follow these steps to get a local copy of this project on your machine and to build, test, and deploy the lecture slides.


Please bring your laptop to class. All notebooks can be viewed directly in github or through nbviewer nbviewer or, the notebooks ca be used interactively via Binder Binder.

Hence, you can follow the lecture with your laptop and a web browser. However, if you want to save your work and learn how to use tools like Pycharm, git and libraries like Pytest, you should install the following software on your computer.

Add to this, you might want to store your results in your own github repository. Therefore, please create a github account.


First, fork this repository to your github account. Than, clone this repository in a terminal with

git clone<YOUR USER>/py-algorithms-4-automotive-engineering.git

or go to Pycharm and click on VCS/Get from Version Control....

Second, open the project in Pycharm and create a new environment (right bottom corner of Pycharm). Than open requirements.txt in Project panel and click on install missing packages.

Alternatively, you can install the virtual environment manually from command line with this pip manual.

Third, test your installation with activated environment and a pytest call. You can check if you activated the environment by having a look at the command prompt. If it starts with (venv) user@computer:~/some/path, you are in active environment (venv), if not you need to activate the environment with


on Windows and with

source venv/bin/activate

on Linux and macOS. Now test your installation with


Running the tests

This is very simple, just call


Create presentation slides

You can convert the jupyter notebooks into slides with this command


Create html or pdf script

You can join all jupyter notebooks into one file with nbmerge package and the command

nbmerge --recursive -o merged.ipynb

When this is done, you can use

jupyter nbconvert merged.ipynb --to html


jupyter nbconvert merged.ipynb --to pdf

to create all in one files of this course. Note that you need a pandoc installation on your computer. Curently, html option works, pdf causes errors and the figures in pdf are missing.




This project is licensed under the MIT License - see the LICENSE file for details



This repository contains jupyter notebooks and python code for KIT course: Python Algorithms for Automotive Engineering





No releases published


No packages published

Contributors 4

You can’t perform that action at this time.