using the public cloud for software engineering education
play

Using the Public Cloud for Software Engineering Education Armando - PowerPoint PPT Presentation

Using the Public Cloud for Software Engineering Education Armando Fox fox@cs.berkeley.edu Graphic: Google s Testing on the Toilet program 1 Software Engineering for Software-as-a-Service SaaS + Cloud High


  1. Using the Public Cloud for Software Engineering Education � Armando Fox fox@cs.berkeley.edu � Graphic: Google ʼ s “Testing on the Toilet” program � 1 �

  2. Software Engineering for 
 Software-as-a-Service � SaaS + 
 Cloud � High productivity, cloud “Frequent release” deployment  Projects culture  weekly work & have progress during immediate, global semester � SW Eng visibility � using SaaS � Rails � Agile � “Incremental” testing discipline 
 & great testing tools  
 testing as root of process, not after-chore � http://tinyurl.com/about-saas � 2 �

  3. Learn By Doing: 
 Tools > Methodologies � • Software arch., design pat- • Ruby & Rails 
 terns, coding practices � • Test-first development, unit • RSpec 
 testing � • Behavior-driven design, • Cucumber 
 integration testing � • Agile, iteration-based project • Pivotal Tracker 
 management � • Version management & • Git & GitHub 
 collaboration skills � • SaaS technologies, • EC2, Heroku, deployment & operations � SauceLabs CIT � 3 �

  4. Uses of Public Computing Infrastructure � • Courseware distribution � • Project deployment � • Evaluation (vs. “runs on my computer”) � • Quantitative checking of code metrics (coverage, code/test ratio, quality) � • Project management � • Version control w/instructors observing � • Experiments about horizontal scaling � • (Fall 2012) cloud-based continuous integration testing � 4 �

  5. Cloud Computing as a Supporting Technology � • Elasticity is great for courses! � – Lab deadlines, final project demos � – "Grant" from AWS; ~$100/student � – See database fall over: ~200 servers needed � • VM image simplifies courseware distribution � – TAs prepare image ahead of time � – Students can install weird cutting-edge SW � • Students get better hardware � – run VM on cloud vs. locally � – potentially better tech support � 5 �

  6. Success stories � 6 �

  7. SaaS Changes Demands on Instructional Computing? � • Runs on your laptop or • Runs in cloud, remote class Un*x account � management � • Obscure course project �� • Your friends can use it � • project scrapped when • Gain customers ⇒ app course ends � outlives course � • Intra-class teams � • Teams cross class & UCB boundaries � • Courseware: VM image 
 • Courseware: tarball or custom installs � • Code released open • Code never leaves UCB � source, résumé builder � • Per-student/per-course • General, collaboration- account � enabling tools & facilities �

  8. Lessons/Takeaways � New opportunity to give students: � – More realistic assignments � – Build, deploy something "real" (outlives class) � – Use same tools they ʼ d use in real life � – Smoother courseware experience � • Challenges � – Instructor administration not quite there yet � – Can't install/tweak own kernel � – Lots of demand; donations won't go on forever � • “Cheaper but faster” than local IT � 8 �

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend