cse

School of Computer Science and Engineering, UNSW

CRICOS Provider No. 00098G


Distributed Systems [COMP9243]

Course Outline

Session 1, 2009

Table of Contents

Course Staff
Course Information
Course Schedule
Assessment
Resources for Students
Academic Honesty and Plagiarism
Further Information


Course Staff

Function Name Consultation Time Email Address
Lecturer
(in charge)
Ihor Kuz Thursday, 15:00-16:00 cs9243

Course Information

Units of Credit

6 Units of Credit.

Along with lectures and the exam, the assignments make up a significant part of the course load.

Course Aims

A distributed system is a computer system consisting of several independent computers, connected by a network, that can work together to perform a task or provide a service.

In this course we aim to provide students with a deeper understanding of distributed systems. In particular we focus on the principles, techniques, and practices relevant to the design and implementation of distributed systems. The course takes a systems-oriented view of distributed systems, concentrating on infrastructure software and providing hands-on experience implementing distributed systems.

Concretely the course has the following objectives:

Learning Outcomes

After completing this course you will be able to:

These learning outcomes cover many of the UNSW graduate attributes including: an in-depth engagement with the relevant disciplinary knowledge in its inter-disciplinary context, the capacity for analytical and critical thinking and for creative problem solving, and the skills of effective communication.

Related Courses and Programs

Students are expected to be highly competent in the use of a systems programming language—preferably C. Students not familiar with C will be expected to learn it on their own. Furthermore, students are expected to be confident in the use of standard POSIX system libraries (including file handling, process management, signal handling, and socket programming). Moreover, students are required to become competent in the concurrent programming language Erlang on their own (a brief introduction is given in the first lecture).

Course Prerequisites

Since networks make up a key part of distributed systems, and since many of the key challenges and solutions presented in the course extend those found in operating systems, a solid background in both networking and operating systems is essential. The course builds on many of the topics covered in the prerequisites.

  1. COMP3231 or COMP9201 Operating Systems
  2. COMP3331 or COMP9331 Computer Networks and Applications

Parallel Teaching

Only COMP9243 students attend these classes. The students include postgraduates and senior undergraduates.

Course Philospohy and Teaching Strategies

The learning focus in this course is primarily on lectures and assignments. Relevant research publications and other material that goes deeper into the subjects handled during lectures are also provided, however, these are usually optional. While the assignments provide a portion of the final mark, one of their primary aims is to provide an opportunity to put into practice some of the material presented in the lectures and to get a feel for the complexity of programming distributed systems. To this end, we also provide unmarked exercises that encourage students to further explore the topics presented in the course.


Course Schedule

Lectures: Wednesday 6-9pm; Room: Law Building (F8), room 163.

The following is a provisional list of topics covered in the lectures (subject to change):

WeekDateTopic
04 Mar No Lecture
111 Mar Introduction to Distributed Systems, Introduction to Erlang 
218 MarSystem Architecture, Communication
325 MarReplication & Consistency, Distributed Shared Memory
41 AprSynchronisation & Coordination
58 AprSynchronisation & Coordination
 15 AprMid-session Recess
622 AprMiddleware
729 AprilFault Tolerance
86 MaySecurity
913 MayNaming, Distributed File Systems
1020 MayParallel Programming, Clusters and Cloud Computing
1127 MayDistributed Systems in Practice (Guest Lectures)
123 JunReview and Other Topics

Assessment

Assignments

There will be two programming assignments, which contribute in equal parts to the total assignment mark for this course. Tentative details are as follows:

#Release -
Beginning of
Due -
End of
Topic
1Week 3Mid-session RecessDistributed Shared Memory
(group assignment)
2Week 8Week 10Router Network
(individual assignment)

Assignment submissions need to be coded in C and Erlang (as determined by the assignment specification). All submission will be tested on the School's vina cluster running under Debian GNU/Linux.

The penalty for late submission of assignments will be 6% (of the worth of the assignment) subtracted from the raw mark per day of being late. In other words, earned marks will be lost. For example, assume an assignment worth 25 marks is marked as 20, but had been submitted two days late. The late penalty will be 3 marks ((0.06 * 25) * 2), resulting in a mark of 17 being awarded. No assignment will be accepted later than one week after the deadline.

Final Exam

A three hour open book written final examination will be conducted.

Supplementary exam

Supplementary exams will only be awarded in serious cases where the student has submitted a fully documented request for Special Consideration within 3 working days of the exam. In accordance with School policy, supplementary exams will not be awarded as a second chance for poorly performing students. In particular, it is unlikely that a supplementary will be awarded to students who have actually sat the proper exam. Make up your mind whether or not you are sick before attempting the exam! Moreover, a supplementary exam will only be awarded where a student's performance during the semester has been of satisfactory standard. Please refer to the sections under the heading Special Consideration - Illness & Misadventure and CSE Supplementary Assessment Policy in the Yellow Form for further details.

Supplementary exams will be oral. Supplementary final exams will be held either on the day before, or the day after, the written supplementary exams held for other courses.

Final Mark

The final mark will be the weighted average of the exam mark and the total assignment mark, where the exam mark accounts for 65% and the assignment mark accounts for 35% of the final mark . No-one will be allowed a passing grade unless their exam mark was at least 50% of the maximum possible exam mark.


Resources for Students

Textbooks

There is no single textbook for this course. Lecture material will be taken from a variety of sources, including recent research publications.

Reference Books

Books covering a significant part of the lecture material are the following:

None of these books covers all the course material.

Other Material

Reference to research papers will be provided throughout, and it is recommended that you read them. Lecture notes and other information can be found under the course's WWW home page at URL http://www.cse.unsw.edu.au/~cs9243/. It is recommended that you refer to this page regularly.


Academic Honesty and Plagiarism

Assignments will be marked as individual or team assignments as stated in the specification. Team work is not permitted in individual assignments; cooperation between teams is not permitted in team assignments. Both will be regarded as cheating. Copying of assignment code leads to immediate failure of the course with a result of 0FL. Negative or reduced marks will be imposed in less severe cases (e.g., team work in individual assignments). Cases of repeated cheating (in this or other courses) will be treated as academic misconduct and will result in an application being made to have the offender(s) suspended from the University. Please carefully read the discussion under the heading Originality of Assignment Submissions on the Yellow Form to which you agree to be legally bound when enrolling for this course and/or signing up for the use of the computing facilities of the School.

This is no idle threat. We check for cheating, and we go after cheaters, to protect those who get their marks through honest work. In a previous instance of this course (Session 1, 2001), two out of 36 students failed due to cheating.

What is Plagiarism?

Plagiarism is the presentation of the thoughts or work of another as one's own.* Examples include:

Submitting an assessment item that has already been submitted for academic credit elsewhere may also be considered plagiarism.

The inclusion of the thoughts or work of another with attribution appropriate to the academic discipline does not amount to plagiarism.

Students are reminded of their Rights and Responsibilities in respect of plagiarism, as set out in the University Undergraduate and Postgraduate Handbooks, and are encouraged to seek advice from academic staff whenever necessary to ensure they avoid plagiarism in all its forms.

The Learning Centre website is the central University online resource for staff and student information on plagiarism and academic honesty. It can be located at: www.lc.unsw.edu.au/plagiarism.

The Learning Centre also provides substantial educational written materials, workshops, and tutorials to aid students, for example, in:

Individual assistance is available on request from The Learning Centre.

Students are also reminded that careful time management is an important part of study and one of the identified causes of plagiarism is poor time management. Students should allow sufficient time for research, drafting, and the proper referencing of sources in preparing all assessment items.

* Based on that proposed to the University of Newcastle by the St James Ethics Centre. Used with kind permission from the University of Newcastle

** Adapted with kind permission from the University of Melbourne.


Course Evaluation and Development

Student feedback on this course, and on the lecturing in this course, will be gathered via questionnaires (including the CATEI evaluation) held at or after the end of the course. Student feedback is taken seriously, and continual improvements are made to the course based in part on this feedback. While no serious issues have been raised in the previous evaluation, we have made changes to assignments and assignment specifications based on student comments and updated lecture material to ensure that it is up-to-date as well as to improve sections that have been unclear to students in the past. We also include (subject to availability of speakers) relevant guest lectures from industry practitioners to provide examples of how the material covered in class is used in practice.

Further Information


COMP9243, School of Computer Science and Engineering, University of New South Wales CRICOS Provider Number: 00098G

This page is maintained by cs9243@cse.unsw.edu.au Last modified: Wednesday, 25-Feb-2009 16:42:41 EST
Top Of Page

 ###
Site maintained by webmistress@cse.unsw.edu.au
Please read the UNSW Copyright & Disclaimer Statement