Course co-ordinator(s): Prof Mike Chantler (Edinburgh), Dr Hani Ragab Hassen (Dubai), Aiman Shariah (Dubai), Dr Timothy Yap (Malaysia).
Aims:
- For the Operating system part: To provide an introduction to operating systems, and their basic principles.
- For the Concurrency part: To introduce the theory and practice of concurrent software systems.
Detailed Information
Course Description: Link to Official Course Descriptor.
Pre-requisites: Good knowledge of OO programming, Data Structures and Algorithms (Java preferable).
Location: ALP, Dubai, Edinburgh, Malaysia.
Semester: 2.
Syllabus:
For the Operating system part: - Overview on operating systems concepts and structures. - Main operating system abstractions such as processes & threads, files, and address space. - CPU scheduling, memory management and disk management
For the Concurrency part: - multi-core systems, threads, inter-thread communication, synchronisation, - mutual exclusion, critical regions, - monitors, semaphores, and atomic variables
Learning Outcomes: Subject Mastery
For the Operating systems part:
- Understanding of the concepts and structures present in modern operating systems.
- Extensive and in-depth understanding of the different aspects of resource management performed by modern operating systems, such as CPU scheduling, memory management, and disk management.
- Hands-on experience
For the Concurrency part:
- Understanding of concurrency concepts, communication techniques and problems
- Critical understanding of predominant concurrency patterns
- Hands-on experience
Learning Outcomes: Personal Abilities
- Critically evaluate the problematic and concepts related to operating systems.
- Analysis of the different possible solutions to leveraging concurrency for parallel execution and synchronisation.
SCQF Level: 9.
Credits: 15.