Next:
Basic Concepts
Up:
Programming Principles for CS
Previous:
Assessment
Programming Projects
Basic Concepts
Software Construction
Prelude to Dealing with Individual Routines
Concepts and Paradigms
Problem Definition
Requirements
Architecture
The Design Process
Abstraction
Encapsulation
Modularity and Information Hiding
Inheritance
Designing and Documenting Individual Routines
Basic Concepts of Literate Programming
Writing Code for LPS
Writing Documentation for LPS
Program Design Language
Quality Issues in Routines
Reasons to Create Routines
Naming a Routine
Cohesion and Coupling
Cohesion
Coupling
Defensive Coding
Types
Testing
Definitions
Testing
versus
Proving
Pre- and Post-Conditions
Performance Analysis
Testing Activities During Design
Testing at Programming Time
Basis Testing.
Data Flow.
Control States.
Checking Useful Data and Control States.
Equivalence Testing.
Heuristics.
Termination.
Grading
Miscellaneous Ideas not yet incorporated
Steve Stevenson
Wed Feb 26 10:54:45 EST 1997