This course will provide a general introduction to backend engineering and system design, with a focus on scalability. The content in this course is inspired by CS 4260, CS 4740, and the experiences that we've had at Google and Uber. Each week's material will comprise of a workshop and check-in. There will be a diverse array of projects to capture the breadth of the topics that we will cover, as well as a semester-long multi-part project that will be deployed onto the cloud. We will also supplement our weekly workshops with recommended readings from the industry.
This class will primarily use Python, so a strong familiarity with the language is expected. We also expect you to be comfortable with Git and command line execution.
The course project will be developed using Python, Django, MySQL, and Docker containers. A basic familiarity with HTML and CSS is preferred but not strictly required.
Syllabus and project assignments will be here in GitHub. Feel free to fork and send PRs with corrections, additions or any other changes you think would help fellow/future students.
Course communication will primarily be through Slack.
Course schedule and other resources can be found here
Course Policies and Information
Since we only have 10 workshops over the course of this semester, 2 workshop or 3 check-in absences will result in termination from the course, per the instructor's discretion.
Misc Office hours
Rashid will be holding office hours at Olsson 001 on Tuesdays and Thursday from 2 to 3pm.