Not logged in. Login

CMPT 431 D1

CMPT 431: Distributed Systems

When and where:

  • September 2, 2014 to November 27, 2014
  • Tuesdays (RCB 8100/ASB9840) 11:30-13:20 and Thursdays (ASB 3154) 11:30-12:20
TimeTuesdaysThursdays
11:30-12:20Group A: RCB 8100
Group B: ASB 9840
Group A: AQ 3154
Group B: AQ 3154
12:30-13:20Group A: ASB 9840
Group B: RCB 8100

Announcements:

Note that the final exam will take place in ASB9838-North. It's a lab area within CSIL.

Old micro-quizzes with answers are posted here.

Course staff:

Office hours:

  • TA: W 12:30-1:30, ASB 9838 TA 1
  • Instructor: by appointment

Syllabus:

Course syllabus and links to lectures

Assignments:

Course policy on cheating

Micro-quizzes

Previous Micro-quizzes with answers

Grading formula:

  • Two quizzes: 30% (15% each)
    • Quiz 2 consists of an in-class quiz worth 5% and many micro-quizzes collectively worth 10%.
  • Final exam: 25%
  • Assignments: 45% (15% each)

Course rules and logistics:

  • Bring a nameplate to every class.
  • Bring lots of paper and a pen or pencil to class.
  • No use of computers allowed in class unless otherwise specified. A computer is anything with a CPU and a screen.
  • Late assignments are accepted at the penalty of 10 points per 24 hours or fraction thereof.
  • Rules on micro-quizzes
  • If you cannot attend an in-class quiz, you can arrange a make-up date with the professor before the date of the quiz. If you do not attend the quiz and do not arrange the make-up date you get 0 for the quiz.
  • Course policy on cheating

What we will learn

This course is about distributed computer systems: systems built of multiple independent components that communicate via network and co-ordinate to accomplish a common computational task. We will focus on understanding the most difficult issues involved in design of such systems: unusual failure modes (such as partial failure), synchronization, co-ordination, reaching an agreement, maintaining data consistency, replication, etc. Course readings will be derived mostly from the text book, but towards the end of the course we will start reading papers describing recent research on distributed systems. There will be two programming assignments and one final project. The final project will involve implementation of a distributed system that supports transactions and replication. You will need to focus on challenging system design issues during the assignments and the project, so your programming skills must be solid. Programming assignments and projects will be implemented in C and Java on Unix systems.

How we will learn

This class will be using a "flipped classroom" approach. What this means is that you will acquire "static" content: watch lectures, read textbooks - at home. In class you will spend time on acquiring "dynamic" content: solving problems in groups, discussing with the instructor the things you have trouble understanding and doing hands-on work. As a result, you spend less class time on passive learning and more time on active learning: doing and thinking.

Updated Wed Dec. 03 2014, 16:12 by fedorova.