Skip to main content

Unit information: Concurrency in 2013/14

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Concurrency
Unit code COMS20600
Credit points 10
Level of study I/5
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Burghardt
Open unit status Not open
Pre-requisites

COMS11300 Procedural Programming COMS11700 Theory of Computation

Co-requisites

None

School/department Department of Computer Science
Faculty Faculty of Engineering

Description including Unit Aims

To provide students with the theory, principles and practical implementations of concurrent and communicating systems. Aims include gaining an understanding of the fundamentals via exposure to the theory of concurrent processes, and understanding how to apply the concurrent techniques to practical problems.

Intended Learning Outcomes

Successful completion of this unit should lead to the student:

  • Understanding how concurrent systems can be specified in a formal language, such as CSP
  • Understanding the role of communication in concurrent systems
  • Understanding the problems when scaling concurrent systems
  • Be able to specify, design and implement simple concurrent systems
  • Have an understanding of basic usage of a contemporary concurrent programming language, and how to use it to implement a concurrent, communicating system.

Teaching Information

20 lectures plus 10x 2h labs

Assessment Information

2-hour written exam (50%), practical implementation coursework (50%)

The coursework aims to strengthen students' understanding of the role of communication and concurrency in concurrent systems in a practical context. It requires students to specify, design and implement a concurrent system using a contemporary concurrent programming language.

This covers 3 of the learning objectives as indicated by [x]:

Successful completion of this unit should lead to the student:

  • Understanding how concurrent systems can be specified in a formal language, such as CSP [x] Understanding the role of communication in concurrent systems
  • Understanding the problems when scaling concurrent systems [x] Be able to specify, design and implement simple concurrent systems [x] Have an understanding of basic usage of a contemporary concurrent programming language, and how to use it to implement a concurrent, communicating system.

Reading and References

Schneider. Concurrent and Real-Time Systems: A CSP Approach. Wiley. 2000. ISBN: 0471623733 Background Concurrent Programming: Principles and Practice, Gregory Andrews, Background Programming XC on XMOS Devices, Douglas Watt, Background Principles of Concurrent and Distributed Programming (2nd Edition), Mordechai Ben-Ari, Background Distributed algorithms, Nancy A. Lynch, Background Concurrent systems: an integrated approach to operating systems, database, and distributed systems, Jean Bacon, Background

Feedback