Skip to content

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

License

Notifications You must be signed in to change notification settings

msm216/py-algorithms-4-automotive-engineering

 
 

Repository files navigation

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.

Prerequisites

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.

Installing

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

Running the tests

This is very simple, just call

pytest

Create presentation slides

You can convert the jupyter notebooks into slides with this command

python make_slides.py

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

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.

Maintainer

Contributors

License

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

Acknowledgments

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 98.0%
  • Python 1.1%
  • Other 0.9%