Git Product home page Git Product logo

ca-41 / py-algorithms-4-automotive-engineering Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stephanrhode/py-algorithms-4-automotive-engineering

0.0 0.0 0.0 3.96 MB

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

Home Page: http://www.fast.kit.edu/lff/1017_13056.php

License: MIT License

Jupyter Notebook 98.05% Python 1.08% TeX 0.76% Makefile 0.04% Batchfile 0.05% Limbo 0.01%

py-algorithms-4-automotive-engineering's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.