Course Title: Concurrent and Distributed Systems
Course Code: CMP 803
Introduction
This is a two-credit unit course offered by the 800-level students of the degree programme in Computer Science. The course provides ideas on the core concepts of concurrent and distributed systems.
The overall aim of CMP 803 is to focus on designing and writing moderate-sized concurrent and distributed applications. In this course content you will find useful details about this course, its aims and objectives, what the course is all about, course materials to be used, available services in support of this course, and details on assignments and examinations. I think you should check regularly for updates. I wish you all the best in your learning and the successful completion of this course.
Course Aim
This course aims to introduce the students to the concepts of concurrent and distributed systems with the hope that the knowledge will help in solving some real-world problems.
Course Outline
Process and thread management: basic process model, scheduling, critical sections and synchronisation; mutual exclusion; concurrency: modelling concurrent activity starting with Java threads; forms of communications, architectures, means of communications – shared memory, direct communication between process; security threats, case study – Unix (fork processes, communication using signals, pipes, sockets, shared memory; distributed systems: client-server model, naming and binding, remote procedure call general principles, protection and security; Java remote method invocation.
Course Objectives
After completing the course successfully, the student should be able to:
- explain the process and thread management;
- describe the mutual exclusion;
- explain concurrency;
- describe the forms and means of communication;
- explain the security threats with a case study and
- explain distributed systems.
Assessment
- Class Attendance, Participation and Discussion: 5 marks
- Course Research Paper: 20 marks
- Mid-Semester: 5 marks
- Final: 70 marks
- Instructor: Kayode Oladapo
- Education: Ph. D. in Computer Science
- Email: oladapoka@mcu.edu.ng
Main Course
- Week 1: Introductory Class
- Week 2: Process and Thread Management
- Week 3 - 4: basic process model, scheduling, critical sections and synchronisation
- Week 5: mutual exclusion
- Week 6 - 7: Concurrency
- Week 8: Course Research Paper / Mid Semester Test
- Week 9- 10: Forms and means of communications
- Week 11 – 12: Security Threats
- Week 13 – 14: Distributed Systems
- Week 15 - 16: Distributed Systems
- Week 17: Revision
- Week 18 - 19: Examination
Recommended Textbooks
- “Operating Systems, Concurrent and Distributed Software Design“, Jean Bacon and Tim Harris, Addison-Wesley 2003
- Distributed Systems, Concepts and Design, George Coulouris, J Dollimore and Tim Kindberg, Pearson Education, 4th Edition,2009.
- Hoare, C.A.R., Lamport, L. (1999). Concurrent and Distributed Systems. In: High-Integrity System Specification and Design. Formal Approaches to Computing and Information Technology (FACIT). Springer, London. https://doi.org/10.1007/978-1-4471-3431-2_5
- M. van Steen and A.S. Tanenbaum, Distributed Systems, 3rd ed., distributed-systems.net, 2017.
Lecture Slide