Presentation is loading. Please wait.

Presentation is loading. Please wait.

Exam Review 2 Chapter 5 – 9 CS211 November 05,2007, CS Dept, MHC.

Similar presentations


Presentation on theme: "Exam Review 2 Chapter 5 – 9 CS211 November 05,2007, CS Dept, MHC."— Presentation transcript:

1 Exam Review 2 Chapter 5 – 9 CS211 November 05,2007, CS Dept, MHC

2 In-class Exam 2 Wednesday 11:00am – 12:15pm Open books, open notes, but not open neighbors Coverage: chapter 5 – chapter 9 Questions: –Short-answer questions –Multiple-choice questions

3 Chapter 5: Linked Lists Node Class (Ex 1-12) Linked List Toolkit (Ex 13 -25 ) The bag Class with a Linked List (Ex 26-35) The sequence class with a Linked List (Ex 36-40: please refer to assignment 4) Comparison of dynamic arrays, linked lists and doubly linked lists (Ex 41-46)

4 Chapter 6: Templates, Iterators and STL Template Functions and Template Classes –for code that is meant be reused in a variety of settings in a single program –Sections 6.1-6.2 Iterators –step through all items of a container in a standard manner –Sec. 6.3, 6.5, 6.6 Standard Template Library –the ANSI/ISO C++ Standard provides a variety of container classes in the STL –Section 6.3

5 All you need to know about Templates Template Function –a template prefix before the function implementation –template Function Prototype –a template prefix before the function prototypes Template Class –a template prefix right before the class definition Instantiation –template functions/classes are instantiated when used Better Understanding of classes and functions

6 Iterators (Sec. 6.3, 6.5, 6.6) We discussed how to build an iterator for the linked list so that each of the containers can build its own iterator(s) easily A node iterator is an object of the node_iterator class, and can step through the nodes of the linked list

7 Linked List Version the bag Template Class with an Iterator Most of the implementation of this new bag is a straightforward translation of the bag in Chapter 5 that used an ordinary linked list Two new features –Template class with a underlying type Item –iterator and const_iterator – defined from node_iterator and const_node_iterator, but use the C++ standard [...) left inclusive pattern

8 Standard Template Library (STL) The ANSI/ISO C++ Standard provides a variety of container classes in the STL –set, multiset, stack, queue, string, vector Featured templates and iterators For example, the multiset template class is similar to our bag template class More classes summarized in Appendix H

9 Chapters 7/8 Stacks and Queues Stacks and LIFO( Read Chapter 7, esp. 7.1 and 7.3 ) –Self-Test: 1-5, 13-18 Queues and FIFO ( Read Chapter 8, esp. 8.1 and 8.3 ) –Self-Test: 1-5, 10,18-21 Priority Queues ( Read Section 8.4 ) –Self-Test: 25-27 References Return Values ( Read Section 8.5 and p. 314 in Chapter 6 ) –Self-Test: class note of Lecture 12

10 Chapter 9 Recursive Thinking Recursive Functions (Section 9.1) –Recursive Calls and Stopping Cases –Activation Record and Run-Time Stack –Self-Test: Exercises 1-8 Reasoning about Recursion (Section 9.3) –Infinite Recursion and One Level Recursion –Ensure no Infinite and Correctness Applications of Recursion(Optional :Section 9.2)

11 Testing and Debugging Testing: –The goal of testing is to find errors. –Black-box testing Test cases are developed without regard to the internal workings Test cases  equivalent categories Check boundary values: “Off by 1” errors –White-box testing Exercises the internal structure and implementation of a method. Ensure every path through a program is executed at least once. Note: expected output for each test should be established prior to running the test.

12 More on Testing Unit testing –Create a test case for each module of your code (method) Integration testing –Previously tested modules are now tested as a collection. System testing –Test the entire system –Alpha and beta tests.. Usually prior the formal release of a software product

13 Debugging –Locating and correcting run-time and logic errors from your programs. Debugger –A software program that permits developers to observe the execution of a program. –Obtain detailed info: values of variables, states of objects …

14 More on Debugging Simple debugging with print statements –Periodically print variables’ value of objects’ string representation. –Print other types of useful info How far my code got before it died? –Keep tracking of parameter values, esp. recursive functions Debugging Concepts

15 More on Debugging Simple debugging with print statements Debugging Concepts –Set one or break points –Print the value of a variable or a object –Step into or over a method –Execute the next single statement –Continue execution –Other additional features Debuggers: jdb (JDK), gdb(GNU)


Download ppt "Exam Review 2 Chapter 5 – 9 CS211 November 05,2007, CS Dept, MHC."

Similar presentations


Ads by Google