This repository contains jupyter notebooks and python code for KIT course: Python Algorithms for Automotive Engineering. Please find the course syllabus here.
1.1 Introduction; 1.2. Python installation
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.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.1. Git, Github; 4.2. PyTest; 4.3. Sphinx; 4.4. Continuous Integration; 4.5. Clean Code; 4.6. Workflows
5.1. Ordinary Differential Equations; 5.2. Vehicle model calibration; 5.3. e-Vehicle powertrain modeling; 5.4. Deep learning
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)
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 or, the notebooks ca be used interactively via 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 https://github.com/<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
.\venv\Scripts\activate
on Windows and with
source venv/bin/activate
on Linux and macOS. Now test your installation with
pytest
This is very simple, just call
pytest
You can convert the jupyter notebooks into slides with this command
python make_slides.py
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
or
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