Syllabus

The syllabus, time requirements, grading policy, information about accommodations, and more can be found in our syllabus.

Grading

For non-capstone students, your final grade for the course will be based on the following items:

  • 65% Programming Projects
    • 8.67% Liteminer
    • 6.5% Clocks and Conflict Resolution
    • 10.82% Leaderless Replication
    • 8.67% Partitioning
    • 15.17% Tapestry
    • 15.17% Raft
  • 15% Midterm I
  • 15% Midterm II
  • 5% Participation

For capstone students, your final grade for the course will be based on the following items:

  • 62.5% Programming Projects
    • 8.33% Liteminer
    • 6.25% Clocks and Conflict Resolution
    • 10.43% Leaderless Replication
    • 8.33% Partitioning
    • 14.58% Tapestry
    • 14.58% Raft
  • 10% Homeworks
  • 12.5% Midterm I
  • 12.5% Midterm II
  • 2.5% Participation

We encourage collaboration for CS1380! For the written homework assignments, you may discuss ideas with other students, however, please ensure that the answers you submit are your own. All programming assignments can also be done either individually or in groups or two. Exams will all be done individually.

Capstone

For those taking the course as a capstone, you will be required to complete 1 of the following 2 options:

  • Option 1: 4 written HWs + 1 additional feature on both Tapestry and Raft
  • Option 2: Open-ended distributed systems research project
  • Course Communications

    We'll be using Edstem discussion for almost all course-related communication. You can mark questions as private or public. Private messages are seen by all course staff, see the collaboration policy for guidelines of how to choose. You can also use cs1380tas@lists.brown.edu to e-mail the course staff regarding administrative issues. For sensitive issues that you would not like to discuss with the entire course staff, you may email the instructors and head TAs at cs1380headtas@lists.brown.edu.

    Textbook

    There is no official textbook. However, most of the content in the course is covered in Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. We will indicate beside each lecture which sections of the textbook correspond to that lecture.

    Resources

    Forms

    Documents

    More Links