Concurrency and Parallel Programming

Concurrency en Parallel Programmeren

6 EC

Semester 1, period 2

5062COPP6Y

Owner Bachelor Informatica
Coordinator dr. Z. Zhao
Part of Bachelor Informatica, year 2Dubbele bachelor Wiskunde en Informatica, year 2

Course manual 2020/2021

Course content

CPP is a course that covers multiple aspects of the concurrency and parallel programming. CPP addresses parallel computer systems and how they are programmed. The course is structured in 5 chapters:

  • Computer Architecture
  • Parallel Programming
  • GPU Programming 
  • Big Data systems 
  • Decentralized systems
  • Applications

Study materials

Other

  • Online study material (Canvas)

Objectives

  • Explain the taxonomy of parallel and distributed systems; describe and explain the role and functionality of the different components that appear in these computing systems (was: Parallelle en gedistribueerde systeem architecturen, en algemene misvattingen binnen het vakgebied)
  • Je kunt een conclusie trekken uit verschillende onderzoeken door deze kritisch te analyseren.
  • Program small-scale applications using the main concepts of parallel processing and programming models using Pthreads and OpenMP (was: Introductie parallel programmeren (Pthreads en OpenMP))
  • Describe and explain the differences between state-of-the art programming models for parallel and distributed systems (was: Overzicht andere parallelle programmeer modellen (Client/Server/SOA, CUDA, MapReduce, etc.))
  • Getting familiar with and able to program basic applications using modern big-data platforms.
  • Apply basic performance analysis methods for parallel and distributed systems and evaluate their results.
  • Getting familiar with and able to program basic applications using modern P2P and decentralised systems.

Teaching methods

  • Hoorcollege
  • Laptopcollege
  • Lecture
  • Computer lab session/practical training

The labs are split in three groups. We encourage the students to come to the lab for help and feedback. Support outside lab hours is limited to urgent issues and priority is given to the students who will attend the labs. Absence during the lab will be recorded.

Learning activities

Activity

Hours

Hoorcollege

28

Laptopcollege

24

Tentamen

3

Werkcollege

2

Self study

111

Total

168

(6 EC x 28 uur)

Attendance

Programme's requirements concerning attendance (OER-B):

  • For practical trainings and tutorials/seminars with assignments attendance is obligatory. When students do not meet the requirements for attendance, this may lead to not finishing a course with a pass mark.

Assessment

Item and weight Details

Final grade

5 (50%)

Lab Assignments

3 (30%)

Literature study report

2 (20%)

Final exam

  • Upload reports + code for each assignment by the fixed DEADLINE. The submission will be closed immediately after the deadline.
  • Present your solution to the TA (demonstrates the code works, explain your solution)
  • There will be NO Extensions for the submission deadline. The students have to contact their studieadviseur to initiate the procedure for extending the deadlines.
  • A Solution of the assignments will be discussed during the Lab hours, after the deadline
  • Grading will be completed within two weeks; group feedback will be given by the TA during the Lab hours and will reflect the most common errors that have been noticed when correcting your assignments. Personal feedback can will also be given during the Lab hours
  • Assignment will be done on the Distributed ASCI super computer  (Links to an external site.)Links to an external site.. There are rules for using DAS4, there will be a short tutorial on the second lab please try to be there
  • All the assignments will be checked for plagiarism code and reports so be very careful when using material from the Internet or any third party sources, appropriate citations MUST be added to both your code and reports.
  • If you miss the tutorial you can read the DAS4/5 usage policy (Links to an external site.)Links to an external site. before using the system 

Fraud and plagiarism

Over het algemeen geldt dat elke uitwerking die je inlevert ter verkrijging van een beoordeling voor een vak je eigen werk moet zijn, tenzij samenwerken expliciet door de docent is toegestaan. Het inzien of kopiëren van andermans werk (zelfs als je dat hebt gevonden bij de printer, in een openstaande directory of op een onbeheerde computer) of materiaal overnemen uit een boek, tijdschrift, website, code repository of een andere bron - ook al is het gedeeltelijk - en inleveren alsof het je eigen werk is, is plagiaat.

We juichen toe dat je het cursusmateriaal en de opdrachten met medestudenten bespreekt om het beter te begrijpen. Je mag bronnen op het web raadplegen om meer te weten te komen over het onderwerp en om technische problemen op te lossen, maar niet voor regelrechte antwoorden op opgaven. Als in een uitwerking gebruik is gemaakt van externe bronnen zonder dat een bronvermelding is vermeld (bijvoorbeeld in de rapportage of in commentaar in de code), dan kan dat worden beschouwd als plagiaat.

Deze regels zijn er om alle studenten een eerlijke en optimale leeromgeving aan te kunnen bieden. De verleiding kan groot zijn om te plagiëren als de deadline voor een opdracht nadert, maar doe het niet. Elke vorm van plagiaat wordt bestraft. Als een student ernstige fraude heeft gepleegd, kan dat leiden tot het uitschrijven uit de Universiteit. Zie voor meer informatie over het fraude- en plagiaatreglement van de Universiteit van Amsterdam: www.student.uva.nl

Course structure

WeeknummerOnderwerpenStudiestof
1
2
3
4
5
6
7
8

Timetable

The schedule for this course is published on DataNose.

Processed course evaluations

Below you will find the adjustments in the course design in response to the course evaluations.

Contact information

Coordinator

  • dr. Z. Zhao
  • Do not hesitate to send emails to the course coordinator (Zhiming Zhao) or talk via Zoom every Friday 11:30- 13:00. The zoom link is available via Canvas.
  • if you have any problem with the content of the course or lab session that you can solve, please contact immediately one of the TA or the coordinator (Adam) do not wait until the end of the course.

Staff

  • Dr. Adam Belloum
  • Dr. ir. Ana Varbanescu
  • Dr. Zhiming Zhao