6 points, SCA Band 2, 0.125 EFTSL
Postgraduate - Unit
Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.
Not offered in 2019
Recommended knowledge: Some exposure to multithreading. Knowledge of all Java language constructs such as loops, conditionals, methods, classes, inheritance and core Java packages. Use of O/O models such as UML diagrams.
Fundamentals of data and computer communication methods and techniques, including ISO and TCP/IP layered protocols.
This unit focuses on the design and programming techniques essential for developing distributed software systems and applications - with Java as the teaching language. The unit presents concurrent programming primitives and concepts for distributed systems. The unit also focuses on application of concurrent techniques in distributed system designs. Programming and implementation issues and techniques of distributed applications are studied. Enabling techniques for building distributed systems are analysed and evaluated. Distributed Software Patterns are presented. The unit also includes case studies of distributed programming paradigms and their applications (e.g. JINI, JavaSpaces).
At the completion of this unit, students should be able to:
- analyse critically and reflect on the concepts and characteristics of distributed and concurrent software;
- identify and evaluate common distributed and concurrent software designs;
- design distributed software applications using typical distributed software architectures;
- write distributed and concurrent software programs.
Examination (2 hours plus 30 minutes reading and noting time): 50%, In-semester assessment: 50%
Minimum total expected workload equals 12 hours per week comprising:
- Contact hours for on-campus students:
- Two hours of lectures
- One 2-hour laboratory
- Additional requirements (all students):
- A minimum of 8 hours independent study per week for completing lab and project work, private study and revision.
See also Unit timetable information