Course co-ordinator(s): Prof Mike Chantler (Edinburgh), Dr Hani Ragab Hassen (Dubai).
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.
Assessment Methods: Due to covid, assessment methods for Academic Year 2021-22 may vary from those noted on the official course descriptor. Please see the Computer Science Course Weightings and the Maths Course Weightings for 2020-21 Semester 1 assessment methods.
SCQF Level: 9.
Credits: 15.

