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 Software Engineering Course

Software engineering is many things. Students often think that taking a software engineering course will teach them to be better programmers (technically). While you may improve your programming skills when you take this course, that is not the main objective of this course. There are many other courses that help you improve your technical skills. Software engineering focuses on helping you develop other skills that will help you succeed in a career in the software industry. Many of these skills are considered “soft” skills and are as critical to your success as a software engineer as more traditional computer science courses.

Skills you will learn include:

The course is based around a term project that will be completed by a team of 10-15 students. Students interact with stakeholders to capture and manage requirements, schedule and implement work, and deliver valuable software. Teams will make weekly presentations to the stakeholders, where they demonstrate progress in the form of working software. Team grades are based upon the “paycheck” from the customer.

Most of the major topics covered in this course fall into one of three categories:

  1. People: how to organize a team of people for high performance, the types of roles needed on software projects, and collaboration skills.
  2. Process: how to determine the appropriate activities, practices, and techniques that a team might adopt to support the team’s goals.
  3. Tools: selecting and using tools that support the team and process.

Specific topics that might be addressed in a course offering are:

At the end of the course you will be prepared to contribute to a software development team. You will understand that the only constant in software development is “change.” and you will have collected tools for your software engineering toolbox that helps you deal with change.