Basics of Programming
| Code | Completion | Credits (ECTS) | Range | Language |
|---|---|---|---|---|
| 18YZPRO | Z | 4 | 4C | English |
- Course guarantor:
- Miroslav Virius
- Lecturer:
- Jooyoung Hahn, Vladimír Jarý, Jakub Klinkovský, Petr Pauš, Zuzana Petříčková, Jan Tomsa, Miroslav Virius, Jan Vondruška
- Tutor:
- Jooyoung Hahn, Vladimír Jarý, Jakub Klinkovský, Petr Pauš, Zuzana Petříčková, Jan Tomsa, Miroslav Virius, Jan Vondruška
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
This course is intended mainly for students with little or no experience in programming. It familiarizes the students with the basic concepts in programming and with the Python programming language.
- Requirements:
-
Receiving the course credit depends on your success in the tests, completion of the credit assignment, and passing the oral defense:
- If you score <50% of the points on the tests, you will have to complete and orally defend a credit assignment the assignment will be published at the end of the semester.
- If you score 50% of the points on the tests, you do not have to do the credit assignment.
In both cases, you need to demonstrate that you have a sufficient command of the material covered (and that you can program independently). At the oral defense, you will be tasked with solving one or more examples on your own (the topic and difficulty will range from the examples covered in the practical sessions/exercises up to homework assignments).
The credit can only be obtained by the end of the winter examination period. It will not be possible in the summer semester or later.
- Syllabus of lectures:
-
1.Basic terminology (computer, program, algorithm, ...)
2.Python, interactive mode and scripting, basic features of the language
3.Data representation in computer memory, role of the data types
4.Variables, basic data types (bool, int, float, str) and operators
5.Program structure: conditions, cycles, functions, modules
6.Containers (list, dictionary, set, tuple)
7.Iterators and generators
8.Error handling, exceptions, assertions
9.Using fundamental modules of the standard library
10.String processing and formatting
11.Working with files and directories
12.Modular structure of the program
13.Introduction to object-oriented programming
- Syllabus of tutorials:
- Study Objective:
-
Learning the basics of procedural and object-oriented programming. Ability to solve basic programming tasks using the Python language.
- Study materials:
-
Recommended literature:
[1] R. Pecinovský, Začínáme programovat v jazyku Python, 2. vydání, Grada, 2022. ISBN 978-978-80-271-3609-4.
[2] 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
[3] J. Kubias, Programování v jazyce Python 3 (How to Think Like a Computer Scientist: Learning with Python), online, 2023. http://howto.py.cz
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] R. Pecinovský, Python Kompletní příručka jazyka pro verzi 3.11, Grada, 2022. ISBN 978-80-271-3891-3.
- Note:
- Time-table for winter semester 2026/2027:
- Time-table is not available yet
- Time-table for summer semester 2026/2027:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Physical Engineering - Computational physics (PS)
- Quantum Technologies (compulsory course in the program)
- Nuclear and Particle Physics (compulsory course in the program)
- Mathematical Engineering - Mathematical Physics (PS)
- Physical Engineering - Plasma Physics and Thermonuclear Fusion (PS)
- Mathematical Engineering - Mathematical Modelling (PS)
- Mathematical Engineering - Mathematical Informatics (PS)
- Physical Engineering - Solid State Engineering (PS)
- Physical Engineering - Laser Technology and Photonics (PS)