Software Engineering-Related Course Offerings

at Boston University Metropolitan College

 

Last updated November 26, 2003

 

The purpose of the software engineering–related courses is to educate and train graduates for the profession of software engineer.  The process of developing real-world applications is complex, and it requires knowledge of a broad set of activities.  These are project management, requirements analysis, software architecture and design, programming, testing and maintenance.  Students learn to work as individuals and as team members.     

 

The following figure shows the relationship between the courses in software engineering, each of which is described below.

 

 

The core course for this set of offerings is Software Engineering (MET CS 673).  The sequence of prerequisite programming courses for the M.S are prerequisites for this course.  Equivalent programming courses are acceptable.  “Software Engineering” teaches the main parts of the process whereby a team specifies, designs, develops, tests and maintains applications.  A term project is usually required, performed by student teams.

References: A more detailed description.  A typical complete syllabus.

 

 

The Patterns and Components course (MET CS 665) deals with the principles of good software design as well as the parts of a design.  Its main emphasis is on the evolving area of design patterns and software components.   Java programming is required because the assignments are in Java.  The exercises pertain to the individual topics covered, and the course does not usually require a term project.  Typically, no teamwork is involved.

References: A more detailed description.  A typical complete syllabus.

 

 

Object-Oriented Analysis and Design (MET CS 770) concentrates on the design of OO applications.  This course provides students with the opportunity to design and implement an application of nontrivial size.  It is very useful, but not required, for students to be knowledgeable about design patterns and software engineering beforehand.  The course requires a term project.  Usually, no teamwork is involved.

References: A more detailed description.  A typical complete syllabus.

 

 

The Software Testing course (MET CS 773) specializes in the testing aspect of the development process.   It is built on the student’s understanding of software engineering (MET CS 673). The course usually requires a project.

References: A more detailed description.

 

 

Directed Study, a one-on-one format, is often available to students who are interested in specializing and researching a topic with software engineering.  This activity can be expanded into a thesis for the M.S. degree, which consists of two semesters, each a 4-credit course.  Please contact Dr. Eric Braude (ebraude@bu.edu) or Dr. Anatoly Temkin (temkin@bu.edu) if you are interested in directed study or a thesis

 

 

The following figure summarizes the relationships among the topics mentioned above.