| # | lecture date | title | category | description | 
|---|---|---|---|---|
| Web Apps + Sinatra | ||||
| 1 | Jan 18 | Welcome | general | Introductions and logistics | 
| 2 | Jan 20 | What is Scalability? | scale | There are technical and non-technical factors | 
| 3 | Jan 25 | Cosi166 Quick Bullets | programming | Remind ourselves about Ruby and the web | 
| 4 | Jan 27 | Intro to Sinatra | web | Sinatra is a ruby application server | 
| 5 | Feb 1 | Sinatra and Twitter | nt | Introduction to Twitter and nanoTwitter | 
| 6 | Feb 3 | NanoTwitter introduced | web | Get explanation of what nanoTwitter is and how it will work. | 
| nano Twitter | ||||
| 7 | Feb 8 | Starting to think about scaling | web | Sinatra, Service Oriented Architectures and scaling | 
| 8 | Feb 10 | Scaling at Hubspot | general | Guest Speaker Osamah Mandawi | 
| 9 | Feb 15 | Service Oriented Architecture | nt | We start going in to more complicated core architectures | 
| 10 | Feb 17 | Deploying to the Cloud | scale | How is the cloud a central part of modern software engineering? | 
| 11 | Mar 1 | Scalable Service design | scale | What does scalability mean? What do scalability problems look like? | 
| 12 | Mar 3 | Scalability, continued | scale | Examining what scalability means | 
| 13 | Mar 8 | Testing in the world of SOA | scale | Testing, Unit Testing and special cases in SOA | 
| Scaling Patterns | ||||
| 14 | Mar 10 | Testing Scalability | How to approach the analysis of scaling, in particular for nanoTwitter | |
| 15 | Mar 15 | Tuning for Scale | scale | What are some of the key ways in which a system can fail to scale? | 
| 16 | Mar 17 | Logging | scale | Consider the role of system wide logging | 
| 17 | Mar 22 | Caching | scale | Caching is one of the first, simplest ways of attacking scale | 
| 18 | Mar 24 | Database Tuning 1 | scale | How database architecture affects performance and scale and how to improve it. | 
| 19 | Mar 29 | Database Tuning 2 | scale | How database architecture affects performance and scale and how to improve it | 
| 20 | Mar 31 | Concurrency 1 | scale | Synchronous and asynchronous processing, threads and processes | 
| 21 | Apr 5 | Concurrency 2 | scale | Continuing the discussion on this critical aspect of scaling | 
| 22 | Apr 7 | Queueing | scale | Queuing and message passing are basic techniques in scaling | 
| 23 | Apr 12 | SOA + µservices | scale | Look at applications of microservices and SOA in building scalable systems. Consider risks and benefits. | 
| 24 | Apr 14 | Software Engineering | general | We look Computer Science and Software Engineering | 
| 25 | Apr 26 | Scalability Runoff 1 | general | First Try | 
| 26 | Apr 28 | Last class! | Scalability Runoff | |