\documentstyle[12pt]{article}
\setlength{\textwidth}{6.5in}
\setlength{\textheight}{9in}
\setlength{\oddsidemargin}{0pt}
\setlength{\evensidemargin}{0pt}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\topmargin}{0pt}
\sloppy
\begin{document}
\thispagestyle{empty}



\begin{center}
\Large {CS 402b/535b: Distributed and Parallel Systems} \\[0.2in]
The University of Western Ontario   \\
Distributed and Parallel Systems \\
Course Description -- Winter 2005 \\
\end{center}

\section*{Description}

\noindent This course studies the fundamental aspects of
building distributed systems and developing distributed 
applications.  Emphasis is placed on client-server and peer-to-peer
application design, implementation using sockets and developing reliable 
applications through the use of replication, group membership protocols,
clock synchronisation and logical timestamps.  Students will have the
opportunity to develop peer-to-peer and reliable distributed applications. 

\section*{Lecture Hours}

This course meets three hours per week on Tuesday from 10:00 to 12:00 in 
and Thursday from 10:00 to 11:00 in NCB 113.

\section*{Prerequisites}


\begin{tabbing}
CS305 -- Operating Systems \\
CS350 -- Computer Architecture (sometimes not enforced) \\
CS357 -- Computer Communication Networks \\
\end{tabbing}

\noindent {\bf Note:} Students who have been admitted to this course without the
normal prerequisites may not have been exposed
to some of the background material expected for this course; it is the
responsibility of these students to gain familiarity with this material
on their own.


\section*{Antirequsite}
SE 466

\section*{Instructor}

\begin {tabbing}
      Name -- Dr. Hanan Lutfiyya \\
      Office Location -- Middlesex College MC418 \\
      Phone Number -- 661-2111 Ext. 86888 \\
      E-Mail -- {\sf hanan@csd.uwo.ca} \\
      Office Hours (Tentative) -- Tuesday 12:05-1:05, Thursdays 11:05-1:05 or by appointment.
\end {tabbing}

\section*{Textbooks and Lecture Notes}
  
\noindent {\bf Required Textbook}:

One book is required for this course and is available for purchase from
the University Bookstore.  

\begin{itemize}
\item Andrew S. Tanenbaum and Maarten van Steen,
      {\it Distributed Systems: Principles and Paradigms}, 
      Prentice-Hall, ISBN 0-13-088893-1, 2002.

\end{itemize}

\noindent {\bf References}:

\begin{itemize}
\item G. Colouris, J. Dollimore, and T. Kindberg, 
{\it Distributed Systems: Concepts and Design}, 3rd edition, Addison-Wesley, 2001.

\item J. Kurose and K. Ross,
{\it Computer Networking: A Top-Down Approach Featuring the
Internet}, Addison-Wesley, 2001. 

\item R. Stevens, Unix Network Programming, Volume 1, Prentice-Hall.

\item Links to web pages on various topics including socket programming, RPC,
and threads.

\item The man pages
\end{itemize}

\noindent {\bf Lecture Notes}:

Lecture overheads will be available (hopefully) before each lecture
through the CS402 web site.

\section*{Computing Facilities}

Each student will be given an account on the Computer Science Department 
senior undergraduate computing facility, GAUL. In accepting the GAUL account, 
a student agrees to abide by the department's Rules of Ethical Conduct.

%Note:  After-hours access to certain Computer Science lab rooms is by 
%student card. If a student card is lost, a replacement card will no 
%longer open these lab rooms, and the student must bring the new card to a 
%member of the Systems Group in Middlesex College Room 346. 

\section*{Email Contact} 

We will occasionally need to send email messages to the whole class, or to 
students individually. Email will be sent to your GAUL email address. You must 
make sure that you read your email on GAUL on a frequent and regular basis 
(at least every 3 days), or have it forwarded to an alternative email address 
if you prefer to read it there. 

However, you should note that email at ITS (your UWO account) and other 
email providers such as {\it hotmail.com} or 
{\it yahoo.com} may have quotas or limits 
on the amount of space you can use. If you let your email accumulate there, 
your mailbox may fill up and you may lose important email from your 
instructors.  Losing email that you have forwarded to an alternative email 
address is not an excuse for not knowing about the information that was sent.

Email sent from hotmail or other non-UWO accounts, regarding important course 
details, will be ignored unless you cc your UWO account in the message.


\section*{Course Website}

The course website is at http://www.csd.uwo.ca/courses/CS402b.
Important announcements, assignments, and other course related information 
will be posted on this web site. You are responsible for checking the 
information. If you fail to do so and miss any information, this is your 
problem and no special accommodations will be given.

\section*{Student Evaluation}

\begin{itemize}

\item There are three basic components that will be used to
determine a student's mark in the course:
\begin {itemize}
\item A final exam worth 40\% of the overall mark
\item One quiz worth 15\% of the overall mark
\item Programming assignments worth 45\%  of the overall mark
%\item Two concept assignments worth  10\% of the overall mark
\end {itemize}

\item The following rules are designed to ensure
that students progressing in the honors programs and the fourth year
general meet certain minimum standards:

\begin{itemize}
\item To be eligible to pass the course, a student must receive
at least 40\% in the quiz/exam component and 
at least a 40\% in the individual assignments.

\item To be eligible to receive an overall grade of 60\% or higher in the
course, a student must receive at least 50\%  in the quiz/exam 
component and at least 50\% in the individual assignments.

\end{itemize}

\item {\bf Exams and Quiz} (Tentative)

The  final exam is scheduled by the Registrar.  It is tentatively
set for April 13 at 2:00 PM.  There is a one hour in-class 
quiz on February 17.

\begin{itemize}
\item Both the quiz and the final exam are closed-book.  You are allowed one
8x11 sheet of paper with handwritten notes on it.
\item There will be no makeup quiz, except for students requesting a 
Special Quiz for religious reasons. These students must have notified the 
course instructor and filed documentation with their Dean's office at 
least two weeks prior to the Quiz. 
\item If you miss the Midterm Quiz for any other reason, and present valid 
documentation to the Dean's office, your  Final Exam mark will be 
reweighted to include the weight of the Quiz. You must notify the course 
instructor within a week of the missed Quiz,  and documentation must be 
received by your Dean's office within  2 weeks of the missed Quiz. 
\item Quiz marks will be posted within 2 weeks of the quiz at the latest. 
\end{itemize}

\item {\bf Assignments}

There are three programming assignments.
The assignment schedule is found in table \ref{ass1-table}.

\begin{table}[hbtp]
\centerline{\begin{tabular}{|c|c|c|c|c|} \hline
Assignment & Due Date & Groups & Expected Load & Weight \\ \hline \hline
1 & Feb 11 & Yes & Medium &  15\%\\
2 & Mar 11 & Yes & Medium & 15\%\\
3 & Apr 8  & Yes & Medium & 15\%\\ \hline
\end{tabular}
}
\caption{Programming Assignment Workload}
\label{ass1-table}
\end{table}


\noindent If we cannot keep to the assignment schedule, marks will 
be pro-rated as necessary, within the 45\% allotment for programming 
assignments.

\noindent Changes will not be made to these due dates without consulting
the Computer Science Department.

\end{itemize}

\section* {\bf Assignments}

Assignments will be made available on the departmental computing system
through the 402 home page ({\it http://www.csd.uwo.ca/courses/CS402b}).  The 
availability of assignments will be announced via e-mail.  Students
are responsible for checking their e-mail on a regular
basis.

\noindent{\bf Assignment Submission}
\begin{itemize}
\item All assignments are due by midnight of the due date in the locker
assigned for this course.   This includes an Assignment Submission Form (see
web site) that is filled out and signed.

\item All programming assignments will be submitted electronically using
the {\sf submit} command on GAUL. More details will be provided
with assignment handouts.

\item To be eligible for full marks, assignments must run on the
departmental computing equipment.  You may develop assignments
on your home computer, but you must allow for the amount of time it will
take to get the final product working on {\it GAUL}.
Assignments that work on your own computer but not on
{\it GAUL} will be eligible for part marks.

\end{itemize}

\noindent{\bf Late Assignments}

\begin{itemize}
\item Late
assignments may be handed in, but with a penalty of $2^{n}$ marks,
where $n$ is the number of days late.  For example, if an assignment
is turned in one day late, 2 marks are deducted, and so on.  Saturday
and Sunday together count as one day.  

\item Assignments more than 5 days late will not be accepted.  

\item  Extensions will be granted only by the course instructor, not by a TA, 
and will be granted only on serious medical or compassionate grounds. To 
obtain an extension, you must take supporting documentation to the office of 
the Dean of your faculty, who will contact the instructor. 

\item  In cases of undocumented minor illness,  extensions will not be 
given, and you should use late coupons (described below). 

\end{itemize}

\noindent{\bf Late Coupons}

Each student will be given 3 ``late coupons''.
Each coupon can be thought of as a potential one-day assignment extension.
It is entirely up to you to decide when to use your coupons; more than one
coupon may be used per assignment. You will indicate the
number of  coupons to be used on the Assignment Submission
Form.  The number of coupons  used will be recorded.

The intent of late coupons is to give you some ``free'' days in case of minor
illness, work overload, etc.; no extensions will be given in such cases.

The rules for late coupons are the following:
\begin{itemize}
\item Coupons are not transferable to another student.
\item Once a coupon has been used, you cannot ``take it back'' to use for
      another assignment instead.
\item Coupons cannot be redeemed retroactively. (If an assignment has
been marked, a coupon cannot later be used to reduce the late penalty.)
\item Unused coupons are not redeemable for extra marks.
\item Using a late coupon does not change the final date on which an
assignment will be accepted. Whether or not coupons are used, the assignment
must be handed in within 5 days of the original due date.
\item The coupons are ``virtual", and you must indicate the number of late 
coupons you wish to use for a particular assignment  on its  
Assignment Submission Form.  Handwritten notes or email messages will not 
be accepted. 
\item No more than three coupons may be used for an assignment.
\end{itemize}

\noindent{\bf Assignment Backups}

To guard against the possibility of lost assignments and errors in
recording marks, students are advised to retain all assignments that
are handed back to them, as well as disk copies of all materials they
hand in, at least until final marks for the course are posted.
(Otherwise, we have no evidence that a mark should be revised.)

\noindent{\bf Assignment Marking}

Here is some general information related to assignment marking.
\begin{itemize}
\item Assignments will be marked by the TA's.
You are responsible for picking up your assignment from the I/O counter.
\item Every effort will be made to have assignments marked and handed back 
within 3 weeks of the handin date, preferably sooner. 
\item A request for an adjustment in an assignment mark must be made within 
2 weeks after the assignment is returned in class.  All assignment marks 
are considered to be final after that date, even if you did not pick up 
the assignment.  All requests for mark adjustment
are to be written and submitted to the instructor.
\end{itemize}

\noindent{\bf Programming Assignment Marking Schemes}

\begin{itemize}
\item A programming assignment is considered to be ``working'' if it is shown 
to satisfy   all the requirements specified in the assignment description, 
including correct results. 
\item Note that a programming assignment is an exercise meant to give you 
practice in certain concepts. Therefore, a program that produces the correct 
output is   not necessarily a ``working'' program; it must also satisfy the 
specifications given in the assignment description! 
\item Other criteria in terms of which an assignment will be evaluated include 
coding style, comments, and efficiency. 
\end{itemize}

\section *{Special Note for CS535 Students}

In addition to the above,
CS535 students are required to write a 
review of three papers from the recent literature.
Suggested papers will be put up on the CS402 web site.  This 
is individual work.  Each review is 5 points.  The total number of points
in the course is 125 points.  This mark will be converted to a final mark
out of 100.

\section*{Ethical Conduct}

All assignments are individual assignments. You may  discuss approaches to
problems among yourselves; however, the actual details of the work (assignment
coding, answers to concept questions, etc.) must be an individual effort.
Assignments that are judged to be the result of academic dishonesty will, for
the student's first offence, be given a mark of zero with an additional
penalty equal to the weight of the assignment also being applied. You are
responsible for reading and respecting the Computer Science Department's
policy on  Scholastic Offences and Rules of Ethical Conduct.

Students must write their essays and assignments in their own words. Whenever
students take an idea or a passage from another author, they must acknowledge
their debt both by using quotation marks where appropriate and by proper
referencing such as footnotes or citations. Plagiarism is a major academic
offence (see Scholastic Offence Policy in the Western Academic Calendar). 


The University of Western Ontario uses software for plagiarism checking.
Students will be required to submit their programs in electronic form for
plagiarism checking.


\section* {Addendum to all Computer Science Course Outlines}

The UWO Senate Academic Handbook has specified that the following points
should be added to all course outlines:

\begin{enumerate}
\item {\bf Plagiarism}: Students must write their essays and assignments in 
their own words. Whenever  students take an idea, or a passage from another 
author, they must acknowledge their debt both by using quotation marks where
appropriate and by proper referencing such as footnotes or citations.
Plagiarism is a major academic offence (see Scholastic Offence Policy in the
Western Academic Calendar). 

\item {\bf Plagiarism Checking}: The University of Western Ontario uses 
software for plagiarism checking. Students may be required to submit their 
written work and programs in electronic form for plagiarism checking.

\item {\bf Prerequisites for a course}: Unless you have either the requisites 
for this course or written special permission from your Dean to enroll in it, 
you will be removed from this course and it will be deleted from your record. 
This decision may not be appealed. You will receive no adjustment to your 
fees in the event that you are dropped from a course for failing to have the
necessary prerequisites.

\item If computer-marked multiple-choice tests and/or exams are given: Use 
may be made of software to check for unusual coincidences in answer 
patterns that may indicate cheating.

\end{enumerate}

\end{document}



