CPSC 170A: Fundamentals of Computer Science II
Spring 2012: Class Notes

Date Topic and Associated Reading In-class Material
Jan 16
  • Course Overview
  • Events (Lewis Section 6.1 and 6.4)
Jan 18
  • Review Classes
Jan 20
  • Informative Names (Boswell Chapter 2)
Jan 23
  • GUI Elements (Lewis Section 6.1, 6.2, and 6.4)
  • Inheritance (Lewis Section 8.1)
Jan 25
  • Overriding Methods (Lewis Section 8.2)
Jan 27
  • Unambiguous Names (Boswell Chapter 3)
  • Class Heirarchies (Lewis Section 8.3 through 8.5)
Jan 30
  • Abstract Classes (Lewis Section 8.3)
  • Generics (Lewis 14.3)
Feb 3
  • Code Aesthetics (Boswell Chapter 4)
Feb 6
  • Exceptions (Lewis Chapter 10)
Feb 8
  • Exceptions (Lewis Chapter 10)
Feb 10
  • What to Comment (Boswell Chapter 10)
Feb 13
  • Test 1
 
Feb 15
  • Test Review
 
Feb 17
  • Algorithm Efficiency (Lewis Section 12.1)
Feb 20
  • Recursion (Lewis Chapter 11)
Feb 22
  • Algorithm Efficiency Continued(Lewis Section 12.1)
 
Feb 24
  • Asymptotic Growth Classes (Lewis Section 12.2)
  • Precise and Compact Comments (Boswell Chapter 6)
 
Feb 27
  • Comparing Sort Algorithms (Section 13.3)
 
Feb 29
  • More Recursion (Lewis Chapter 11)
Mar 2
  • No Class
 
Mar 12
  • Linked List (Lewis Sections 14.9, 14.10)
 
Mar 14
  • Representing Audio
Mar 16
  • Queues (Lewis Chapter 15)
Mar 19
  • Test 2
 
Mar 21
  • Stacks (Lewis Chapter 14)
Mar 23
  • Simplifying Loops (Boswell Chapter 7)
Mar 26
  • Iteration (Lewis Section 9.3)
Mar 28
  • Tracing Recursive Code
Mar 30
  • Breaking Down Large Statements (Boswell Chapter 8)
Apr 2
  • Binary Search (Lewis Section 13.1)
Apr 4
  • Maps
Apr 9
  • Hash Tables (Lewis Chapter 20)
Apr 11
  • Hash Table Asymptotic Analysis
Apr 13
  • Eliminating Variables (Boswell 9)
Apr 16
  • Comparing Sorting Algorithms
Apr 18
  • Asymptotic Analysis of Recursive Code
Apr 20
  • Writing Recursive Code
Apr 23
  • Tracing Code with Aliasing