FIT5170 - Programming for distributed, parallel and mobile systems - 2017

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.

Faculty

Information Technology

Unit guides

Offered

Caulfield

  • First semester 2017 (Day)

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 (e.g. JINI, JavaSpaces).

Outcomes

At the completion of this unit, students should be able to:

  1. analyse critically and reflect on the concepts and characteristics of distributed and concurrent software;
  2. identify and evaluate common distributed and concurrent software designs;
  3. design distributed software applications using typical distributed software architectures;
  4. write distributed and concurrent software programs.

Assessment

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

Workload requirements

Minimum total expected workload equals 12 hours per week comprising:

  1. Contact hours for on-campus students:
    • Two hours of lectures
    • One 2-hour laboratory
  2. 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

Chief examiner(s)

This unit applies to the following area(s) of study

Prerequisites

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.

Additional information on this unit is available from the faculty at: