Code: 18PPY1 Programming in Python 1
Lecturer: Ing. Jakub Klinkovský Ph.D. Weekly load: 2C Completion: A
Department: 14118 Credits: 2 Semester: S
Description:
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.
Contents:
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)
Recommended literature:
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/
Keywords:
Python language, object-oriented programming, scientific computing, data processing.

Abbreviations used:

Semester:

Mode of completion of the course:

Weekly load (hours per week):