Please find more detailed information on Canvas at Northeastern.

CS 6650 Building Scalable Distributed Systems - 2020 Fall

Course Information

This course introduces the theory and practice behind how to build scalable distributed systems. The lecture will cover the fundamental concepts and theories that are necessary to build scalable distributed systems. Students will gain hands-on experience in building distributed systems step by step through multiple programming assignments and projects.

  • Time: 6:00 PM - 9:20 PM, Wednesdays.

  • Location: Room 300, Richards Hall.

  • Textbook: No required textbook (see below for more information).

Instructor

Schedule (reading list is available at the top right menu)

Week 1. Introduction [slides]

Week 2. Concurrency [slides]

Week 3. Communication, failures, and synchronization [slides]

Week 4. Virtualization, cloud, and datacenters [slides]

Week 5. Replication [slides]

Week 6. Consensus and distributed transactions [slides]

Week 7. NoSQL databases [slides]

Week 8. In-memory systems

Week 9. Load balancer, caching, and content delivery networks

Week 10. Data analytics

Week 11. Microservices and serverless computing

Week 12. No class - Thanksgiving break

Week 13. Software defined networks and blockchains

Week 14. Final project presentations

Grade

The grade will be based on programming assignments (45%), a final project (35%), a written assignment (14%), and quizzes (6%).

Assignments

Information is on Canvas. The required programming language for all programming assignments is C++11 on a Linux environment.

Projects

Information is on Canvas.

Textbook/Reading and Resources

This course covers topics that are not in a single textbook and there is no required textbook. Reading list will be assigned before each lecture.

Other useful resources are:

Late Policy

(subject to change)

Each student is given a total of four slip days for this course. The slip day can be used for any programming assignments. The slip day will be automatically deducted in one day increment if the assignment is submitted late (no need to get permissions beforehand). Once the slip day runs out, the grade for late submitted assignments will be deducted by 20% each day.

Slip days cannot be used for the final project and the written assignment.

Academic Integrity

This course complies with the Northeastern University's Academic Integrity Policy: http://www.northeastern.edu/osccr/academic-integrity-policy/