Overview: Spring 2005
Dr. Douglas Niehaus
Learned 1136
Tu/Th 11-12:20
Overview
The objective of this course is to address a range of issues associated with the design and implementation of software systems. The emphasis is on the software engineering aspects of the problem, many of which only arise in the context of larger scale software. As an extreme example, software projects involving thousands, or hundreds of thousands, of lines of code which are developed by a group, or groups, of programmers require management techniques which are completely unnecessary for a single programmer implementing a few hundred lines of code.
The course will address sets of tools and practices which have been developed to aid programmers programming for real projects in real situations, as well as the doctrine and procedures associated with the classical software engineering stages: requirements, specification, design, implementation, and maintenance. Since many aspects of software engineering doctrine are expressed at an abstract level, the class will also provide an opportunity to see how the abstract ideas are put into practice by applying them to the semester project within the software development environment supported by the department Linux systems.