Concurrent and Distributed Programming

Dublin City University

Course Description

  • Course Name

    Concurrent and Distributed Programming

  • Host University

    Dublin City University

  • Location

    Dublin, Ireland

  • Area of Study

    Computer Programming, Computer Science

  • Language Level

    Taught In English

  • Course Level Recommendations

    Upper

    ISA offers course level recommendations in an effort to facilitate the determination of course levels by credential evaluators.We advice each institution to have their own credentials evaluator make the final decision regrading course levels.

    Hours & Credits

  • ECTS Credits

    7.5
  • Recommended U.S. Semester Credits
    3
  • Recommended U.S. Quarter Units
    5
  • Overview

    Description
    This module aims to introduce the student to issues involved in concurrent and distributed computing, and particularly to the paradigms used in concurrent and distributed computing to address these issues. To facilitate learning on part of the student, algorithms are presented in the form of solutions to everyday problems (e.g. modelling a queue in a bakery shop). 

    Learning Outcomes
    1. Distinguish between two forms of Parallel Computing: Concurrent & Distributed; The fundamental concepts underlying concurrent & distributed computing.
    2. Explain the meaning of concurrent programming and where it fits in with single-threaded programming paradigms (Concurrency & Parallelism, Multithreading, Multicore…)
    3. Describe common architectures for concurrent and distributed programs.
    4. Understand when concurrent programming can be used to solve common problems in computer science (Dining Philosophers, Producers/Consumers etc)
    5. Explain communication in Concurrent and Distributed Programs (Synchronous/Asynchronous…)
    6. Evaluate the impact of various synchronization models for safe concurrent (semaphores/monitors) and distributed programs including issues related to replication & consistency.
    7. Explain support for advanced concurrency in a modern general purpose programming language.
    8. Write, analyse and debug multi-threaded and distributed programs involving multiple agents.
    9. Explain the operation of communication libraries (such as OPENMP) for message passing.
    10. Apply technologies supporting distributed applications such as distributed object-based and coordination-based technology (RMI/RPC and Web Services using SOAP/REST).

Course Disclaimer

Courses and course hours of instruction are subject to change.

Credits earned vary according to the policies of the students' home institutions. According to ISA policy and possible visa requirements, students must maintain full-time enrollment status, as determined by their home institutions, for the duration of the program.

ECTS (European Credit Transfer and Accumulation System) credits are converted to semester credits/quarter units differently among U.S. universities. Students should confirm the conversion scale used at their home university when determining credit transfer.

Please note that some courses with locals have recommended prerequisite courses. It is the student's responsibility to consult any recommended prerequisites prior to enrolling in their course.