units

FIT5183

Faculty of Information Technology

Postgraduate - Unit

print version

6 points, SCA Band 2, 0.125 EFTSL

Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered, or view unit timetables.

LevelPostgraduate
FacultyFaculty of Information Technology
OfferedSuzhou First semester 2014 (Day)

Notes

This unit is only available to students enrolled in the double award Master International/Master of Information Technology Systems with South East University, China

Synopsis

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.

Outcomes

At the completion of this unit students will:

  • understand 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.

Assessment

Examination (3 hours): 50%, In-semester assessment: 50%

Chief examiner(s)

Workload requirements

Minimum total expected workload equals 12 hours per week comprising:

(a.) Contact hours for on-campus students:

  • Two hours of lectures
  • One 2-hour laboratory

(b.) Additional requirements (all students):

  • A minimum of 8 hours independent study per week for completing lab and project work, private study and revision.

Prerequisites

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.