Engineering Software as a Service (Saas), Part 2 (edX)

Engineering Software as a Service (Saas), Part 2 (edX)
Free Course
Categories
Effort
Certification
Languages
Any offering of CS169.1x, Engineering Software as a Service (Saas), Part 1
Misc
Engineering Software as a Service (Saas), Part 2 (edX)
Learn SaaS and Agile skills, such as working with legacy code and enhancing applications with sophisticated techniques.

This SaaS course is Part 2 of the University of California, Berkeley's semester-long course on Engineering Software as a Service. Part 1 of the course covers Agile development methods to deploy a simple SaaS app in the cloud. In this second part of the course, learners will 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, learners will see how to apply Agile techniques to enhance and refactor legacy code, a critical skill for professional programmers.

Other topics covered in this software engineering course 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 homework assignments used in this offering of the course were revised in October 2013.

What you'll learn:

- How to use JavaScript to enhance applications and create more sophisticated apps by adding relationships between models

- App deployment process to real users, including how to monitor performance, identify and fix common performance problems, and avoid compromising customer data

- How to apply Agile techniques to enhance and refactor legacy code




Suggested Readings: