COSI 105B — Software Engineering for Scalability

[ sn ]

Prerequisite: COSI 21a and either COSI 166b or permission of the instructor.

Covers some of the "big ideas" that come in to play when building large, complex, and highly scaled software systems. We will look at both research and practice scaling architecture and software design. How do you design and architect large scale web based systems? What are the classic algorithms and patterns used to achieve massive scale? We will look at caching, database partitioning, queueing, messaging and more. And we apply this learning working in teams of students to design and implement their own version of the Twitter backend from the ground up, and then stress test and measure it’s scalability using real world tools and technologies. Usually offered every year.
Mr. Salas