SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   Login via CAS
Programming and data processing in Python - NOFY178
Title: Programování a zpracování dat v Pythonu
Guaranteed by: Laboratory of General Physics Education (32-KVOF)
Faculty: Faculty of Mathematics and Physics
Actual: from 2021
Semester: winter
E-Credits: 4
Hours per week, examination: winter s.:1/2, MC [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: English
Teaching methods: full-time
Teaching methods: full-time
Guarantor: Mgr. Michal Belda, Ph.D.
prof. RNDr. Tomáš Davídek, Ph.D.
Incompatibility : NOFY078
Interchangeability : NOFY078
Is incompatible with: NOFY078
Is interchangeable with: NOFY078
Annotation -
Last update: Mgr. Hana Kudrnová (21.04.2021)
The introductory Python course provides the students with the programming basics needed for data processing and visualization. Focus on scientific applications allows the students to use the acquired knowledge right away for both study purposes and practical applications. Python is currently one of the most popular languages widely used in science. Thanks to its simple syntax it is well suited for beginners.
Aim of the course -
Last update: Mgr. Michal Belda, Ph.D. (20.04.2021)

Learn the basics of programming in the Python language with a focus on mathematical and physical applications, mainly data processing and visualization.

Course completion requirements -
Last update: Mgr. Michal Belda, Ph.D. (20.04.2021)

For credit, a student may either submit three shorter Python programs over the course of the semester. Alternatively, one longer program may be submitted at the end of the semester.

Literature -
Last update: Mgr. Michal Belda, Ph.D. (20.04.2021)

Python Software Foundation: Python Documentation.

Pilgrim, M.: Dive into Python 3.

Teaching methods -
Last update: Mgr. Michal Belda, Ph.D. (20.04.2021)

The course is realized as a lecture and practical exercises (bring your own laptop if you can).

Syllabus -
Last update: Mgr. Michal Belda, Ph.D. (20.04.2021)

Introduction to Python: language basics, history and versions (2 and 3), comparison to other languages; Python philosophy (short readable code, batteries included)

IPython console, Jupyter notebooks; integrated development environments and Python distributions; short simple single-purpose scripts

Python building blocks: syntax, variables, data types, builtins; procedural programming basics - loops, conditions, functions; syntactic sugar - do more with less code

Libraries: builtin libraries and modules, extensions.

Scientific computing: NumPy and SciPy libraries for processing vector and matrix data, statistics; processing tabular data with pandas

Input/Output: formatting, file formats, reading and writing files; specialized libraries for data used in math and physics

Visualization: creating graphs using matplotlib, seaborn and pandas

Object-oriented programming: classes, objects, attributes, methods, encapsulation, inheritance; error handling

Code optimization: NumPy, cython, parallelization

Graphical User Interface: basics of GUI using builtin libraries

Charles University | Information system of Charles University |