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
- Coordinating facultyTallinn University of Technology
- More infoCourse page on website of Tallinn University of Technology
- Contact a coordinator
- LevelMaster
- Contact hours per week4
- InstructorsHeiko Jens Herrmann
- Mode of deliveryHybrid
Starting dates
2 Feb 2026
ends 15 Jun 2026
Language English Term * Spring semester 2026 Enrolment period closed