SylabUZ

Generate PDF for this page

Python language in numerical calculations - course description

General information
Course name Python language in numerical calculations
Course ID 13.2-WF-FizP-PraZa-S17
Faculty Faculty of Physics and Astronomy
Field of study Physics
Education profile academic
Level of studies First-cycle Erasmus programme
Beginning semester winter term 2017/2018
Course information
Semester 5
ECTS credits to win 6
Course type obligatory
Teaching language english
Author of syllabus
  • dr Marcin Kośmider
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Lecture 30 2 - - Exam
Laboratory 30 2 - - Credit with grade

Aim of the course

The course aim is to introduce the Python as the scientific programming tool. Python is a general purpose, high-level and modern programming language and the capabilities of its standard library as well as the external modules to handle the numerical analysis in physics and related fields will be presented.

Prerequisites

Basic knowledge in programming and object oriented programming.

Scope

Teaching methods

1) General Python introduction

- Language syntex and data types

- Flow-control and exceptions

- Interactive shell

- Scripts

- Functions

- Modules

2) File I/O operations

- Writing to and saving files

- Data serialization

- Typical I/O operations errors

3) Object Oriented Programming

- Classes and objects

- Inheritance and polymorphism

- Abstractions

4) Introduction to software engineering

- Version control systems

- Linux as IDE

- Introduction to unit-tests

- Software efficiency and profiling

5) Numerical analysis and computer simulations introduction

- The math module

- NuPy's arrays

- Random numbers

- Basic linear algebra operations in NumPy

- Differential equations solvers in NumPy

- Data visualisations in the matplotlib module

- Introduction to parallel computing with mpi4py

6) Visualization, animations and image processing

- The canvas and graphical primitives

- Plots

- Animations

- Image processing with openCV (computer vision) module

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Lecture:

To pass the exam the student will be asked to numerically solve a certain problem of the classical physics or data analysis. The examined knowledge fields and the final exam grade will be evaluated using the following aspects: the problem analysis, presentation of the algorithms used in the problem solution, the presentation of the source code and the validity of the results.

Laboratory:

30% - tests ad activity during laboratories

70% - final project

Before taking the exam the student must obtain a pass from the laboratory.

Score: weighted average rating of the exam (60%) and exercise (40%).

 

Recommended reading

[1] Mark Lutz, Python. Wprowadzenie, Wydanie IV, Helion, Gliwice 2010.
[2] http://python.org
[3] http://python-ebook.blogspot.com/
[4] http://numpy.scipy.org
[5] Hans Petter Langtangen, A primer on scientific programming with Python, Springer, Berlin 2009.

Further reading

[1] Internet

Notes


Modified by dr hab. Maria Przybylska, prof. UZ (last modification: 09-07-2018 23:01)