This course covers technology tools and methods for software development with a strong focus on best practices used in industry and professional development, such as agile methodologies, full-stack development,  pair-programming, front-end user interface, back-end database, front-end-to-back-end integration, application security, using the cloud, using web services, and test-driven design.  

The course consists of two lectures per week, and one lab/recitation session per week.  Students are assigned to a small group of five or six students from within their lab/recitation section.  Each small group then works together outside of class time to develop a working software application while applying the technology methods and tools covered in lecture.