IBCS2 - 1011 - October

From WLCS

Friday (10/29/10)

Warmup:

  • Draw the memory diagram after the following code executes:
Node fun = new Node(42);
Node general = new Node (11);
Node a, b, c;
 
a = general;
b = a;
fun.next = b;
c = fun;

Agenda:

  • Node Practice
  • Dynamically-sized Stacks
    • Create a new class called DynamicStack
    • What attribute must we keep track of when we talk about stacks?
    • Create a Node reference for the most important stack attribute
    • Implement push(int num) using Nodes.
      • push() should not return anything
      • push() creates a new Node with the num, and set the new Node's next reference to the top
      • Don't forget to update the top to be the new node!
    • Implement pop(), which should POP and return the value on top of the stack and update the top
    • Implement top(), which should just return the value on top of the stack
    • Implement isEmpty() which returns true if the stack is empty
    • Implement print() which should print your entire stack
    • TEST YOUR STACK USING MR. BUI'S STACK MAIN OR YOUR OWN MAIN METHOD
  • Dynamically-sized Queues
    • Create a new class called DynamicQueue
    • Test out your DynamicQueue using the original QueueMain file

Wednesday (10/27/10)

Warmup:

  • What does FIFO stand for?
  • When would you want to use a queue? Give an example
  • Assume the following queue operations have occurred:
    1. Add "Nick"
    2. Add "Scarlet"
    3. Add "Sheng"
    4. Remove
    5. Add "Daniel"
    6. Remove
    7. What is left in the queue?

Agenda:

Homework:

  • Dossier - Prototype Solution rough draft due Tuesday (11/3/10)

Monday (10/25/10)

Warmup:

  • Turn in your Criteria for Success
  • Grab a Stacks Quiz, you may start immediately

Agenda:

Thursday (10/21/10)

Warmup:

  1. What does LIFO stand for?
  2. What data structure does LIFO describe?
  3. What is the one location that you worry about in the structure from #2?
  4. What are the two actions that you can do in the structure from #2?
  5. When would you want to use the structure from #2?

Agenda:

Homework:

  • Criteria for Success due Monday (10/25/10)
  • Stacks quiz on Monday (10/25/10)

Tuesday (10/19/10)

Agenda:

Homework:

  • Criteria for Success due Monday (10/25/10)
  • Stacks quiz on Monday (10/25/10)

Friday (10/15/20)

  • Field trip

Wednesday (10/13/10)

Agenda:

Friday (10/8/10)

Warmup:

  • Turn in Analyzing the Problem section
  • What are the steps necessary in order to use a dictionary?
    • Write it out in a text editor.

Agenda:

  • Peer edit analyzing the problem
  • Review of Linear Search
  • Download Media:LinearSearch.java
  • Fill in the commented parts of LinearSearch.java and demo a working linear search to Mr. Bui
  • Linear Search performance evaluation
  1. What is the best case scenario? i.e. What is the minimum # of comparisons?
  2. What is the worst case scenario? i.e. What is the maximum # of comparisons?
  3. What is the average # of comparisons?
  4. Can we do better than a linear search?
  • Introduction to Binary Search
  1. Assume sorted list
  2. Go to the middle point
  3. If the middle element matches the key, then the search is over
  4. If the key is less than middle element, go to the left (down), else go to the right (up)
  5. Repeat steps 2-4 until the key is found or when the left and right bounds pass each other
  1. What is the best case scenario? i.e. What is the minimum # of comparisons?
  2. What is the worst case scenario? i.e. What is the maximum # of comparisons?
  3. What is the average # of comparisons?
  • Binary Search Advantages & Disadvantages

Wednesday (10/6/10)

Warmup:

  • Pickup 5 playing cards from Mr. Bui
  • Use the BubbleSort algorithm to hand-sort the cards from least to greatest

Agenda:

  • Turn in field trip slips.
  • Demo all programs. Interims are due today.
  • Work on Dossier: Analyzing the Problem

Homework:

  • Analyzing the Problem due Friday (10/8/08)Due Friday (10/8/08)
  • Any missing assignments

Monday (10/4/10)

Warmup:

Agenda:

  • SelectionSort Review
  • Introduction to Bubble Sort
  1. Initialize the front to be the top or beginning of the array
  2. Now go to the bottom/end of the array
  3. Compare the two adjacent elements to see if they are in proper sequential order
    1. Swap the elements if they are out of order (bigger number to the left of smaller number)
  4. Move to the next pair of adjacent elements/numbers
  5. Repeat steps 3 and 4 until the smallest number has "floated" to the top/front
  6. After you traverse the entire array
    1. Move the front so that the sorted numbers are ignored
    2. Go back to the end of the array
    3. Repeat steps 2 through 6 for the unsorted part of the array

Homework:

  • Analyzing the Problem due Friday (10/8/10)