CMPS 12B: Reading Assignments

I will post reading assignments here. These assignments are for your benefit. I will be covering the topics in class, but not at the same level of detail. My class material may also draw upon other resources.

March 6: Chapter 9 from Data Abstraction and Problem Solving

Feb 10: Read the following sections from Data Abstraction and Problem Solving:

  • Chapter 8: From "Java Interfaces Revisited" up to and including "Implementation of a List Iterator" - pages 353 - 360 (or 351 - 358 in the old version). Pay particular attention the the description of Iterators.
  • Chapter 10:
    • "Preview" - page 424 (or 422)
    • "The ADT Binary Tree" - all sections except "Nonrecursive Traversal" - pages 425 - 449 (or 423 - 447).
    • "The ADT Binary Search Tree" upto but not including "The Efficiency of Binary Search Tree Operations" - pages 454 - 476 (or 452 - 474)
    • "The Efficiency of Binary Search Tree Operations" - You don't need to understand the proofs here, but you should understand the parts about average case and worst case performance.
  • Chapter 2: Read this chapter if you are at all shaky or uncertain about recursion. You may want to review this chapter even if you are comfortable with recursion.

Jan 27: Read the following sections from Data Abstraction and Problem Solving:

  • Chapter 6: "Application: Algebraic Expressions" - pages 268 - 273 (or 266 - 271).
  • Chapter 7: All of it

Jan 20: Read the following sections from Data Abstraction and Problem Solving:

  • Chapter 4:
    • "Variations on the Linked List" - pages 188 - 194 (186 - 192 in the old version)
  • Chapter 6:
    • The sections "The Abstract Data Type Stack", "Simple Applications of the ADT Stack", and "Implementations of the ADT Stack" - pages 250 - 268 (or 248 - 266)
Jan 13: Read the following sections from Data Abstraction and Problem Solving:
  • Chapter 3:
    • Starting with "An Array-Based Implementation of the ADT List" until the end of the chapter - pages 137 - 146.
  • Chapter 4:
    • The "Preliminaries" section
    • The section "Programming with Linked Lists" up through and including the subsection "Comparing Array-Based and Reference-Based Implementations".
    • The above two parts are on pages 154 - 182 (152 - 180 in the old book).
Jan 8: Read the following sections from Data Abstraction and Problem Solving:
  • Chapter 1:
    • "Problem Solving and Software Engineering", up through 'phase 2' - pages 4 to 9.
    • "Achieving a Modular Design": pages 16-22.
  • Chapter 3:
    • "Abstract Data Types" and "Specifying an ADT" (upto but not including 'Axioms') - pages 106 - 122.
  • Appendix A:
    • "String Tokenizer class", "Java Exceptions", and "Text I/O" - pages 713 - 724 (or 711 - 722 in the old text).