As a student in this course, you will learn to apply modern software engineering tools, techniques, and processes in the context of an authentic project using an agile development approach. The project will involve the development of a cloud-based web application. You will track your progress against a plan and manage risks along the way. You will prioritize features, do pair programming, and employ test-driven development. You will measure code coverage and code quality. Through this course, you will experience the ins and outs of software engineering. Topics covered in the course include software lifecycles, project planning, requirements tracking, software development, using a revision control system, testing, user personas, user scenarios and agile development. The target audience is any graduate student who is interested in in modern software engineering as it is currently practiced in industry.
Prerequisites: Proficiency at programming in an object-oriented language.
This course is broadcast from Silicon Valley to the Pittsburgh campus.