Assignment | Details |
---|---|
(P) Preparation | This needs doing BEFORE the first day of class |
(P) Ruby Review | Make sure you still remember Ruby |
(I) What do you know about Twitter | Go look at Twitter to make sure you understand it |
(I) Learn Sinatra Basics | One of the many introductions to Sinatra |
(I) Do Sinatra Series 1 | Your first Sinatra Program |
(I) Sinatra Readings | Level up on Sinatra tools and techniques |
(T) NanoTwitter Begin | Kickoff Nanotwitter |
(I) DB modeling | Refresher on Database Modeling |
(T) NanoTwitter Storage | A big step of creating the databases |
(I) Do Sinatra Series 2 | Continuing your study and understanding of Sinatra |
(P) Scaling Architecture | How to make sure your system stays up |
(T) NanoTwitter UI | Now we turn to the front end |
(T) NanoTwitter Authentication | Adding logging in and out |
(T) NanoTwitter Core | Now for the core functionality |
(T) NanoTwitter Testing Framework | Hooks for testing NT |
(T) NT Initial Load Testing | Lets try it and see how well it does! |
(T) Scaling Real World Twitter | Two fanstastic videos explain how twitter scaled |
(I) Logging | The boring thing that will save your bacon |
(I) Caching | Caching and redis |
(T) Instrumentation and Testing | Dig into the measurements, instrument the code. |
(I) Database partitioning | Vertical, Horizontal and more! |
(T) Continued Load Testing | Now start following the scalability test plans |
(I) Concurrency | Introduction to concepts in Concurrency |
(P) Queueing | Learn about how queuing and messages can alleviate scaling problems |
(P) Software Engineering | Please reflect on your ideas about Computer Science |
(P) Self and Peer Assessments | How do you feel you and your peers worked together? |
(T) Prepare for Scalability Runoff | We will do this until each team has gotten usable results |
(T) Final Deliverables | Submit your final deliverables as a team |