Advanced Python Programming
Professors
Prerequisites:
Standard computer science/engineering bachelor bases
Pedagogical objectives:
The aim of the course is to refresh the basics of Python programming (beginner) to then learn how to perform object-oriented programming with Python (advanced) as well as traffic analysis and generation tools in Python. At the end of the course, students would be able to write computer programs in Python using popular packages.
Evaluation modalities:
Individual project oriented toward AI for connected systems.
Description:
Topics:
- Python programming (beginner): Programming in Python (variables, conditional structures, lists, arrays, loops, etc.). Writing functionalities in the Python environment.
- Object-oriented programming (advanced): Principles of object-oriented programming in Python (classes, abstraction, etc.).
- Files and data structures in Python: Read and write files using different data formats (csv, json…)
- Use of packages: Discover virtual machines and libraries in Python. Realize Data manipulation and data visualization using specialized packages (Pandas, Numpy, Matplotlib). Writing a report using Jupyter Notebook. Manipulate packets using Scapy.
[recording of the lessons] Teaching material will be shared in the course moodle. [personal computer] A personal computer is required for remote participants. [urls] https://scapy.net/ UUlm: Moodle with Tool-Server and browser based JupyterHub -> participants need a personal computer Literature: McKinney, W. (2018), Datenanalyse mit Python - Auswertung von Daten mit Pandas, NumPy und IPython, O’Reilly Media Hunt, J. (2020), A Beginners Guide to Python 3 Programming, Springer Bird, A. Et al. (2019), The Python Workshop, Packt Publishing
Devices:
- Laboratory-Based Course Structure
- Open-Source Software Requirements