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:
- W ... winter semester (usually October - February)
- S ... spring semester (usually March - June)
- W,S ... both semesters
Mode of completion of the course:
- A ... Assessment (no grade is given to this course but credits are awarded. You will receive only P (Passed) of F (Failed) and number of credits)
- GA ... Graded Assessment (a grade is awarded for this course)
- EX ... Examination (a grade is awarded for this course)
- A, EX ... Examination (the award of Assessment is a precondition for taking the Examination in the given subject, a grade is awarded for this course)
Weekly load (hours per week):
- P ... lecture
- C ... seminar
- L ... laboratory
- R ... proseminar
- S ... seminar