Teaching about pi to kids outside Battambang, Cambodia, Jan. 2011
Battambang, Cambodia

Basic Information

  • Office: FL B19 (look for the ducks)
  • Office phone: 508-831-6793
  • Mobile: 978-798-0019
  • FAX: 508-831-5776
  • AIM, Skype: gpollice
  • My curriculum vitae
  • e-mail: gpollice at cs dot wpi dot edu

About the Object-Oriented Analysis & Design Course

Object-oriented analysis and design complements CS3733, Software Engineering, by providing the students with the technical skills to produce well-designed, robust software systems. The focus differs from the software engineering course. In software engineering students focused on learning and applying the skills that are necessary for effective teamwork on moderately large software projects. The emphasis there is on how teams are able to analyze requirements, plan and complete work, document their product, and deliver working software to their customers. While there is some amount of material that touches on the more technical skills that are needed to produce excellent designs and implementations, there simply isn't enough time to include any of that material in depth.

This is where CS4233 comes in. Once can certainly take CS4233 without having taken CS3733. In fact, some students who take CS4233 first say that it helps them do better in CS3733. Regardless of which order the courses are taken, when combined, the two provide the student with a solid foundation in software engineering and practical software development practices.

The focus in CS4233 is on the individual practices and principles of software development—with an object-oriented point of view—are presented and reinforced. Upon completion of this course, the student will have significantly expanded his or her software engineering toolbox with new techniques, tools, principles, and ways to communicate their designs. They will also be able to apply empirical methods to measure the quality of their design and code. Finally, they will be able to apply object-oriented design principles to refactor and improve their software.

Skills you will learn include: