Date  What's Up? 

12/04/2007 
Last Meeting  Course Evaluation  Quick review of graph terminology  Finding singlesource shortest path on an unweighted directed graph [Lab 12]  Lab 12 PowerPoint  Thanks for the good time we had this semester. :) 
11/27/2007 
Java Dictionary ADT Interfaces: Map , SortedMap , Set , SortedSet
[Lab 11]
Set is a special case of Map where keys are identical to values.SortedSet is a special case of SortedMap where keys are identical to values.
Map (Set ) when you want a fast access. Use SortedMap (SortedSet ) if the ordering of the keys is crucial. For example, use a TreeSet to store grades when you want to list the grades in order from highest to lowest; use a HashSet when you just want to look up whether a grade exists in the collection.

11/20/2007  Project Discussion 
11/13/2007  Review for Midterm 2 
11/06/2007 
Quick Review of Tree Traversals: Preorder, Postorder, Breadthfirst, Inorder (for binary trees) Binary Heap [Lab 8]  Heap operations: add , removeRoot  add
removeRoot
 Use this declaration for BinaryMinHeap: public class BinaryMinHeap<E extends Comparable<? super E>> implements BinaryMinHeapI<E>  How to keep track of the last node?
 Use this Symbol class to avoid warnings (in case you want to implement Huffman encoding): Symbol.java 
10/30/2007 
Linked Structures [Lab 7]  Time complexity of each list operation  Stack and Queue: Time complexity of each operation  Appending two lists: analyzing running time  Solution to Lab 7 
10/23/2007 
Getting to know Eclipse: a powerful Java IDE [Lab 6]

10/16/2007  No Meeting: Fall Break 
10/09/2007  Review for Midterm 1 
10/02/2007 
Mathematical Induction and BigO Notation (continued)  Proving equalities is usually easier than proving inequalities. How to determine BigO in a given algorithm?  Take the advantage of BigO: insignificant terms don't matter; constants don't matter.  Use summation to calculate the running time of the loop.  Supplementary Document 
09/25/2007 
Mathematical Induction and BigO Notation  Induction is quite similar to trying to fall a sequence of dominos.  BigO is mostly used in analyzing complexity of algorithms.  To prove that f(n) is O(g(n)), we just need to find a constant c and a natural number N such that the condition in the definition holds, whether they be an explicit number or in terms of some other variables.  To prove that f(n) is not O(g(n)), we usually prove by contradiction.  Solution to Lab 3 
09/18/2007 
Counting exact number of steps in code snippets.  Need to count primitive operations right:
 Consider the worst case for if statements.  Sometimes parts of the code never execute!  Solution to Lab 2 
09/11/2007 
First Meeting  Icebreaker and Introductions  Basic Unix Tutorial: ls, pwd, cd, mkdir, rmdir, mv, cp, rm, man, whoami, hostname, less, more Java and Code Repetition [Lab 1] 