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
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.