Scientific Computing

YFX1510
Physics and Energy

About this course

The course „Scientific Computing“ will present an overview of HPC hardware, programming languages and numerical methods for different problems, and introduce the student to reproducibility. List of topics:

  • literate programming, reproducible research

  • general aspects of HPC and Scientific Computing (hardware, Amdahl's law)

  • overview of numerical methods: FEM, CFD, particle based methods, iterative methods for systems of linear equations

  • parallel programming: OpenMP, MPI, optimization

  • data races, deadlocks and other parallel-programming pitfalls and finding these Exercises, project and homeworks will be solved in groups of two, preferably the groups are composed of students of different curricula.

NB! This course will take place in autumn semester 2025/2026 which starts on 1st of September and ends on 25th of January (you can find that information under Start date section). TalTech's timetables for Autumn semester 2025 will be published at the end of June via tunniplaan.taltech.ee. Switch the page to English and use "Search" and "Open detailed search" to find your course. NB! Some courses are taught by several lecturers during the same semester. Make sure that the course name and lecturer/teacher infromation of your course match with the information given in the Course Catalogue.

Learning outcomes

The student is able to:

  • recognize complex problems;
  • choose suitable numerical method;
  • choose suitable programming language;
  • choose suitable computer architecture;
  • write and debug simple parallel code;
  • document the simulation and results in a reproducible way.

Examination

Final assessment can consist of one test/assignment or several smaller assignments completed during the whole course. After declaring a course the student can re-sit the exam/assessment once. Assessment can be graded or non-graded. For specific information about the assessment process please get in touch with the contact person of this course. For specific information about grade transfer please contact your home university

Course requirements

knowledge of linear algebra, analysis, basic programming skills

Resources

  • * Reprocible research: http://ropensci.github.io/reproducibility-guide/
  • Bathe: Finite Element Procedures ISBN-13: 978-0979004957
  • * Alberty, Carstensen, Funken: Remarks around 50 lines of Matlab: short finite element implementation, Numer. Algorithms, volume 20, 1999 https://www.math.hu-berlin.de/~cc/cc_homepage/download/1999-AJ_CC_FS-50_Lines_of_Matlab.pdf
  • * Grossmann, Roos, Stynes: Numerical Treatment of Partial Differential Equations ISBN 978-3-540-71584-9
  • * Eymard, Galloyet, Herbin: Finite Volume Methods https://www.cmi.univ-mrs.fr/~herbin/PUBLI/bookevol.pdf
  • * Leveque: Finite Volume Methods For Hyperbolic Problems https://archive.org/details/FiniteVolumeMethodsForHyperbolicProblemsRandallJ.Leveque
  • * Saad: Iterative methods for sparse linear systems http://www-users.cs.umn.edu/~saad/books.html
  • * Parlante: Essential C: http://cslibrary.stanford.edu/101/EssentialC.pdf
  • * Burch: C for Python Programmers: http://www.toves.org/books/cpy/
  • * Jorgensen: Introduction to Programming using Fortran 95/2003/2008 http://www.egr.unlv.edu/~ed/fortranv3.pdf
  • * MPI standard: http://mpi-forum.org/docs/
  • * OpenMP: http://www.openmp.org/specifications/
  • * OpenCL: https://www.khronos.org/registry/OpenCL/
  • * Valgrind manual: http://valgrind.org/docs/manual/manual.html
  • * Eijkhout: Introduction to High-Performance Scientific Computing Lulu 2015 ISBN 978-1-25799-254-6

Activities

lectures, exercises

Additional information

course
6 ECTS
  • Level
    Master
  • Contact hours per week
    4
  • Instructors
    Heiko Jens Herrmann
  • Mode of delivery
    Hybrid
If anything remains unclear, please check the FAQ of TalTech (Estonia).

Starting dates

  • 2 Feb 2026

    ends 15 Jun 2026

    LanguageEnglish
    Term *Spring semester 2026
    Enrolment period closed
These offerings are valid for students of CTU (Czech Republic)