Course Code: ICT331
Synopsis
This course introduces you to the basic ideas in concurrent systems. It discusses the basic hardware and software for such systems and examines the nature of a concurrent process as well as multi-threading with a programming language. The course will also look into inter-process communications as concurrent processes inter among themselves. In particular, it will consider the important issue of accessing shared data.As this is a practical course, it will use Java, a programming language commonly used in the industry, for investigating topics such as multi-threading and accessing shared data
Level: 5
Credit Units: 5
Presentation Pattern: Every January
Topics
- The nature of concurrent systems
- Hardware and software support for concurrent systems
- The concept of a process and concurrent processes
- The fundamentals of distributed systems
- Basic inter-process communications
- Accessing shared data and shared implementations
Learning Outcome
- Illustrate what is a concurrent system
- Differentiate among concurrent, potentially concurrent and non-concurrent systems
- Appraise the role of hardware and operating systems in concurrent processing
- Discuss the characteristics and issues involved in distributed processing
- Show the concurrent processing issues for shared memory systems
- Construct programs involving multi-threading and synchronised concurrent processes