Course detail
Programming in Python
FSI-VP0Acad. year: 2026/2027
This course introduces students to the basics of modern programming in Python and to the procedures for creating high-quality, clear, and maintainable code. Students will learn how to work with the development environment, versioning, and basic tools for code analysis. The course covers key elements of the language, such as data structures, functions, exceptions, generators, iterators, and the principles of object-oriented programming. It also includes the basics of graphical user interfaces, testing, program debugging, parallel processing, and application performance optimization. The course concludes with the practical use of Python for communication via REST API and gRPC and a summary of the knowledge acquired. The aim is to prepare students to independently create robust and efficient applications in Python.
Language of instruction
Number of ECTS credits
Assignment to study programme types
Mode of study
Guarantor
Entry knowledge
Rules for evaluation and completion of the course
Education runs according to week schedules. Attendance at the seminars is required. The form of compensation of missed seminars is fully in the competence of a tutor.
Aims
Understand the Python scripting language and how to create Python applications. Learn the basics of creating a graphical user interface in Python. The student will be able to create an application using REST API/grpc.
Upon successful completion of the course, students will be able to apply knowledge and understanding of the basic features and role of the Python scripting language, its syntax and semantics.
Study aids
Prerequisites and corequisites
Basic literature
Recommended reading
Scipy lecture notes [on-line 1.10.2019: http://www.scipy-lectures.org/] (EN)
Classification of course in study plans
- Programme B-KSI-P Bachelor's 3 year of study, summer semester, compulsory-optional
- Programme B-MET-P Bachelor's 1 year of study, summer semester, elective
2 year of study, summer semester, elective - Programme N-AAE-P Master's 1 year of study, summer semester, elective
- Programme N-MET-P Master's 1 year of study, summer semester, elective
- Programme C-AKR-P Lifelong learning
specialization CLS , 1 year of study, summer semester, elective
- Programme B-PRP-P Bachelor's 1 year of study, summer semester, elective
- Programme B-ZSI-P Bachelor's
specialization STI , 1 year of study, summer semester, elective
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
1. Development environments for programming in Python, PyCharm, VSCode
2 - 3. Basics of Python, language versions, environments, principles of writing code in Python. Code structuring. Comments. Static code analysis.
4. List and Dictionary, Slicing, Key parameter, functions, arguments, and exceptions
5. Generators, map, filter, yield
6. GUI
7. OOP, class, and interface
9. Testing and debugging programs in Python
10. Parallelism and processes
11. Application robustness and performance
12. Python and REST API, grpc
13. Summary, review
Computer-assisted exercise
Teacher / Lecturer
Syllabus
1. Introduction, brief history of programming language development, introduction to Python and the PyCharm and VS Code development environments.
2. Basic commands, data types and operators, functions, modules, and classes.
3. Code structuring, comments, documentation, static analysis, and exception handling.
4. List, Dictionary, Slicing, etc.
5. Data structures, efficient search implementation.
6. Programming applications with a graphical user interface.
7. and 8. OOP.
9. Application integration in a broader ecosystem, containerization
10. XML or JSON document processing, libraries for storage and search.
11. Stream handling
12. Modern development concepts, REST API, grpc
13. Summary.