Artificial Intelligence (3 Years) [BSc]
|Unit level:||Level 2|
|Teaching period(s):||Semester 2|
|Offered by||School of Computer Science|
|Available as a free choice unit?:||Y
- COMP18112 - Fundamentals of Distributed Systems (Compulsory)
- COMP16212 - Object Oriented Programming with Java 2 (Compulsory)
- COMP25111 - Operating Systems (Optional)
Additional RequirementsStudents who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.
Many of the most important and visible uses of computer technology rely on distributed computing. This course unit aims to build on the course unit in the first year (COMP10052) which introduced students to the principles of distributed computing, and it focuses on techniques and methods in sufficient breadth and depth to provide a foundation for the exploration of specific topics in more advanced course units. The course unit assumes that students have already a solid understanding of the main principles of computing within a single machine, have a rudimentary understanding of the issues related to machine communication and networking, and have been introduced to the area of distributed computing.
OverviewMany of the most important and visible uses of computer technology rely on distributed computing. Understanding distributed computing requires an understanding of the problems and the challenges stemming from the coordinated operation of different hardware and software. The course focuses on a set of common techniques required to address the key challenges of distributed computing.
Teaching and learning methods
22 in total, 2 per week
10 hours in total, 5 2-hour sessions
Learning outcomes are detailed on the COMP28112 course unit syllabus page on the School of Computer Science's website for current students.
- Analytical skills
- Problem solving
- Written exam - 80%
- Practical skills assessment - 20%
Revision of the characteristics of distributed systems. Challenges. Architectural models.
Remote Invocation and Distributed Objects
Java RMI, CORBA, Web Services.
Synchronous vs asynchronous messaging. Point-to-point messaging. Publish-subscribe.
Concurrency, co-ordination and distributed transactions
Ordering of events. Two-phase commit protocol. Consensus.
Caching and Replication
Service-Oriented Architectures, REST and Web Services
COMP28112 reading list can be found on the School of Computer Science website for current students.
Feedback methodsFormative feedback based on assessment of different solutions to problems relevant to the module or area of weakness from previous years. Feedback is also provided by demonstrators in the laboratory.
- Assessment written exam - 2 hours
- Lectures - 24 hours
- Practical classes & workshops - 12 hours
- Independent study hours - 62 hours