Software Engineering -- CS511
Boston University -- Fall 2001

Thursday 5:00 to 8:00 in CAS 314


Books / Links

Schedule / Topics

Team Projects

Team Presentations

Announcements

Instructors

Grading

Grades

College Hiring

Quiz & Test Answers

Lectures

 

Software engineering is the application of sound engineering principles to the process of software development. Its purpose is to produce high-quality software in an efficient and predictable manner.

The course will take a wide perspective on software development, including: requirements analysis, technical design, estimating, programming style, testing and quality, and management issues. We also will cover recent topics such as open source development and "web time" delivery.

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.

This will be a demanding course. Because it meets only once per week, I will assign a considerable amount of reading for each class. You will be expected to complete the readings and be ready to discuss them at the start of each class. Everyone will participate in a team project, which requires a commitment to working in a group and completing assignments that other people depend on. Project deadlines will be firm.

Prerequisites: 

  • You should know a modern programming language and be able to complete a sizable project in it. (The class will not teach a programming language or detailed programming technique.)
  • You should have a reasonably broad background in computer science. (You should not take this course as one of your first CS classes.)

Other useful information about the course:

  • This class (and software engineering in general) is more qualitative than quantitative. You will learn methods of software development that have been borne out by experience and trial and error, rather than mathematically provable results.
  • The class will teach you a little about almost everything in software engineering. You won't become an expert in any one area, but you will become familiar with most of what you will see in a real software development organization. 

 

Copyright 2001 by Charles H. Connell Jr.