Module Details

Module Code: COMP
Module Title: Concurrent Development
Title: Concurrent Development
Module Level:: 8
Credits:: 5
Module Coordinator: Nigel Whyte
Module Author:: Joseph Kehoe
Domains:  
Module Description: To provide learners with a theoretical knowledge and practical skills of developing concurrent software
 
Learning Outcomes
On successful completion of this module the learner will be able to:
# Learning Outcome Description
LO1 Assess the different approaches to developing concurrent systems.
LO2 Design, develop and test concurrent systems.
LO3 Evaluate proposed concurrent architectural designs.
Dependencies
Module Recommendations

This is prior learning (or a practical skill) that is recommended before enrolment in this module.

No recommendations listed
Co-requisite Modules
No Co-requisite modules listed
Additional Requisite Information
No Co Requisites listed
 
Indicative Content
Architecture
Flynn’s Taxonomy, Multicore, Manycore and Stream Processors
Concurrency Models
Shared Memory Model, Message Passing Model, Software Transactional Memory and Actors
Concurrency Issues
Replication, Fault Tolerance, Load Balancing and Scalability
Concurrent API's
OpenMP, Cilk, Map-Reduce, CUDA
Module Content & Assessment
Assessment Breakdown%
Project20.00%
Practical20.00%
End of Module Formal Examination60.00%

Assessments

Full Time

No Continuous Assessment
Project
Assessment Type Project % of Total Mark 10
Timing Week 9 Learning Outcomes 1,2,3
Non-marked No
Assessment Description
Concurrent System Development using appropriate tools. (Design, implement and test)
Assessment Type Project % of Total Mark 10
Timing Week 11 Learning Outcomes 1,2,3
Non-marked No
Assessment Description
Performance measurement of previously developed concurrent system. System profiling and analytics.
Practical
Assessment Type Practical/Skills Evaluation % of Total Mark 20
Timing Every Week Learning Outcomes 2
Non-marked No
Assessment Description
Laboratory Exercises. Development of small concurrent projects each solving a different well known concurrency problem. Familiarisation with the toolset used for concurrent programming.
End of Module Formal Examination
Assessment Type Formal Exam % of Total Mark 60
Timing End-of-Semester Learning Outcomes 1,2,3
Non-marked No
Assessment Description
No Description
Reassessment Requirement
Exam Board
It is at the discretion of the Examination Board as to what the qualifying criteria are.

SETU Carlow Campus reserves the right to alter the nature and timings of assessment

 

Module Workload

Workload: Full Time
Workload Type Workload Category Contact Type Workload Description Frequency Average Weekly Learner Workload Hours
Lecture Contact Lecture 12 Weeks per Stage 2.00 24
Independent Learning Time Non Contact Estimate Learner Hours 15 Weeks per Stage 5.13 77
Laboratory Contact No Description 12 Weeks per Stage 2.00 24
Total Weekly Contact Hours 4.00
 
Module Resources
Recommended Book Resources
  • Maurice Herlihy, Nir Shavit. The Art of Multiprocessor Programming, Revised Reprint, Morgan Kaufmann, p.536, [ISBN: 0123973376].
  • Michael McCool, James Reinders, Arch Robison. Structured Parallel Programming, Morgan Kaufmann, p.432, [ISBN: 9780124159938].
  • Clay Breshears. The art of concurrency, Beijing ; O'Reilly, c2009., [ISBN: 9780596521530].
  • Multicore and GPU Programming, San Diego; Morgan Kaufmann [Imprint], [ISBN: 9780124171374].
Supplementary Book Resources
  • P. Butcher. (2014), Seven Concurrency Models in Seven Weeks, Pragmatic Bookshelf.
This module does not have any article/paper resources
This module does not have any other resources
Discussion Note: