Python course. It is meant to be developed in 5 days, with 2 hours a day. It is divided in theory, workshops and a hackathon. The practical sessions are developed using scripts, mainly with Spyder and PyCharm IDEs.
This course main goal is being an introduction to Python. Some previous knowledge of any other programming language is recommended, but not required.
The course is meant to give an introductory overview of Python. It consists of 5 sessions:
-
Python/Programming Theory: It is based on pdf slides. It starts with the presentation of myself, the students and the course. Then it answers the questions What, Why and How about Python programming. Finally, there is some configuration steps for Python in Windows and a script to check everything as gone well.
-
Python basics: This is the first workshop. It covers:
- Description of Spyder IDE
- Basic Python types
- Indexing
- Logic evaluation
- Iterations
- Functions
- Exceptions
-
Third party packages: Some exercises regarding commong 3rd party libraries:
- Interpolation
- Numerical derivation
- Numerical integration
- Eigenvalues/Eigenvectors
- Minimization
- FFT
- Plotting with matplotlib
- Getting data and filtering with Pandas
NOTE: The dataset for this exercise is coming from Kaggle. The exercises here are very tailored for mechanical engineers.
-
Python Advanced: This folder has some slides to explain the programming paradigms, mainly to give some context before jumping into Object Oriented Programming (OOP).
- List comprehensions
- Context managers
- Type hinting
- Logging
- Decorators
- OOP and Classes
- Introduction to PyCharm IDE
-
Hackathon: A competitive session to close the course.
- The students are divided into groups of around 5.
- The challenge will be based on:
- Reading and understanding online documentation.
- Getting certain kind of data.
- Slightly processing the data (mainly filtering).
- Plotting data.
- Different number of points are assigned to the groups depending on the results of every step, the winner is the team with the highest amount of points.
Clone the repo or download it to your machine. Then it is just following the instructions included in the comments. The code is divided in cells (they can be seen directly with Spyder or VSCode, but it requires a special plugin in PyCharm).