A one-semester undergraduate level course in software engineering focusing on cloud computing, software as a service (SaaS), and Agile development using Extreme Programming (XP). The course curriculum takes advantage of the fact that Agile + SaaS + Cloud has not only revolutionized software, but made it easier and
more effective to teach. The course will cover topics such as: SaaS, SOA, Cloud, Agile methodology, Plan and Document, Pair Programming, SCRUM, Test Driven Development, Behavior Driven Design and User Stories, Lo-Fi User Interface Sketches and Storyboards, 3-Tier Architecture & Horizontal Scaling, Rails
Basics, Software Processes and Development Lifecycle, Design Patterns and Project Management.
Understand the new challenges, opportunities, and open problems of SaaS relative to SWS (shrink-wrapped software)
Have the ability to execute a SaaS project from conception thru planning, development, assessment/testing, deployment, and operations, using agile practices and suitable technologies
Understand and use agile development methodologies and tools, including lo-fi UI sketching, user stories, behavior-driven development, version control for team-based development, and management tools for cloud-computing environments"
Have the ability to use tools like Git for version control and distributed development, IDEs like Rubymine for rapid programming and debugging and AWS tools for cloud computing.