FPF:UFW3601 Programming for Physicists - Course Information
UFW3601 Programming for Physicists
Faculty of Philosophy and Science in OpavaWinter 2019
- Extent and Intensity
- 0/2/0. 3 credit(s). Type of Completion: z (credit).
- Teacher(s)
- doc. RNDr. Jan Schee, Ph.D. (seminar tutor)
- Guaranteed by
- doc. RNDr. Stanislav Hledík, Ph.D.
Centrum interdisciplinárních studií – Faculty of Philosophy and Science in Opava - Timetable of Seminar Groups
- UFW3601/A: Tue 11:25–13:00 LPS, J. Schee
- Prerequisites (in Czech)
- ( UFAF508 Programming in C-language || UFBL124 Programming in C-language ) && TYP_STUDIA(B)
Zručnost v programovacím jazyce C (v rozsahu předmětu UF/BL124 "Programování v jazyce C"), zejména v práci s poli (jedno- i dvourozměrnými) a ukazateli. Hodí se znalost práce s vhodným IDE, na němž budou vypracovávány domácí úlohy.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Astrophysics (programme FPF, B1701 Fyz)
- Computer Technology and its Applications (programme FPF, B1702 AplF)
- Course objectives
- One-semester course Programming for Physicists introduces the basic numerical methods used in physics. The programming language C is used.
- Syllabus
- 1. Introduction to the development environment I: Introduction to Unix-like aOS (Linux), shell, working with command line, text editor. IDE under Windows (Code::Blocks, Bloodshed Dev-C + +). Compiler, separated compiling, linking.
2. Recapitulation: Constructs of the C programming language important for numerics. Program organization and program flow structures. Working with the book by Press W. H. et al.
3. Representation of numbers by computers and computer arithmetic: decimal, binary, octal and hexadecimal representations. Integers signed and unsigned. Floating-point numbers. The IEEE standard. Rounding, arithmetic operations, exceptions. Error and accuracy. Stability of computation. Traps and pitfalls.
4. Solution of linear algebraic equations: Gauss-Jordan elimination. Gauss elimination with backsubstitution. LU decomposition.
5. Solution of nonlinear algebraic equations, finding extremes: Bracketing and bisection. Secant method. Newton-Raphson method.
6. Interpolation and extrapolation: polynomial interpolation and extrapolation. Rational interpolation and extrapolation.
7. Random numbers: Generators of uniform distribution, system generators vs. portable random number generators. Transformation and rejection method of generation of other distributions. Exponential and normal distributions.
8. Numerical integration: classical formulas (open, closed, semi-open) and algorithms (trapezoidal, Simpson's rule). Romberg integration. Improper integrals.
9. Ordinary differential equations: initial value problem vs. boundary values problem. Runge-Kutta method, and other methods.
- 1. Introduction to the development environment I: Introduction to Unix-like aOS (Linux), shell, working with command line, text editor. IDE under Windows (Code::Blocks, Bloodshed Dev-C + +). Compiler, separated compiling, linking.
- Literature
- recommended literature
- Press, W. H., Teukolsky, S. A., Vetterling, W. T., Flannery, B. Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, Cambridge, 1997. ISBN 0-521-43108-5. URL info
- Vetterling, W. T., Teukolsky, S. A., Press, W. H., Flannery, B. Numerical Recipes Example Book (C). Cambridge University Press, Cambridge, 1993. ISBN 0-521-43720-2. URL info
- Teaching methods
- Lecturing
Lecture with a video analysis - Assessment methods
- The analysis of student 's performance
Credit - Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course can also be completed outside the examination period.
- Teacher's information
- To get the credit the student must have at least 80% attendance and successfully defend credit project whose topic will be assigned during the course.
- Enrolment Statistics (Winter 2019, recent)
- Permalink: https://is.slu.cz/course/fpf/winter2019/UFW3601