Homeworks

  • This list is just for your reference
  • They will actually be assigned from GradeScope
AssignmentDetails
(P) PreparationThis needs doing BEFORE the first day of class
(P) Ruby ReviewMake sure you still remember Ruby
(I) What do you know about TwitterGo look at Twitter to make sure you understand it
(I) Learn Sinatra BasicsOne of the many introductions to Sinatra
(I) Do Sinatra Series 1Your first Sinatra Program
(I) Sinatra ReadingsLevel up on Sinatra tools and techniques
(T) NanoTwitter BeginKickoff Nanotwitter
(I) DB modelingRefresher on Database Modeling
(T) NanoTwitter StorageA big step of creating the databases
(I) Do Sinatra Series 2Continuing your study and understanding of Sinatra
(P) Scaling ArchitectureHow to make sure your system stays up
(T) NanoTwitter UINow we turn to the front end
(T) NanoTwitter AuthenticationAdding logging in and out
(T) NanoTwitter CoreNow for the core functionality
(T) NanoTwitter Testing FrameworkHooks for testing NT
(T) NT Initial Load TestingLets try it and see how well it does!
(T) Scaling Real World TwitterTwo fanstastic videos explain how twitter scaled
(I) LoggingThe boring thing that will save your bacon
(I) CachingCaching and redis
(T) Instrumentation and TestingDig into the measurements, instrument the code.
(I) Database partitioningVertical, Horizontal and more!
(T) Continued Load TestingNow start following the scalability test plans
(I) ConcurrencyIntroduction to concepts in Concurrency
(P) QueueingLearn about how queuing and messages can alleviate scaling problems
(P) Software EngineeringPlease reflect on your ideas about Computer Science
(P) Self and Peer AssessmentsHow do you feel you and your peers worked together?
(T) Prepare for Scalability RunoffWe will do this until each team has gotten usable results
(T) Final DeliverablesSubmit your final deliverables as a team