SubjectsSubjects(version: 964)
Course, academic year 2024/2025
   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
Guarantor: doc. Mgr. Michal Belda, Ph.D.
prof. RNDr. Tomáš Davídek, Ph.D.
Teacher(s): doc. Mgr. Michal Belda, Ph.D.
Incompatibility : NOFY078
Interchangeability : NOFY078
Is incompatible with: NOFY078
Is interchangeable with: NOFY078
Annotation -
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.
Last update: Kudrnová Hana, Mgr. (21.04.2021)
Aim of the course -

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

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

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.

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

Python Software Foundation: Python Documentation. https://www.python.org/doc/

Pilgrim, M.: Dive into Python 3. https://diveintopython3.problemsolving.io/

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

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

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

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

Last update: Belda Michal, doc. Mgr., Ph.D. (20.04.2021)
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html