Engineering Software as a Service, Part 2

Armando Fox, David Patterson, Sam Joseph, UC BerkeleyX

CS169.2x teaches sophisticated SaaS+Agile skills, such as working with legacy code, building on basics from CS169.1x.

*Note - This is an Archived course*

CS 169.2x is the second half of University of California, Berkeley's semester long course on Engineering Software as a Service. In the first half of the course, CS 169.1x, students use Agile development methods to deploy a simple SaaS app in the cloud. In the second half, CS 169.2x, students create more sophisticated apps by adding relationships between models in apps and by enhancing their apps with JavaScript. They also learn about what happens after the apps are deployed to real users, including how to monitor performance, identify and fix common performance problems, and avoid compromising customer data. Finally, students learn how to apply Agile techniques to enhance and refactor legacy code, a critical skill for professional programmers.

Other topics covered in CS 169.2x include:

  • How to form, organize and manage small programming teams
  • Introduction to design patterns: what they are and how to recognize opportunities to apply them
  • Using Rails for more advanced features like third-party authentication and elegantly expressing design patterns that arise frequently in SaaS

There will be three homework assignments: two programming assignments and one assignment about operations/deployment.

There will also be several short quizzes. The videos and homeworks used in this offering of the course were revised in October 2013.

Before your course starts, try the new edX Demo where you can explore the fun, interactive learning environment and virtual labs. Learn more.

What is the format of the class?
The class will consist of lecture videos, which are broken into small chunks, usually between eight and twelve minutes each. Some of these may contain integrated "check-yourself" questions. There will also be programming assignments and standalone exams/quizzes, which are not part of the video lectures.

How can I learn more about the course content?
Please watch the video on this page that we recorded especially for this offering of the course.

Will the text of the lectures be available?
Yes, transcripts of the course will be made available.

Do I need to watch the lectures live?
No. You can watch the lectures at your leisure.

Will I need to download any software for this course?
You will need a virtual machine loaded with a virtual machine image that we will provide. You can either download this image and run it using the free VirtualBox (virtualbox.org) software on any Intel x86-based computer, or you can deploy it on Amazon's Elastic Compute Cloud using instructions we will provide.

Visit VM instructions to download the virtual machine and access directions for setup.

What versions of Ruby and Rails will we use in the course?
Please see http://beta.saasbook.info/bookware-vm-instructions to obtain virtual machine image with all required courseware. You can either download this image and run it using the free VirtualBox (virtualbox.org) software on any Intel x86-based computer, or you can deploy it on Amazon's Elastic Compute Cloud using instructions we will provide. In general, we'll be using Rails 3.2 and Ruby 1.9.3, but we will also be using many other tools, gems, and libraries that will be preinstalled.

This is a past/archived course. At this time, you can only explore this course in a self-paced fashion. Certain features of this course may not be active, but many people enjoy watching the videos and working with the materials. Make sure to check for reruns of this course.

Dates:
  • 6 January 2015, 8 weeks
Course properties:
  • Free:
  • Paid:
  • Certificate:
  • MOOC:
  • Video:
  • Audio:
  • Email-course:
  • Language: English Gb

Reviews

No reviews yet. Want to be the first?

Register to leave a review

Show?id=n3eliycplgk&bids=695438
NVIDIA
More on this topic:
Slide1 Programming Mobile Applications for Android Handheld Systems
Introduction to the design and implementation of applications for handheld systems...
Csv-logo-redo Calculus: Single Variable
This course provides a brisk, challenging, and dynamic treatment of differential...
Posa-mocca Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
In this course--the second in a trans-institution sequence of MOOCs on Mobile...
Principles-reactive-v1.0 Principles of Reactive Programming
Learn how to write composable software that stays responsive at all times by...
1-124jf00 Foundations of Software Engineering
This is a foundation subject in modern software development techniques for engineering...
More from 'Computer Science':
E3d2efb3-de37-4352-95a2-1d346ade45be-af8575f33756.small Cloud Computing Infrastructure
Learn how to design, configure, and manage a cloud computing infrastructure...
8fe1362d-caea-437e-b5c8-e04ee680c9a7-daf903c0c50d.small Cloud Computing for Enterprises
Understand cloud computing technologies and how they can increase business productivity...
Bcf46af9-f9f7-45e8-b189-7e3b8f09d7b5-aafc0b98667d.small Statistical Analysis in Bioinformatics
Learn basic R programming to analyze biological big data to locate genes, perform...
0594d6e9-dba9-40a3-8170-d9b07bb85a3c-7654bf2307b0.small Formal Software Verification
Learn software quality techniques beyond just running test cases. Want to gain...
7f3e3e83-66c3-4f57-b1e8-46c21cf0833e-f4996c46a81e.small 4G Network Essentials
Advance your telecom career by learning how 4G networks enable internet access...
More from 'edX':
2f5692de-8f38-466c-b4fa-3e8fe42df639-7fa225befd20.small Improving Global Health: Focusing on Quality and Safety
An introduction to the emerging field of global healthcare quality. Improving...
F2c904f0-b0aa-42a4-8678-70421fbd34d7-cde5b7c23ad6.small Railway Engineering: An Integral Approach
Discover the science and complexity of railway systems, including how their...
6b25d0d1-484f-49b0-97e3-944a95087f2c-bbfa252b98a3.small Financial Decision Making
Learn how corporate leaders make effective decisions to maximize profitability...
E3d2efb3-de37-4352-95a2-1d346ade45be-af8575f33756.small Cloud Computing Infrastructure
Learn how to design, configure, and manage a cloud computing infrastructure...
8fe1362d-caea-437e-b5c8-e04ee680c9a7-daf903c0c50d.small Cloud Computing for Enterprises
Understand cloud computing technologies and how they can increase business productivity...

© 2013-2019