Computer course - Python 3 7404-FIZ-KKP
- https://sites.google.com/view/python3-umk (term 2025/26)
The aim of the course is to introduce all the tools necessary to design, develop,
and maintain a Python-based software, from code prototyping in interactive
notebooks, git version control, interfacing Python code with C/C++ using
Pybind 11, preparing Python tests, setting up automatic workflows/pipelines to
check new commits, creating and maintaining a manual with Sphynx, to testing
and optimizing code.
|
Term 2025/26:
The aim of the course is to introduce all the tools necessary to design, develop, and maintain a Python-based software, from code prototyping in interactive notebooks, git version control, interfacing Python code with C/C++ using Pybind 11, preparing Python tests, setting up automatic workflows/pipelines to check new commits, creating and maintaining a manual with Sphynx, to testing and optimizing code. The course will consist of 15 computer laboratories. The preliminary schedule is: |
Total student workload
Learning outcomes - knowledge
Learning outcomes - skills
Learning outcomes - social competencies
Teaching methods
Expository teaching methods
Exploratory teaching methods
- project work
Prerequisites
Course coordinators
Term 2022/23Z: | Term 2024/25: | Term 2025/26: |
Learning outcomes
Learning outcomes - knowledge:
1. scientific programming in Python using numpy and scipy
2. interfacing to C++ code using pybind11
3. software development in python
4. version control using git
Realises effects: K_W03, K_W05, K_W07 for FT and K_W01, K_W10 for IS
Learning outcomes - skills:
1. advanced object programming
2. design and maintenance of your own python package
3. solving physical problems using python
4. unit tests in python
Realises effects: K_U06 for FT and K_U01, KU_09, KU_10, KU_13, KU_22 for IS
Learning outcomes - social competencies: None
Teaching methods: Computer lab - teaching issues being simultaneously programmed by students under supervision
Exploratory teaching methods: - laboratory
- practical
1. Design and maintenance of a python package using version control systems
2. Problem solving using numpy / scipy applicable to the large scale
Assessment criteria
The final grade will be a weighted average of grades for (1) the active
participation in classes (30%) and (2) the evaluation of the final software
package (70%):
0% - 49% - grade: 2
50% - 60% - grade: 3
61% - 70% - grade: 3+
71% - 80% - grade: 4
81% - 90% - grade: 4+
91% - 100% - grade: 5
Bibliography
Project design in Python: https://docs.python-guide.org/writing/structure/
Git commits: https://www.conventionalcommits.org/en/v1.0.0/
Style guide for Python code: https://peps.python.org/pep-0008/
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: