Engineering Software as a Service

CS169.1x teaches the fundamentals of software engineering using Agile techniques to develop Software as a Service using Ruby on Rails.

About The Course

CS169.1x teaches the fundamentals for engineering long-lasting software using highly-productive Agile techniques to develop Software as a Service (SaaS) using Ruby on Rails. Students will understand the new challenges and opportunities of SaaS versus shrink-wrapped software. They will understand and apply fundamental programming techniques to the design, development, testing, and public cloud deployment of a simple SaaS application. Students will use best-of-breed tools that support modern development techniques including behavior-driven design, user stories, test-driven development, velocity, and pair programming. Students will learn how modern programming language features like metaprogramming and reflection can improve productivity and code maintainability. Students will work on weekly coding projects and quizzes. Those who successfully complete the assignments and earn a passing grade can get an honor code certificate or verified certificate from BerkeleyX. The videos and homeworks used in this offering of the course were revised in October 2013. The new class also includes embedded live chat with Teaching Assistants and other students and opportunities for remote pair programming with other students.

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

Recommended Background

Programming proficiency in an object-oriented programming language such as Java, C#, C++, Python, or Ruby is required. We will teach the basics of Ruby at a very accelerated pace that assumes... see more...