COURSE UNIT TITLE

: PARALLEL COMPUTING

Description of Individual Course Units

Course Unit Code Course Unit Title Type Of Course D U L ECTS
CME 4405 PARALLEL COMPUTING ELECTIVE 2 2 0 6

Offered By

Computer Engineering

Level of Course Unit

First Cycle Programmes (Bachelor's Degree)

Course Coordinator

Offered to

Computer Engineering

Course Objective

The goal of this course is to introduce students to the basics of parallel programming and parallel computer architectures. With this course, students will learn thinking in parallel; writing parallel programs with MPI and OpenMP by designing simple algorithms for parallel architectures in shared memory and distributed memory systems; programming with CUDA on the graphics processor unit (GPU) architecture; big data concepts and characteristics; the computing platforms in Apache Hadoop ecosystem; application development using MapReduce model; learn how to use functional programming language Scala and distributed computing with Apache Spark.

Learning Outcomes of the Course Unit

1   Understanding parallel architectures
2   Programming with MPI and OpenMP for shared and distributed memory architectures
3   Programming with CUDA on graphics processor unit (GPU) architecture
4   Programming with MapReduce model in Hadoop platform on cluster system
5   Ability to use Scala and Spark in big data distributed in cluster system

Mode of Delivery

Face -to- Face

Prerequisites and Co-requisites

CME 2201 - DATA STRUCTURES

Recomended Optional Programme Components

None

Course Contents

Week Subject Description
1 Computer Architecture preliminaries
2 Basics of parallel programming
3 Parallel architectures with distributed and shared memory and MPI-OpenMP programming
4 Graphics processor unit architecture and CUDA programming
5 Big data definition, concepts, sample applications
6 Computing Platforms in the Apache Hadoop ecosystem
7 Midterm Exam
8 MapReduce programming model basics and application development
9 MapReduce programming model basics and application development
10 MapReduce programming model basics and application development
11 Functional programming concept and Scala programming
12 Functional programming concept and Scala programming
13 Distributed computing with Apache Spark
14 Distributed computing with Apache Spark

Recomended or Required Reading

Pacheco, Peter S., An introduction to parallel programming, Morgan Kaufmann Publishers for Elsevier, 2011
Tom White, Hadoop The Definitive Guide (3rd edition), O Reilly, 2012

Planned Learning Activities and Teaching Methods

Presentation/Lecturing, Applications, programming practice and exercises

Assessment Methods

SORTING NUMBER SHORT CODE LONG CODE FORMULA
1 ASG ASSIGNMENT
2 FIN FINAL EXAM
3 FCG FINAL COURSE GRADE ASG * 0.50 + FIN * 0.50
4 RST RESIT
5 FCGR FINAL COURSE GRADE (RESIT) ASG * 0.50 + RST * 0.50


*** Resit Exam is Not Administered in Institutions Where Resit is not Applicable.

Further Notes About Assessment Methods

None

Assessment Criteria

To be announced.

Language of Instruction

English

Course Policies and Rules

To be announced.

Contact Details for the Lecturer(s)

Department of Computer Engineering, Room Nr:125
Dokuz Eylul University
Tinaztepe Buca, 35160 Izmir, Turkey
Tel: +90-232-3017424
Fax: +90-232-3017401

Office Hours

Monday 13.00-16.00

Work Placement(s)

None

Workload Calculation

Activities Number Time (hours) Total Work Load (hours)
Lectures 12 2 24
Tutorials 12 2 24
Preparations before/after weekly lectures 12 2 24
Preparation for midterm exam 1 16 16
Preparation for final exam 1 16 16
Preparing assignments 3 16 48
Final 1 2 2
Midterm 1 2 2
TOTAL WORKLOAD (hours) 156

Contribution of Learning Outcomes to Programme Outcomes

PO/LOPO.1PO.2PO.3PO.4PO.5PO.6PO.7PO.8PO.9PO.10
LO.15352
LO.253532
LO.35352
LO.45352
LO.55352