Software as a service (SaaS) – Training and Course Overview

Software as a service (SaaS) - Training and Course Overview

Software as a service (SaaS) is a course in software licensing and delivery. Also called on-demand software, SaaS is a model used in many business applications such as CAD software, invoicing, development software, accounting, office and messaging software, content management (CM), customer relationship management (CRM), management information systems (MIS), service desk management, human resource management (HRM), enterprise resource planning (ERP), and DBMS software. Students will be taught the fundamentals of SaaS, together with the challenges and opportunities of the same. They will learn to design, develop, test and deploy a basic SaaS application.

Course Objective

Upon successful completion of a course in software as a service, students will be able to fully understand and apply basic programming techniques of a simple SaaS application.


Students are required to be proficient in programming language such as Ruby, Java, C++, or Python. Advanced levels of this course will also require students to be thoroughly familiar with topics such as static/class versus instance methods and attributes, higher-order functions, lambda expressions, recursion, OOP inheritance, list comprehensions, and hash tables/hash maps. Basic understanding of Heroku, Git, and GitHub will be an added advantage.

Course Duration

A self-paced and student ability-based program, the duration of the software as a service course is a minimum of six weeks.

Course Syllabus

A course in Software as a service can be taken in two parts. Part 1, CS 169.1x teaches the fundamentals of SaaS using Ruby on Rails. Some of the topics covered include behavior-driven design, pair programming, velocity, user stories, and test-driven development. Students will also learn how to improve productivity and code maintainability using modern programming language. In the second part of the course, called CS 169.2x, students will learn to develop more complex apps by using JavaScript and adding models, deploying those apps to real use, performance measurement, and identifying and resolving problems. Other topics in the syllabus include agile techniques, refactoring legacy code, design patterns, and using Rails for advanced features.

Career Prospects

With most business application software companies focusing on SaaS, there are numerous job opportunities for students who have taken a course in software as a service. Demand for software developers is on the rise, and they can be employed at a number of positions such as software developer, SaaS operations engineer, SaaS database administrator, SaaS support associate, software tester, data development lead, lead builder engineer, network operations engineer, database administrator, and SaaS application administrator.