Giter Club home page Giter Club logo

bsds-6650's Introduction

Building Scalable Distributed Systems

CS6650 Fall 2023

Instructors:

  • Section 1 - Ian Gorton, Khoury College of Computer Sciences, Northeastern University, Seattle Campus
  • Section 2 - Ian Gorton, Khoury College of Computer Sciences, Northeastern University, Seattle Campus

Logistics

This is an onground class taught on the Seattle Campus, 225 Terry Ave N

  • Section 1 - Room 416, Tuesday 10-1.20pm
  • Section 2 - Room 416, Wednesday 3.30pm-6.50pm

Course Lead

  • Ian Gorton - i.gorton(at)northeastern.edu

Office Hours - Tuesday 1.30-3pm, 3rd Floor office

Super Talented Teaching Assistants

Overview

This course will cover the essential elements of distributed, concurrent systems and build upon that knowledge with engineering principles and practical experience with state-of-the-art technologies and methods for building scalable systems. Scalability is an essential quality of Internet-facing systems, and requires specialized skills and knowledge to build systems that scale at low cost.

Course Delivery

This site contains all the informtion for the course, except the quiz questions and ppowerpoints taht you will find on Canvas. Class will meet each week for 3 hour 20 mins. Classes will be a mix of lectures and labs.

Course Book

The book for the course, Foundations of Scalable Systems, is available for purchase at your favorite retailers, eg here. The course materials closely follow the book structure and content.

You can also access this and all O'Reilly books online through the Snell library.

Assessment

  • There are 4 individual assigments. They total 70% of the final grade.

  • There are 4 quizes. They combine to add up to the remaining 30% of the grade.

    • Quiz 1 covers weeks 1-4.
    • Quiz 2 covers weeks 5-8.
    • Quiz 3 covers weeks 9-12.
    • The last quiz will have questions that cover the whole course.
  • Each quiz will be allocated 45 minutes and be available at the start of the class in which it is scheduled.

Course Content

Modules

Week Topic Section 1 Section 2
1 Introduction to Scalable Distributed Systems 9/12 9/13
2 Concurrency 9/19 9/20
3 Distributed Systems Architecture Whirlwind Tour 9/26 9/27
4 Distributed Systems Fundamentals 10/3 10/4
5 Scalable Service Design 10/10 10/11
6 Asynchronous Systems 10/17 10/18
7 Serverless Processing Systems 10/24 10/25
8 Microservices 10/31 11/1
9 Data Replication, Partitioning and Eventual Consistency Introduction 11/7 11/8
10 Eventual Consistency 11/14 11/15
11 Strong Consistency 11/21 11/22
12 Stream Processing 11/28 11/29
13 Final Quiz 12/5 12/6
14 Assignment 4 presentations 12/12 12/13

Assignments

Submission instructions and exact deadlines are on the course Canvas site.

Assignment Topic Due Date
1 Concurrency and Client-server 10/8
2 Persisting Data 11/5
3 Microservices 12/1
4 Mix Request Loads 12/15

Quizzes

Quizzes are held in class. Once you start you must finish within 45 minutes.

| Quiz | Section 1 | Section 2 | | ---- | --------- --------- | | 1 | 10/10 | 10/11 |
| 2 | 11/7 | 11/8 |
| 3 | 11/28 | 11/29 |
| 4 | 12/5 | 12/6 |

There is also an ever evolving FAQ in which we try to capture common problems and their solutions. You are more than welcome to contribute to this by creating a pull request.

Reading

In addition to the course book, the following are great resources, and can be excellent references for this course and your future career.

  • Java Concurrency in Practice 1st Edition, Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea
  • Distributed systems : concepts and design, Coulouris, George F. ; Dollimore, Jean. ; Kindberg, Tim. ; Blair, Gordon. Harlow, England ; Addison-Wesley, 2012
  • Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, Martin Kleppmann, O'Reilly

Policies

Late Submission If you need more time, come beg :). Communications usually give a positive outcome. Without warning, you'll lose 5% of your final grade each day overdue.

Missed Quizzes Quizzes last approximately 45 minutes. If you are not able to attend and take the quiz at the same time as others, you must let your instructor know in advance. Failure to do this will result in a zero for the quiz you miss.

Do your own work You know the rules. Helping each other out is fine, but design and build and test your own system. Any unwarranted collaboration will result in a zero grade for the assignment.

Generative AI You can use any AI tools you like for all aspects of this course.

Code of Conduct and Course Values No disrespect, rudeness, or abuse will be tolerated, either in class or in online communication. During class, we will be doing a lot of sharing of ideas and open-ended work. It is important that everyone feel comfortable contributing to class discussion, and that their contributions are valued. To that end, our course values can be defined as:

  • Respect
  • Inclusion
  • Support
  • Kindness

bsds-6650's People

Contributors

gortonator avatar sjchin88 avatar vishalrajpal avatar jeremy-wl avatar hjyou07 avatar weijiadeng avatar lmamaril avatar znw0324 avatar akksshah avatar nltran12 avatar theodoreontheway avatar hongjiancui2023 avatar peihao-zhu avatar zhenhuiguo1995 avatar tiffanymarthin avatar peilin97 avatar mocaa7 avatar akuten1298 avatar seanmstevens avatar joyinmyzone avatar zwwdev avatar yachinz avatar xiaohan-qin avatar phuongp9 avatar irgregg avatar huc008 avatar edellhou avatar duskcloudxu avatar wilburliu1123 avatar shengguo-zhou avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.