Search programme

​Use the search function to search amongst programmes at Chalmers. The study programme and the study programme syllabus relating to your studies are generally from the academic year you began your studies.

Syllabus for

Academic year
TDA381 - Concurrent programming
 
Syllabus adopted 2011-02-24 by Head of Programme (or corresponding)
Owner: TKDAT
7,5 Credits
Grading: TH - Five, Four, Three, Not passed
Education cycle: First-cycle
Major subject: Computer Science and Engineering, Information Technology
Department: 37 - COMPUTER SCIENCE AND ENGINEERING


Course round 1


Teaching language: English

Course module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0105 Examination 4,5 c Grading: TH   4,5 c   22 Oct 2011 am M,  23 Aug 2012 am M
0205 Laboratory 3,0 c Grading: UG   3,0 c    

In programs

MPNET NETWORKS AND DISTRIBUTED SYSTEMS, MSC PROGR, Year 2 (elective)
TIDAL COMPUTER ENGINEERING, Year 3 (elective)
TKDAT COMPUTER SCIENCE AND ENGINEERING, Year 3 (elective)
TKITE SOFTWARE ENGINEERING, Year 3 (elective)
MPSEN SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 2 (elective)
TKTEM ENGINEERING MATHEMATICS, Year 3 (elective)

Examiner:

Docent  Alejandro Russo



Course round 2


Teaching language: English

Course module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0105 Examination 4,5 c Grading: TH   4,5 c   09 Mar 2012 am H
0205 Laboratory 3,0 c Grading: UG   3,0 c    

In programs

TKDAT COMPUTER SCIENCE AND ENGINEERING, Year 2 (compulsory elective)
TKDAT COMPUTER SCIENCE AND ENGINEERING, Year 3 (elective)
TKITE SOFTWARE ENGINEERING, Year 3 (elective)
TKITE SOFTWARE ENGINEERING, Year 2 (elective)
MPSEN SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 2 (elective)
MPCSN COMPUTER SYSTEMS AND NETWORKS, MSC PROGR, Year 1 (elective)

Examiner:

Docent  Alejandro Russo



Course evaluation:

http://document.chalmers.se/doc/782096924


  Go to Course Homepage

Eligibility:

For single subject courses within Chalmers programmes the same eligibility requirements apply, as to the programme(s) that the course is part of.

Course specific prerequisites

Solid background in programming.  Knowledge of object oriented (for example Java) and functional (for example Haskell) languages is a big plus.


 

Aim

Concurrent programming plays a vital role in systems where many events appear to occur simultaneously.  This course aims to provide an introduction to the problems common to concurrent systems such as operating systems, distributed systems, real-time systems but also systems that require parallelisation such as internet services and modern games.


 

Learning outcomes (after completion of the course the student should be able to)

 - demonstrate the critical knowledge of the issues and problems that arise in shared-memory and message-passing concurrent systems

- identify concurrent (synchronization) problems, for example shared update, dining philosophers, producer-consumer, resource allocation, time-outs

- adapt common patterns for solving those problems, for example locks, client-server, pipelines, replicated workers, barrier synchronization, passing the baton, alarms

- design and argue for the correctness, clarity, and efficiency of solutions

- apply practical knowledge of the programming constructs and techniques offered by modern concurrent programming languages

- implement such solutions in expressive programming languages

Content

General concepts: parallelism, interference, synchronization, critical regions, mutual exclusion, deadlock, fairness, livelock. Synchronization using shared variables; busy waiting.  Semaphores. Monitors.  Synchronous message passing: extended rendezvous. Asynchronous message passing: Erlang.  Asynchronous coordination: Linda.


 

Organisation

The course is organized as lectures and laboratory assignments.


 

Literature

The literature to be used is announced in advance on the course home page.

Last time we used "Foundations of multithreaded, parallel and distributed programming" by Greg Andrews, Addison Wesley.


 

Examination

The course is examined by laboratory assignments and a written examination. Possible grades: U, 3, 4, 5.


Page manager Published: Mon 28 Nov 2016.