Software Engineering -- CS511
Boston University -- Fall 1999

Wednesday 4:00 to 7:00, 725 Comm Ave, Room B36


Announcements

Schedule / Topics

Books / Links

Instructors

Team Members

Team Projects

Team Presentations

Grading

Grades

College Hiring


Software engineering has been defined as the application of sound engineering principles to the process of software development. Its purpose is to make predictable the production and delivery of large, complex programs that are reliable, efficient, and easy to use.

The course will survey a wide range of topics in software engineering including: functional specification, design and architecture, scheduling and estimating, testing and quality, software reuse, and human resource issues. Based on student interest, we can also include subjects in the news -- such as Y2K problems, "web time" development, and security breaches.

In previous years, this course taught object-oriented programming and Java. This year, the class will not teach a particular programming language, but will focus on software engineering methods that are independent of a language.

The class will cover its topics from two perspectives:

  • Current theory and methods, using a text book and related articles.
  • Hands-on practice through a team programming project (using a language of your choice).

Much of the course will revolve around student teams of six members. Each team will complete a programming project during the semester, and also research and present a topic related to current theory or practice.

Students will be expected to think critically about the material presented. Some methods in software engineering are valuable, and some are of little help. The class will encourage students to think about what we are studying and to argue for or against it.

Copyright 1999 by Charles H. Connell Jr.