Software Engineering Syllabus

Instructor: Dr. John F. Santore
Phone: 508-531-2226
Office: Hart 220

Instructor Web Page:
Course Web Page:

Office Hours: I also will take appointments if you cannot make my other office hours, however, I generally have meetings and work prepared for a day or two ahead so plan on about 48 hours from the time I get your request to us being able to meet.

Course Description:
In this course we will look at the process of developing software on a larger scale than in most other cs courses. Students will learn about the software development lifecycle; you will do the Analysis, Design, implementation, testing on a single larger project. We will look at UML for modelling. Student will learn about and use design patterns and understand good reuse of code.

Object-Oriented Software Engineering  by Timothy Lethbridge, Robert LaganierePublisher: McGraw-Hill Science/Engineering/Math; 2 edition (May 4, 2005)
ISBN-13: 978-0073220345

Class Requirements and grading:

Software engineering classes typically include a single large semester long software developement project. This class will do so as well. This project will be a large part of your grade. You will not be able to pass the course unless you can pass both the project related and exam parts of the course.

Project related work: 50%

Exams (one midterm and one final): 40%

Project Work:

Much of the project work will be done in groups. You will be given the opportunity to form your own groups in the first or second weeks of the class. To assure that every student does his or her fair share of the work, exit interviews will be done after some deliverables where each student meets with me individually to discuss the team's solution and work on their part of the project. Each person needs to understand the project and the group's contributions to the project. Questions on the quizzes and homeworks may also be used to assess your understanding of the project. Unlike some group projects, in this software engineering class, every group member  is expected to understand their own group's work in totality.

Non-Project work:

Non-project work (exams and misc assignments) are individual assignments and should not be done with any other classmates. (discussion without recording devices is always allowed for homeworks, exams are closed neighbor) The exam part of the grade will be split evenly between the midterm and final exam.

Students with special needs:

Anyone who has special needs should contact me in the first week of classes so that reasonable accommodations can be agreed on.

Academic Integrity:

See for a complete description of the academic integrity procedure at Bridgewater.

Academic integrity will be taken very seriously in this class. All individual work must be your own. If you cheat or otherwise represent the work of others as your own. You will receive an F for the course.

Guidelines for proper academic integrity:

Discussing problems with your classmates can help you understand the problems and kinds of solutions to those problems that you will learn about in this class. In an effort to make in clear what sort of discussions are appropriate and encouraged in this class and which cross the line to academic dishonesty I use the following guidelines: You may discuss any out of class problem I assign in this class with your classmates or other so long as no one is using any sort of recording implement including, but not limited to, computers, pdas, pens, pencils, phones etc. This lets you talk about theoretical solutions without sharing the actual implementations. As soon as anyone in the group is typing, writing etc, all conversations must stop. You may look at someone else's program code only very briefly in order to spot a simple syntax error. As a rule of thumb, if you find yourself looking at someone else's code for more than about 30-45 seconds it is probably time to stop. If you are having trouble with your program, come to the instructors office hours for more help.

All in class exams and quizzes are closed book and closed neighbor. If you are found using a data storage device of any kind during one of these evaluations, you will be failed for the course.

Of course for your group work, your entire group is intended to produce a single deliverable and are expected to work together on all parts of that so the above does not apply to members of a group working together on their group work.

Standards for in class behavior:

You are all adults and are expected to act as adults in this class. While questions are encouraged in this class, if a particular line of questioning is taking us too far afield, I will ask the student to come by my office hours or to see me after class.

Cell phones, pagers, electronic organizers and other devises should be silenced while in class. If you work of EMS or something similar, please turn your cell phones/ pagers etc to vibrate mode so that you are not disrupting others in the class.

In the unlikely case of trouble makers in the class, those who are simply attempting to disrupt the class will be asked to stop; those who will not, will be referred to the college for appropriate action.

Tentitive Schedule

Week Topic Project
Week 1 Introduction to the class and Topic Introduce project
Week 2 Requirements and Anaysis Analysis of project requirements
Week 3 Anaysis & OO analysis and design Analysis draft due
Week 4 OO analysis, design and modelling Analysis Final due
Week 5 Desgin patterns Design project
Week 6 Design patterns cotd ? Design Draft due
Week 7 Use cases and UIs (GUIs?) Design Final due
Week 8 dynamic modelling Examine various designs, instructor will
choose one with student input
Week 9 more modelling and Design principles and architecture begin implementing project
Week 10 Design principles and architecture
Week 11 Testing
Week 12 The importance of reusable tech in todays software developement world end implementation, begin testing
Week 13 project management
Week 14 project management and review Delivery w/ documentation