[an error occurred while processing this directive] [an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]

Mr Michael Smith
Fax: +61 3 990 31077

Contact hours: To be advised

Unit 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 analyzed and evaluated. Distributed Software Patterns are presented. The unit also includes case studies of distributed programming paradigms and their applications (e.g. JINI, JavaSpaces).

Learning 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.

Contact hours

2 hrs lectures/wk, 2 hrs laboratories/wk

Workload

Student workload commitments are:

  • two-hour lecture and
  • two-hour tutorial (or laboratory) (requiring advance preparation)
  • a minimum of 2-3 hours of personal study per one hour of contact time in order to satisfy the reading and assignment expectations.
  • You will need to allocate up to 5 hours per week in some weeks.

Unit relationships

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.

Teaching and learning method

Teaching approach

Timetable information

For information on timetabling for on-campus classes please refer to MUTTS, http://mutts.monash.edu.au/MUTTS/

Tutorial allocation

On-campus students should register for tutorials/laboratories using the Allocate+ system: http://allocate.its.monash.edu.au/

Unit Schedule

Week Date* Topic Key dates
1 01/03/10 Introduction, Threads Please Note: This schedule of Topics and Assessment Tasks is subject to change during semester. ________________________ Week 1 Labs - Diagnostic Quiz (Hurdle)
2 08/03/10 Architecture, TCP/IP, Sockets  
3 15/03/10 Protocol Design  
4 22/03/10 State Transitions, Half-Object Plus Protocol, Structured Data Formats  
5 29/03/10 General Security, Java Security  
Mid semester break
6 12/04/10 HTTP, HTTP and Java Assignment 1 due
7 19/04/10 Remote Procedure Call, Web Services Unit Test 1
8 26/04/10 CORBA  
9 03/05/10 RMI, Jeri  
10 10/05/10 Multiple Middleware, Jini  
11 17/05/10 JMS, JXTA  
12 24/05/10 JavaSpaces Assignment 2 due
13 31/05/10 Summary Unit Test 2

*Please note that these dates may only apply to Australian campuses of Monash University. Off-shore students need to check the dates with their unit leader.

Unit Resources

Prescribed text(s) and readings

None

Recommended text(s) and readings

  • An Introduction to Network Programming with Java [electronic resource] by Jan Graba
  • Java Network Programming: A Complete Guide to Networking, Streams, and Distributed Computing by Merlin Hughes, Michael Shoffner, Derek Hamner
  • A Programmers Guide to Jini by Jan Newmarch
  • Java Programming with CORBA by Andreas Vogel and Keith Duddy
  • Java.rmi : The Remote Method Invocation Guide by Esmond Pitt, Kathleen McNiff
  • Core Java 2, Volume 2: Advanced Features by Cay S. Horstmann, Gary Cornell
  • Big Java. 3rd Edition. Horstmann, C.S. (2008).

Required software and/or hardware

  • Java Version 6 (download from java.sun.com)
  • Microsoft Access 2008

Equipment and consumables required or provided

Students studying off-campus are required to have the minimum system configuration specified by the Faculty as a condition of accepting admission, and regular Internet access. On-campus students, and those studying at supported study locations may use the facilities available in the computing labs. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook. You will need to allocate up to n hours per week for use of a computer, including time for newsgroups/discussion groups.

Study resources

Study resources we will provide for your study are:

  • Weekly lecture notes outlining the learning objectives, discussion of the content, required readings if applciable;
  • Weekly tutorial or laboratory tasks and exercises;
  • Assignment specifications;
  • This Unit Guide outlining the administrative information for the unit;
  • The unit web site on MUSO, where resources outlined above will be made available.

Assessment

Overview

Assignments: 100%

Faculty assessment policy

To pass a unit which includes an examination as part of the assessment a student must obtain:

  • 40% or more in the unit's examination, and
  • 40% or more in the unit's total non-examination assessment, and
  • an overall unit mark of 50% or more.

If a student does not achieve 40% or more in the unit examination or the unit non-examination total assessment, and the total mark for the unit is greater than 50% then a mark of no greater than 49-N will be recorded for the unit.

Assignment tasks

Assignment coversheets

Assignment coversheets are available via "Student Forms" on the Faculty website: http://www.infotech.monash.edu.au/resources/student/forms/
You MUST submit a completed coversheet with all assignments, ensuring that the plagiarism declaration section is signed.

Assignment submission and return procedures, and assessment criteria will be specified with each assignment.

  • Assignment task 1
    Title:
    Diagnostic Quiz
    Description:
    In the tutorial labs during the first week of semester students will be required to undertake a quiz on assumed Java programming knowledge.

    The quiz is designed to help students and provide feedback by highlighting gaps or weaknesses in the student's current knowledge of Java. It will therefore serve as a guide to any necessary private study needed to refresh, or learn new, Java concepts.
    Weighting:
    0% (Hurdle)
    Due date:
    Week 1 Labs
  • Assignment task 2
    Title:
    Assignment 1
    Description:
    The design and implementation of a distributed system employing the principles and technologies introduced in the early to mid part of the semester.
    Weighting:
    35%
    Due date:
    Week 6 - date to be advised in the assignment specification.
    Remarks:
    The details of the task and other requirements will be outlined in the assignment specification
  • Assignment task 3
    Title:
    Unit Test 1
    Description:
    Weighting:
    15%
    Due date:
    In the first part of lecture period of Week 7
    Remarks:
    A test on the coding, principles and technologies introduced in the early to mid part of the semester.
  • Assignment task 4
    Title:
    Assignment 2
    Description:
    The design and implementation of a distributed system employing the principles and technologies introduced in the mid to later part of the semester.
    Weighting:
    35%
    Due date:
    Week 12 - date to be advised in assignment specification.
    Remarks:
    The details of the task and other requirements will be outlined in the assignment specification
  • Assignment task 5
    Title:
    Unit Test 2
    Description:
    A test on the coding, principles and technologies introduced in the mid to later part of the semester.
    Weighting:
    15%
    Due date:
    In the first part of lecture period of Week 13

Due dates and extensions

Please make every effort to submit work by the due dates. It is your responsibility to structure your study program around assignment deadlines, family, work and other commitments. Factors such as normal work pressures, vacations, etc. are not regarded as appropriate reasons for granting extensions. Students are advised to NOT assume that granting of an extension is a matter of course.

Students requesting an extension for any assessment during semester (eg. Assignments, tests or presentations) are required to submit a Special Consideration application form (in-semester exam/assessment task), along with original copies of supporting documentation, directly to their lecturer within two working days before the assessment submission deadline. Lecturers will provide specific outcomes directly to students via email within 2 working days. The lecturer reserves the right to refuse late applications.

A copy of the email or other written communication of an extension must be attached to the assignment submission.

Refer to the Faculty Special consideration webpage or further details and to access application forms: http://www.infotech.monash.edu.au/resources/student/equity/special-consideration.html

Late assignment

Assignments received after the due date will be subject to a penalty of 10% per day, including weekends. Assignments received later than one week (seven days) after the due date will not be accepted.

Return dates

Students can expect assignments to be returned within two weeks of the submission date or after receipt, whichever is later.

Appendix

Please visit the following URL: http://www.infotech.monash.edu.au/units/appendix.html for further information about:

  • Continuous improvement
  • Unit evaluations
  • Communication, participation and feedback
  • Library access
  • Monash University Studies Online (MUSO)
  • Plagiarism, cheating and collusion
  • Register of counselling about plagiarism
  • Non-discriminatory language
  • Students with disability
  • End of semester special consideration / deferred exams
[an error occurred while processing this directive]