Programming in Python 1
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
18PPY1 | Z | 2 | 2C | Czech |
- Course guarantor:
- Jakub Klinkovský
- Lecturer:
- Jakub Klinkovský, Matej Mojzeš
- Tutor:
- Jakub Klinkovský, Matej Mojzeš
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
This course introduces students to advanced features of the Python language and common scientific packages. The course covers both object-oriented as well as functional programming paradigms. The following part of the course describes the use of Python in the fields of scientific and technical computing (NumPy and SciPy packages), data processing and visualization.
- Requirements:
- Syllabus of lectures:
-
1.Using Jupyter notebook and Jupyter Lab environments
2.Object-oriented programming in Python (basic concepts, classes, attributes, methods)
3.Functional programming in Python (map, filter, reduce, zip, lambda expressions, …)
4.Source code testing, introduction to the PyTest and Hypothesis packages
5.Source code documentation, conventions for writing docstrings and typing
6.Introduction to the NumPy and SciPy packages (ndarray, broadcasting, vectorization)
7.Data processing and analysis using the pandas package
8.Data visualization using the matplotlib and seaborn packages
9.Creating web applications using the Streamlit framework
10.Data export, working with JSON, XML, CSV and Parquet data formats
11.Working with SQL databases
12.Distributed computing with PySpark
13.Creating CLI (argparse) and API (Flask/FastAPI)
- Syllabus of tutorials:
- Study Objective:
- Study materials:
-
Recommended literature:
[1] J. Kubias, Programování v jazyce Python 3 (How to Think Like a Computer Scientist: Learning with Python), online, 2023. http://howto.py.cz
[2] R. Pecinovský, Python 3.11 – Knihovny pro práci s daty, Grada, 2022. ISBN 978-80-271-0659-2.
[3] M. Pilgrim, Ponořme se do Python(u) 3 (Dive into Python 3), CZ.NIC, 2010. ISBN 978-80-904248-2-1. https://knihy.nic.cz/#Python3
Supplementary literature:
[1] P. Wentworth, J. Elkner, A.B. Downey, C. Meyers, How to Think Like a Computer Scientist: Learning with Python, 2nd Edition, Green Tea Press, 2012. ISBN 9781491939369. https://www.ict.ru.ac.za/Resources/cspw/thinkcspy3/
[2] J. Guttag, Introduction to Computation and Programming using Python (With Application Computational Modeling and Understanding Data), 3rd edition, The MIT Press, 2021. ISBN 9780262542364.
[3] Nauč se Python! https://naucse.python.cz/courses/
- Note:
- Time-table for winter semester 2024/2025:
- Time-table is not available yet
- Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Aplikace informatiky v přírodních vědách (compulsory course in the program)
- Aplikované matematicko-stochastické metody (elective course)
- Aplikovaná informatika (elective course)
- Fyzikální inženýrství - Inženýrství pevných látek (elective course)
- Kvantové technologie (elective course)
- Quantum Technologies (elective course)