---
Engineering and Applied Sciences
---

CS 141ab - Distributed Computation
Laboratory


Instructor

Dr. Daniel M. Zimmerman
62 Jorgensen, x4840
dmz@cs.caltech.edu
Office Hours: Monday/Thursday, 4:30 - 5:30 PM


Textbook

Distributed Systems: Principles and Paradigms
Andrew S. Tanenbaum and Maarten van Steen
Prentice-Hall, 2002
ISBN 0-13-088893-1


Lecture

Monday/Thursday, 3:00 - 4:30 PM (74 Jorgensen)


Teaching Assistants

Joseph R. Kiniry
62 Jorgensen and 160E Jorgensen, x4840
kiniry@cs.caltech.edu

Course Description

CS 141a covers multiple communication models for distributed systems, the use of multithreaded programming in client-server systems, and introduces fundamentals of the design and testing of distributed systems. It also covers naming and location issues, as well as synchronization and canonical distributed systems problems related to it (leader election, termination detection, mutual exclusion). The course work consists of reading and lab assignments with both written and programming components.

CS 141b covers consistency and replication issues, fault tolerance, and security. There will be group projects as well, at least one of which is likely to involve massive multiplayer gaming.

Course Policy

Grading

There are no exams in CS 141 - the course grade in CS 141a is completely determined by the lab assignments, and in CS 141b is completely determined by the group project (there will be deliverables related to the project). In CS 141a there are 8 lab assignments, all of which must be turned in to earn a passing grade; these are all weighted equally, except for the last one which is weighted double.

Due Dates

Unless otherwise noted, assignments will be available after lecture on Thursday and due by 23:59:59 on the following Thursday. All assignments should be handed in on time. The policy for late submissions is as follows (assuming a deadline of 23:59:59 Thursday):

  • 20% penalty for one day late (submitted by 23:59:59 Friday)
  • 40% penalty for two days late (submitted by 23:59:59 Saturday)
  • 60% penalty for three days late (submitted by 23:59:59 Sunday)
  • 80% penalty for four days late (submitted by 23:59:59 Monday)
  • 100% penalty for more than four days late
No extensions will be granted for any reason other than sickness or emergency.

Note that this late policy applies only to CS 141a. In CS 141b, since there are no numeric grades, this late policy clearly has no relevance; lateness will generally not be tolerated, since most deliverables have in-class presentation components.

Homework Submission

All labs and deliverables must be submitted using the Web and a CS cluster account (not a UGCS account). Specific submission instructions will accompany each assignment. The modification dates of files in your submission directories will be checked to determine lateness, so be careful not to touch those files after the submission deadline.

Reference Books

These books are, or will be, on reserve in the Sherman Fairchild Library:
  • W. Richard Stevens, UNIX Network Programming, Volume 1: Networking APIs - Sockets and XTI, Second Edition, Prentice-Hall PTR, 1998. ISBN 013490012X.
  • W. Richard Stevens, UNIX Network Programming, Volume 2: Interprocess Communication, Second Edition, Prentice-Hall PTR, 1999. ISBN 0130810819.
  • Doug Lea, Concurrent Programming in Java: Design Principles and Paradigms, Second Edition, Addison-Wesley, 1999. ISBN 0201310090.
  • Elliotte Rusty Harold, Java Network Programming, Second Edition, O'Reilly and Associates, 2000. ISBN 1565928709.
This book is not on reserve, but is available as a PDF:

Useful Links


Caltech Home Page.

Choose Destination:
Search the Caltech web for:

Valid HTML 4.01! Daniel M. Zimmerman (Home Page)
dmz@cs.caltech.edu
Last Revised 10 April 2002