In this course, we will introduce parallel programming paradigms to the students in the context of applied mathematics. 

The students will learn to identify the parallel pattern in numerical algorithm. 

The key components that the course will focus on are : efficiency, scalability, parallel pattern, comparison of parallel algorithms, operational intensity and emerging programming paradigm. Trough different lab assignments, the students will apply the concepts of efficient parallel programming using distributed programming language (OpenMP).