HUOM! OPINTOJAKSOJEN TIETOJEN TÄYTTÄMISTÄ KOORDINOIVAT KOULUTUSSUUNNITTELIJAT HANNA-MARI PEURALA JA TIINA HASARI

### 1. Course title

Tieteellinen laskenta III

Vetenskapliga beräkningar III

Scientific Computing III

2. Course code

MATR322

Aikaisemmat leikkaavat opintojaksot 53369 Tieteellinen laskenta III, 10 op.

3. Course status: optional

*-Which degree programme is responsible for the course?*Master’s Programme in Materials Research

*-Which module does the course belong to?*

**MATR300 Advanced Studies in Materials Research**

optional for

- Study Track in Computational Materials Physics
- Study Track in Medical Physics and Biophysics
- Study Track in Electronics and Industrial Physics

**PAP300 Advanced Studies in Particle Physics and Astrophysical Sciences**

optional for

- Study Track in Astrophysical Sciences

**TCM300 Advanced Studies in Theoretical and Computational Methods*** *

*-Is the course available to students from other degree programmes?*Yes

4. Course level (first-, second-, third-cycle/EQF levels 6, 7 and 8)

Master’s level, degree programmes in medicine, dentistry and veterinary medicine = secondcycle

degree/EQF level 7

(possible also for Doctoral level = third-cycle (doctoral) degree/EQF level 8)

*-Does the course belong to basic, intermediate or advanced studies (cf. Government Decree**on University Degrees)?*

Advanced studies

5. Recommended time/stage of studies for completion

-The recommended time for completion may be, e.g., after certain relevant courses have

been completed.

Can be taken in the early or later stages of studies.

6. Term/teaching period when the course will be offered

-The course may be offered in the autumn or spring term or both.

-If the course is not offered every year, this must be indicated here.

-Specification of the teaching period when the course will be offered

Given every second year (odd years) in the spring term.

### 7. Scope of the course in credits

10 cr

### 8. Teacher coordinating the course

Antti Kuronen

### 9. Course learning outcomes

-Description of the learning outcomes provided to students by the course

- See the competence map (https://flamma.helsinki.fi/content/res/pri/HY350274).

- You will learn to know the most common numerical methods and algorithms
- You will understand the strenghts and weaknesses of these algorithms
- You will be able to apply these algorithms using
- self-made programs
- numerical libraries
- numerical programs.

10. Course completion methods

-Will the course be offered in the form of contact teaching, or can it be taken as a distance

learning course?

-Description of attendance requirements (e.g., X% attendance during the entire course or

during parts of it)

-Methods of completion

- Exercises and final project. Exercises are mostly small programming tasks and sometimes theoretical ones ('pen and paper'). In the final project a numerical problem larger than exercises is solved.

11. Prerequisites

-Description of the courses or modules that must be completed before taking this course or

what other prior learning is required

- Calculus and linear algebra. Suitable courses at the University of Helsinki are MAPU I-II (Mathematics for physicists I-II).
- Programming skills in C/C++, Fortran90/95/2003/2008, Python or Matlab/Octave languages on the level of course 53399 Scientific Computing II.
- Programming is not taught in this course.

- Familiarity with the Linux programming environment is strongly suggested.

12. Recommended optional studies

-What other courses are recommended to be taken in addition to this course?

-Which other courses support the further development of the competence provided by this

course?

If you are interested in continuing in the subject course 53382 Tools for high performance computing is recommended.

13. Course content

-Description of the course content

Abbreviations!

- Tools, computing environment in Kumpula, visualization
- Basics of numerics: floating point numbers, error sources
- Linear algebra: equations, decompositions, eigenvalue problems
- Nonlinear equations: bisection, secant, Newton
- Interpolation: polynomes, splines, Bezier curves
- Numerical integration: trapeziodal, Romberg, Gauss
- Function minimization: Newton, conjugate gradient, stochastic methods
- Generation of random numbers: linear congruential, shift register, non-uniform random numbers
- Statistical description of data: probability distributions, comparison of data sets
- Modeling of data: linear and nonlinear fitting
- Fourier and wavelet transformations: fast Fourier transform, discreet wavelet transform, applications
- Differential equations: ordinary and partial differential equations

### 14. Recommended and required literature

-What kind of literature and other materials are read during the course (reading list)?

-Which works are set reading and which are recommended as supplementary reading?

- Lecture notes
- Supplementary reading
- J. Haataja, J. Heikonen, Y. Leino, J. Rahola, J. Ruokolainen, V. Savolainen:
*Numeeriset menetelmät käytännössä*. CSC - Tieteellinen laskenta OY. 1999*(in Finnish)*. - W. H. Press, S. A. Teukolsky, W. T. Vetterling, Brian P. Flannery:
*Numerical Recipes in C*, Cambridge University Press. - Tao Pang:
*An Introduction to Computational Physics*, 2nd edition, Cambridge University Press. - P. R. Bevington and D. K. Robinson:
*Data Reduction and Error Analysis for the Physical Sciences*, Second edition, McGraw-Hill. - H. Karttunen:
*Datan käsittely*, CSC 1994*(in Finnish)*

- J. Haataja, J. Heikonen, Y. Leino, J. Rahola, J. Ruokolainen, V. Savolainen:

15. Activities and teaching methods in support of learning

-See the competence map (https://flamma.helsinki.fi/content/res/pri/HY350274).

-Student activities

-Description of how the teacher’s activities are documented

- Weekly lectures and exercises (individual work). Final programming project (individual). Total hours 270.

16. Assessment practices and criteria, grading scale

-See the competence map (https://flamma.helsinki.fi/content/res/pri/HY350274).

-The assessment practices used are directly linked to the learning outcomes and teaching

methods of the course.

- Final grade is based on exercises (50%) and final programming project (50%).

### 17. Teaching language

- English