My best MOOC ever - Experience with the Berkeley SaaS course Ignacio Reguero 4 April 2014.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Welcome to Middleware Joseph Amrithraj
HCI SEMESTER PROJECT PROJECTS  Project #2 (due 2/20)  Find an interface that can be improved  Interview potential clients  Identify an HCI concept.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 6 2/13/2015.
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
Cloud Computing Amy Mattison ISC 110. What is cloud computing? The "cloud" is another word for the internet. It is the process of taking the services.
7/18/2011 Lecture 6: Service Oriented Architecture 1.
SaaS, PaaS & TaaS By: Raza Usmani
Engineering the Cloud Andrew McCombs March 10th, 2011.
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
Software Engineering for Cloud Computing Rao, Feng 04/27/2011.
CLOUD COMPUTING. A general term for anything that involves delivering hosted services over the Internet. And Cloud is referred to the hardware and software.
Security Framework For Cloud Computing -Sharath Reddy Gajjala.
RUBY ON RAILS Mark Zhang. In this talk  Overview of Ruby on Rails  Core ideas  Show a tiny bit of example code  Touch on several general web development/
Copyright Course Technology School of Information Technology B327 Information Systems Specification.
Introduction. Readings r Van Steen and Tanenbaum: 5.1 r Coulouris: 10.3.
1 Introduction to Cloud Computing Jian Tang 01/19/2012.
Cloud Control Senior Project Summer Overview Cloud Control is a platform to control data transmission to/from internet connected devices from the.
Copyright © 2009 On The Edge Software Consulting Advanced Enterprise Java Instructional Plan Presentation Tier Design using an Event Driven Design Methodology.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Class and Lab Mark K. Reha.
Background The Encyclopedio of Life (EOL) is an ROR open source project to create a free, online reference source and database for every one of the 1.8.
Software As A Service
Interoperability in the Cloud By Alex Espinoza
Open Web App. Purpose To explain Open Web Apps To explain Open Web Apps To demonstrate some opportunities for a small business with this technology To.
Course Information. Course resources All course materials (slides, links to recorded lectures, online quiz, assignments, course project, and online exams)
Cloud Computing. Cloud Computing defined Dynamically scalable, device-independent and task-centric computing resources are provided online, with all charges.
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Fall CIS 764 Database Systems Engineering L1: Introduction to … CIS 764 Enterprise Database Systems Engineering: Software.
Web 2.0 Tools for the Classroom Classdojo/Wiggio/Scoot & Doodle.
CIS101 Introduction to Computing Week 01. Agenda What is CIS101? Class Introductions Using your Pace Introduction to Blackboard and online learning.
Using SaaS and Cloud computing For “On Demand” E Learning Services Application to Navigation and Fishing Simulator Author Maha KHEMAJA, Nouha AMMARI, Fayssal.
Application Lifecycle Management - Activities- Methodologies- Disciplines- Tools- Benefits- ALM Tools and Products 1 Application Lifecycle Management (ALM)
Enterprise Cloud Computing
CIS101 Introduction to Computing Week 01. Agenda What is CIS101? Class Introductions Using your Pace Introduction to Blackboard and online learning.
Windows Azure poDRw_Xi3Aw.
Massive Open Online Course MOOC Judy Qiu Indiana University Bloomington.
Computer Networks CNT5106C
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
Web 2.0 IS530 Fall 2009 Dr. Dania Bilal. Web 2.0 Is the Web that is being transformed into a computing platform for delivering web applications to end.
Globus online Delivering a scalable service Steve Tuecke Computation Institute University of Chicago and Argonne National Laboratory.
RANDY MODOWSKI COSC Cloud Computing. Road Map What is Cloud Computing? History of “The Cloud” Cloud Milestones How Cloud Computing is being used.
By: Joshua Wiegand. Overview ● What is the cloud computing? ● History of Mobile Computing ● Service Models ● Deployment Models ● Architecture ● Security.
Today’s Agenda 1. Sign in please 2. Brief Check in 3.Presentation of Learning Management Systems (LMS) - 4.Comparison of 2 LMSs 5.Sign in to
Lecture 12 Rails 169 Review Slides Topics SaaSSaaS Readings: SaaS book Ch February CSCE 740 Software Engineering.
Self-Directed Learning
Unit 3 Virtualization.
Business System Development
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
IOT Critical Impact on DC Design
Theory and Practice of Web Technology
WebAssign and Open Source Content
Time Management and Teamwork (a.k.a. “Software Project”)
Andrew McCombs March 10th, 2011
Web Technologies Basics
CMPE419 Mobile Application Development
Introduction to Cloud Computing
Internet of Things (IoT) CSED 490K Course Introduction
Week 01 Comp 7780 – Class Overview.
In-Class Activity… Cloud Computing.
WEBINAR: Becoming Agile In Software Testing: The Government Edition
Cloud Computing.
Application Development A Tutorial Driven Course
EE422C Software Design and Implementation II
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
David Pearson Director, Engineering and Technology Center Feb 6, 2019
Lecture 1 Class Overview
Presentation transcript:

My best MOOC ever - Experience with the Berkeley SaaS course Ignacio Reguero 4 April 2014

What is in a MOOC Massive Open Online Courses Platforms such as – edX.org – Coursera.org Tons of (mostly) university level courses – Not necessarily about computing Typically lectures combined with weekly homework + quizzes.

The MOOC that I did Software as a Service CS169.1x and CS169.2x from EdX.org Based on book By Armando Fox and David Patterson – Influenced by ACM discussions on improved curriculum for Software Engineering – Overview of Software Engineering with emphasis on Agile methods. Explains SaaS, SOA, Cloud Computing, Three Tiered archtecture, MVC, REST… With examples and assignments based on Ruby on Rails as well as a bit of JavaScript (the good parts).

Nice Tools for the MOOC Assignments Ubuntu Linux VM with the course environment – To run with VirtualBox or Amazon EC2, Openstack, GitHub Heroku – Cool PaaS for Rails Apps Contacts with teachers, other students and TAs through – EdX platform, Chat – Encouraged to do Pair programing with Google Hangouts

MOOC Logistics Cost effective – The MOOC itself is free – I paid 50$ for ID verification – I paid for the book. Quite relevant for my work objective Got support from my management – But did it on evenings + week ends. Got a Nice Certificate – Automagically send to my Linkedin account – But no grade on it – Got snapshot of Web page with scores and made PDF

Quick Conclusion The material was state of the art The combination of lectures with programming assignments and quizzes gives a different insight. It required a bit of personal investment but it was much better then any course that I’ve done in a veery long time. New run of this MOOC coming next week.

If Time: Some Impacting Concepts from the MOOC

Agile Methods: best for SaaS Methodology in which change is the norm rather than the exception – 2001 Agile Manifesto Emphasis on working with others in small teams: – Pair Programming – SCRUM

Testing as Foundation of Agile Behaviour Driven Design: – User Stories define the behaviour of the app. – Tool: Cucumber (with Capybara) Test Driven Development: – Before writing the code, define executable tests for the interfaces that you are going to implement – Tool: Rspec Run these tests all the time – Continuous Integration tools

Ruby: rocks Everything is an object – And every operation is a method call – Method chains facilitated Duck Typing Reflection and metaprogramming facilities – method_missing Blocks: – Lambda expressions that carry scope around with them -> closures Yield: – allow to trivially implement operators

Software as a Service (SaaS) Delivering SW and data as a service through the Internet via a thin program such as a Web browser instead of distributing application binaries. Single copy of program in the cloud VS Shrink-wrap sw with millions of copies of the program Examples are – Search, Social Networking, Watching videos Frameworks that facilitate SaaS Development – Pyton/Django, Java/EJB, Ruby/Rails

Service Oriented Architecture (SOA) SOA is when components of an application act as interoperable services that can be used independently and combined in other applications from Amazon CEO SaaS is a special case of SOA