The course introduces students to principles, concepts and techniques associated with team-based development of large, complex software systems. Major topics include system and requirements engineering, object-oriented design, and systematic code testing techniques. Students will learn to use software tools such as Git, JUnit, and EclEmma in the context of a Scrum-based agile development project. It is assumed that students know how to program and debug using the Java language.

See syllabus for instructor and teaching assistant information.
Classes begin Tuesday, Jan 17.