| This course covers basic object-oriented techniques for specifying, designing, and implementing software systems. Iterative development methodologies are emphasized. The Unified Modeling Language (UML) is used as a notational system for capturing the development process artifacts. Students will gain experience with a software tool for creating UML diagrams. Other topics include use cases, class discovery and domain modeling, responsibility-driven design, basic design patterns, software class design, converting designs to code, object-oriented testing, packaging, deployment, along with intermediate Java topics relevant to system implementation. This course also introduces ideas in functional and parallel programming. Students will work on an object-oriented team project, apply concepts and techniques to describe and create a working software system. Prerequisite: SEIS 610 and Java programming experience |