Data on the course
Show instruction and examinations
MATR322 Scientific Computing III, 10 cr 
Code MATR322  Validity 01.01.2017 -
Name Scientific Computing III  Abbreviation Scientific Comp 
Scope10 cr   
TypeAdvanced studies
  GradingGeneral scale 
    Can be taken more than onceno
Unit Master's Programme in Materials Research 

Target group 

Master's Programme in Materials Research is responsible for the course.

Modules where the course belongs to:

  • MATR300 Advanced Studies in Materials Research.
    Optional for:
    1. Study Track in Computational Materials Physics
    2. Study Track in Medical Physics and Biophysics
    3. Study Track in Electronics and Industrial Physics
  • PAP300 Advanced Studies in Particle Physics and Astrophysical Sciences.
    Optional for:
    1. Study Track in Astrophysical Sciences
  • TCM300 Advanced Studies in Theoretical and Computational Methods

The course is available to students from other degree programmes.


The course can be taken in the early or later stages of studies.

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

Learning outcomes 
  • 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.
Completion methods 

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.

  • 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.
Recommended optional studies 

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

  • 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
Study materials and literature 

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)
Activities and teaching methods in support of learning 

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

Assessment practices and criteria 

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


Current and future instruction
No instruction in WebOodi

Future examinations
No examinations in WebOodi
You may enter WebOodi: