CS 314 Elements of Software Engineering
Practical techniques of program development for medium-scale software produced by individuals. Software development from problem specification through design, implementation, testing, and maintenance. The fundamental design techniques of step-wise refinement and data abstraction. A software project will be carried through the development cycle.