COMP SCI 3012NA - Distributed Systems

Ngee Ann Academy - Trimester 1 - 2014

A selection of topics from the following: the challenges faced in constructing client/server software: partial system failures, multiple address spaces, absence of a single clock, latency of communication, heterogeneity, absence of a trusted operating system, system management, binding and naming. Techniques for meeting these challenges: RPC and middleware, naming and directory services, distributed transaction processing, 'thin' clients, data replication, cryptographic security, mobile code. Introduction to Java RMI.

  • General Course Information
    Course Details
    Course Code COMP SCI 3012NA
    Course Distributed Systems
    Coordinating Unit School of Computer Science
    Term Trimester 1
    Level Undergraduate
    Location/s Ngee Ann Academy
    Units 3
    Course Description A selection of topics from the following: the challenges faced in constructing client/server software: partial system failures, multiple address spaces, absence of a single clock, latency of communication, heterogeneity, absence of a trusted operating system, system management, binding and naming. Techniques for meeting these challenges: RPC and middleware, naming and directory services, distributed transaction processing, 'thin' clients, data replication, cryptographic security, mobile code. Introduction to Java RMI.
    Course Staff

    Course Coordinator: A/Prof Claudia Szabo

    Course Timetable

    The full timetable of all activities for this course can be accessed from Course Planner.

  • Learning Outcomes
    Course Learning Outcomes
    In Distributed Systems this course, you will learn a range of fundamental and applied techniques in distributed systems. The learning objectives for Distributed Systems are:

    1. To develop and apply knowledge of distributed systems techniques and methodologies.
    2. To gain experience in the design and development of distributed systems and distributed systems applications.
    3. To gain experience in the application of fundamental Computer Science methods and algorithms in the development of distributed systems and distributed systems applications.
    4. To gain experience in the design and testing of a large software system, and to be able to communicate that design to others.

    University Graduate Attributes

    This course will provide students with an opportunity to develop the Graduate Attribute(s) specified below:

    University Graduate Attribute Course Learning Outcome(s)
    Knowledge and understanding of the content and techniques of a chosen discipline at advanced levels that are internationally recognised. 1,2,3
    The ability to locate, analyse, evaluate and synthesise information from a wide variety of sources in a planned and timely manner. 2,3
    An ability to apply effective, creative and innovative solutions, both independently and cooperatively, to current and future problems. 2,3
    Skills of a high order in interpersonal understanding, teamwork and communication. 4
    A proficiency in the appropriate use of contemporary technologies. 1,2
    A commitment to continuous learning and the capacity to maintain intellectual curiosity throughout life. 1,2,3
    A commitment to the highest standards of professional endeavour and the ability to take a leadership role in the community. 4
    An awareness of ethical, social and cultural issues within a global context and their importance in the exercise of professional skills and responsibilities. 4
  • Learning Resources
    Required Resources
    Required readings will be provided on the course website. There is no required textbook for this course.
    Recommended Resources
    Two reference books are provided for this course:

    1 Distributed Systems: Concepts and Design G. Coulouris, Jean Dollimore and Tim Kindberg Addison Wesley, 4th Edition

    2 Distributed Systems: Principles and Paradigms A.S. Tanenbaum and M. Van Steen Pearson, 2nd Edition
    Online Learning
    The Distributed Systems course uses a Moodle forum to provide online resources to students:
  • Learning & Teaching Activities
    Learning & Teaching Modes
    The course aims to introduce students to a wide range of distributed systems concepts and techniques. The course will be taught using the following class activities:
    •2 three-day intensives
    • 5 tutorials throughout the intensives.
    • 3 collaborative classes throughout the semester. Students are expected to attend all classes.

    In addition, students are expected to spend significant time working on their assignments both within and outside of the laboratory. During the course, students will undertake a series of assignments designed to complement the material discussed in lectures and tutorials. These assignments involve the design and development of various fundamental aspects of distributed systems, and will enable students to test their knowledge of the concepts and theory discussed in class. As part of the assignment work, you will be expected to document the design and testing of your software. This will provide you with the opportunity for reflection and review.

    The information below is provided as a guide to assist students in engaging appropriately with the course requirements.

    This information is provided as a guide to assist students in engaging appropriately with the course requirements. Distributed Systems is a 3 unit course. The expectation is that students will devote at least 156 hours to a 3 unit course, including contact hours.
    Learning Activities Summary
    Topics include: remote operations, local and distributed synchronizations, failures and fault tolerant protocols, distributed file systems, distributed commits, PAXOS, consistency models.
  • Assessment

    The University's policy on Assessment for Coursework Programs is based on the following four principles:

    1. Assessment must encourage and reinforce learning.
    2. Assessment must enable robust and fair judgements about student performance.
    3. Assessment practices must be fair and equitable to students and give them the opportunity to demonstrate what they have learned.
    4. Assessment must maintain academic standards.

    Assessment Summary
    The assessment for this course consists of two components with the following weightings:
    • Exam – 70%
    • Assignment work – 24%
    • Collaborative Group Activities – 6%

    Information about the specific assignment weighting is available on the Moodle forum.
    Assessment Detail
    Each collaborative activity is worth 2% of the final mark.
    The schedule of the assignments will be announced on the Moodle forum.

    The assignments are weighted as follows, with accompanying information.
    Assignment 1: Summative, 8%, due,  learning objective 2,3,4.
    Assignment 2: Summative, 10%, learning learning objective 2,3,4.
    Assignment 3: Summative, 6%,  learning objective 2,3,4.
    All programming assignments will be submitted via the school's Web Submission gateway, available from the school web page ( Other materials may be submitted to the school's Moodle forums (

    Both electronic systems provide cover sheets for submitted work. No physical submissions of work will be accepted unless specifically requested by the lecturer - all other submissions will be electronic. Students are strongly advised to keep copies of any electronic work that they submit, if they are entering text into fields without a receipted copy.

    The School of Computer Science observes a strict lateness policy. Your mark is capped by an additional 25% for each day late. 1 day late and your maximum mark can now only be 75%. 2 days late, 50%, 3 days late, 75%. Any submission beyond this point attracts no marks. Days are calculated from the time of hand-in, hence, if a hand-in is due at midnight, 12:01am is 1 day late.

    Extensions may be requested in advance for medical or compassionate reasons but (1) all requests must be accompanied by documentation, (2) extensions awarded will be proportional to any days missed due to illness (sick for 1 day WITH a medical certificate will only get you a 1 day extension), (3) no extensions will be granted on the final day unless the issue is both severe and unforeseen, and (4) extensions are never granted because you have been busy, have managed your time poorly or are over-committed. Extensions are only available for issues that are beyond your control or where you have carefully planned your time where you have a known conflict and, well enough in advance, discussed the matter and arranged an extension.

    Programming marks will be available immediately, once the prac markers have marked your work and you should receive immediate feedback. You will also receive ongoing feedback on other matters throughout the course. Tutorial questions will be discussed in the tutorial. On-line and in-lecture assignment marks will be available within 10 days of the activity, shorter when possible. Any written assignments will be marked and returned within a 2 week period.

    Where your work is of a standard that would put you at risk of hitting the minimum performance criterion, we will attempt to identify you as an at-risk student early on and, if you have been putting in sufficient effort elsewhere, you may be given a chance to resubmit some work that will have the possibility of removing the MP block, although it will not improve your mark.

    Students who demonstrate a late hand-in pattern, or have intermittent hand-in completions, will be contacted and encouraged to change their planning patterns to achieve better results. Obviously, students may choose to continue with their current patterns, with no other penalty than continuing the behaviour that has led to them achieving low marks.

    Students who achieve a final mark in the range of 45-49 will be automatically granted academic supplementary examinations. Students who achieve a final mark of 40-44 may be offered academic supplementary examinations, academic supplementary coursework or a combination of these but the offer is at the discretion of the academic staff. Students who have done very well in the exam but have completed little to no coursework will not be given an opportunity for redemption.
    Course Grading

    Grades for your performance in this course will be awarded in accordance with the following scheme:

    M10 (Coursework Mark Scheme)
    Grade Mark Description
    FNS   Fail No Submission
    F 1-49 Fail
    P 50-64 Pass
    C 65-74 Credit
    D 75-84 Distinction
    HD 85-100 High Distinction
    CN   Continuing
    NFE   No Formal Examination
    RP   Result Pending

    Further details of the grades/results can be obtained from Examinations.

    Grade Descriptors are available which provide a general guide to the standard of work that is expected at each grade level. More information at Assessment for Coursework Programs.

    Final results for this course will be made available through Access Adelaide.

  • Student Feedback

    The University places a high priority on approaches to learning and teaching that enhance the student experience. Feedback is sought from students in a variety of ways including on-going engagement with staff, the use of online discussion boards and the use of Student Experience of Learning and Teaching (SELT) surveys as well as GOS surveys and Program reviews.

    SELTs are an important source of information to inform individual teaching practice, decisions about teaching duties, and course and program curriculum design. They enable the University to assess how effectively its learning environments and teaching practices facilitate student engagement and learning outcomes. Under the current SELT Policy ( course SELTs are mandated and must be conducted at the conclusion of each term/semester/trimester for every course offering. Feedback on issues raised through course SELT surveys is made available to enrolled students through various resources (e.g. MyUni). In addition aggregated course SELT data is available.

  • Student Support
  • Policies & Guidelines
  • Fraud Awareness

    Students are reminded that in order to maintain the academic integrity of all programs and courses, the university has a zero-tolerance approach to students offering money or significant value goods or services to any staff member who is involved in their teaching or assessment. Students offering lecturers or tutors or professional staff anything more than a small token of appreciation is totally unacceptable, in any circumstances. Staff members are obliged to report all such incidents to their supervisor/manager, who will refer them for action under the university's student’s disciplinary procedures.

The University of Adelaide is committed to regular reviews of the courses and programs it offers to students. The University of Adelaide therefore reserves the right to discontinue or vary programs and courses without notice. Please read the important information contained in the disclaimer.