Dear CS 2500 Class -- Here are study questions that you can work on to get ready for the first quiz. You will notice that all of these questions are "goals" taken from the beginnings of the chapters in Dale and Lilly. -- john sarraille ====================================================================== Chapter One Goals: Programming Tools * Describe the general activities in the software life cycle. * Describe the goals for quality software. * Explain the following terms: software requirements, software specifications, algorithm, information hiding, abstraction. * Be able to explain the use of "Big-O" to describe the amount of "work" done by an algolrithm. * Be able to write a top-down design for a given problem, either in English or in pseudo-code. * Be able to explain why it is desirable to separate logical properties from implementation in computer programs. * Be able to list features that make a program readable and modifiable. ====================================================================== Chapter Two Goals: Verifying, Debugging, and Testing * Be able to identify several sources of program errors. * Be able to describe strategies to prevent various categories of software errors. * Be able to specify the preconditions and postconditions of a program segment or procedure. * Be able to show how deskchecking, code walk-throughs, and design and code inspections can improve software quality and reduce software effort. * Be able to state several testing goals and to indicate when each would be appropriate. * Be able to describe several integration testing strategies and to indicate when each would be appropriate. * Be able to explain how software verification techniques can be applied throughout the software development process. ======================================================================