This course introduces students to professional tools and processes for designing, documenting, and programming software systems. Students learn effective software architecture and problem solving techniques by means of object-oriented programming and design. There is an emphasis on problem analysis and solution design, documentation and coding conventions (using formats widely applied in the workplace), and implementation. Students use commercial software libraries and create robust software applications, such as a point-of-sale cash register kiosk. Starting with a specification, students design UML class diagrams, use design patterns, implement in Java, and test their solutions. This course gives students the experience and knowledge to create highly functional, welldesigned software systems. |