SylabUZ
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 |
Semester | 5 |
ECTS credits to win | 6 |
Course type | obligatory |
Teaching language | english |
Author of syllabus |
|
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 |
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.
Basic knowledge in programming and object oriented programming.
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
Outcome description | Outcome symbols | Methods of verification | The class form |
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%).
[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.
[1] Internet
Modified by dr hab. Maria Przybylska, prof. UZ (last modification: 09-07-2018 23:01)