Vak: Programming 4 credits: 5

Vakcode
BFVM22PROGR4
Naam
Programming 4
Studiejaar
2022-2023
ECTS credits
5
Taal
Engels
Coördinator
F. Feenstra
Werkvormen
  • Hoorcollege
Toetsen
  • TOETS-01 - Overige toetsing

Leeruitkomsten

  • identify parallelisable parts of a computational problem.  

  • analyze the requirements for parallelisation of the problem and choose a suitable technology to implement a solution.  

  • critically evaluate the performance of the solution and identify possible improvements or if improvements are at all possible.  

Inhoud


The Programming II course aims to make students competent in designing parallel solutions for computational problem. In addition, during this module students will expand their knowledge of Object Oriented programming from the previous course to Design Patterns for writing large programs. The students will work on making an existing approach to a problem parallel. Theory will be provided parallelisation approaches on both hardware level (shared memory vs clusters) as software level (e.g. Threading, OpenMPI, Dask, Spark). In addition, students will learn the tools necessary to design (through software engineering methodology and design patterns) and analyze (by algorithmic analysis) the problem and possible solutions. For instance, some problems are “embarrassingly parallel” and can easy be solved on a cluster, while others need to be organised according to their data structure into parallelisable units. Additionally, the basics of appropriate storage methodologies for parallel algorithms will be explained. (E.g. HDFS, Cassandra, HBase).  

Context learning line
This module assumes the skills of programming and will focus on design for efficient performance to optimize big data analysis

Opgenomen in opleiding(en)

School(s)

  • Instituut voor Life Science & Technology