Scientific Computing
BASIC DATA
course listing
A - main register
course code
YFX1510
course title in Estonian
Teadusarvutused
course title in English
Scientific Computing
course volume CP
-
ECTS credits
6.00
to be declared
yes
fully online course
not
assessment form
Examination
teaching semester
spring
language of instruction
Estonian
English
Study programmes that contain the course
code of the study programme version
course compulsory
IAPM02/25
no
LAFM23/25
yes
YASM02/25
no
Structural units teaching the course
LT - Department of Cybernetics
Course description link
Timetable link
View the timetable
Version:
VERSION SPECIFIC DATA
course aims in Estonian
Anda ülevaade teadusarvutuste kontseptsioonist ja põhilistest meetoditest.
course aims in English
Teach core concepts and methods of scientific computing.
learning outcomes in the course in Est.
Kursuse läbinud üliõpilane:
- tunneb ära keerukad probleemid;
- vastavalt probleemile oskab valida sobiva numbrilise meetodi;
- vastavalt probleemile oskab valida sobiva programmeerimiskeele;
- vastavalt probleemile oskab valida sobiva riistvara;
- oskab kirjutada ja arendada paralleelarvutuste programmi;
- dokumenteerida arvutusi ja saadud tulemusi.
learning outcomes in the course in Eng.
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.
brief description of the course in Estonian
Kursuses antakse ülevaade suure tootlikkusega arvutiklastrites (HPC) kasutatavast riistavarast, programmeerimiskeeltest, numbrilistest arvutusmeetoditest ja tutvustada neile reprodutseeritavuse mõistet.
Vaadatakse järgmisi teemasid:
- programmeerimise kirjaoskus, reprodutseeritav uurimus
- HPC ja teadusarvutuste põhilised aspektid (riistvara, Amdahl’i seadus)
- ülevaade numbrilistest meetoditest: FEM, CFD, osakestel baseeruvad meetodid, iteratiivsed meetodid lineaarsete võrrandisüsteemide jaoks
- paralleelarvutus: OpenMP, MPI, optimeerimine
- võidujooks andmetele, vastastikune blokeering ja muud paralleelarvutuste juures varitsevad lõksud ning nende ülesleidmise meetodid
Ülesandeid, projekte ja kodutöid tehakse paarides, võimalusel moodustatakse paariderinevate erialade üliõpilastest.
brief description of the course in English
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.
type of assessment in Estonian
-
type of assessment in English
-
independent study in Estonian
-
independent study in English
-
study literature
* 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
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):
lectures
2.5
lectures
-
practices
0.0
practices
-
exercises
1.5
exercises
-
lecturer in charge
-
LECTURER SYLLABUS INFO
semester of studies
teaching lecturer / unit
language of instruction
Extended syllabus or link to Moodle or to home page
2024/2025 spring
Heiko Jens Herrmann, LT - Department of Cybernetics
English
    YFX1510 Teadusarvutused - hindamiskriteeriumid eng.pdf 
    display more
    2023/2024 spring
    Heiko Jens Herrmann, LT - Department of Cybernetics
    English
      2022/2023 spring
      Heiko Jens Herrmann, LT - Department of Cybernetics
      English, Estonian
        2021/2022 spring
        Heiko Jens Herrmann, LT - Department of Cybernetics
        English
          YFX1510 Teadusarvutused - hindamiskriteeriumid eng.pdf 
          2020/2021 spring
          Heiko Jens Herrmann, LT - Department of Cybernetics
          English
            YFX1510 Teadusarvutused - hindamiskriteeriumid eng.pdf 
            2019/2020 spring
            Heiko Jens Herrmann, LT - Department of Cybernetics
            English
              YFX1510 Teadusarvutused - hindamiskriteeriumid eng.pdf 
              2018/2019 spring
              Heiko Jens Herrmann, LT - Department of Cybernetics
              English
                YFX1510 Teadusarvutused - hindamiskriteeriumid eng.pdf 
                Course description in Estonian
                Course description in English