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 individually on weekly coding projects. Those who successfully complete each assignment and earn a passing grade will get an honor code certificate from BerkeleyX.
Background: C++, Python - 2nd year computer science student.
The course is well organized and you don't lose much time configuring your machine since they provide a ready-to-use VM.
It is more of a general software engineering course than a SAAS one, that isn't necessarily bad, but you should be aware. If you do not know Ruby, be ready to spend a few hours learning it, the first homework is very challenging (in the good way, great job there!). Regarding other homeworks, I've heard they accept faulty code but my experience says otherwise: it evaluated what I did accurately.
They use Rails as a mean to teach SAAS as well as some development practices (BDD and TDD), but I don't know to what extent it was a good call to mixture those two subjects in such a short time; this way you can only grasp the concepts and even if you complete all the assignments that won't make you comfortable using them.
Excellent course which covers (together with CS169.2) the whole process of software development.
Excellent teachers. Excellent material and excellent prepared exercises.
Highly recommended to everybody who has basic experience in programming.
Amazing course. This is a very high quality level course.
It is quite challenging at the beginning (especially for people who do not know Ruby and who do not buy the book ;-)
It introduced me to TDD (Test Driven Development).