IB Computer Science 2

From WLCS
Revision as of 12:48, 11 October 2011 by Admin (talk | contribs)

Monday (10/11/11)

Warmup:

  1. Draw the memory diagram on the board
  2. What are the lines of code that you would need to use to create the picture on the board?

Agenda:

  • Node Review
  • Node references practice
    1. Pair up with somebody near you
    2. Each group will be given a memory diagram drawing from Mr. Bui
    3. Individually write the lines of code to create the memory diagram
    4. Compare your code with your partner's
    5. Go up to the board and present
  • Nodes Quiz on Thursday (10/13/11)
    • Be able to trace code and draw memory diagram
    • Be able to write code that creates a given memory diagram
  • Static vs. Dynamic
  • 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

Homework:

  • Node Quiz on Thursday (10/13/11)
    • Be able to trace code and draw memory diagram
    • Be able to write code that creates a given memory diagram

Thursday (10/6/11)

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 "Andrew"
    2. Add "Kyla"
    3. Add "JJ"
    4. Remove
    5. Add "Biniam"
    6. Remove
    7. What is left in the queue?

Agenda:

Tuesday (10/4/11)

Agenda:

Homework:

Friday (9/30/11)

Agenda:

  • Sorting Quiz
  • Introduction to Abstract Data Type (ADT)
  • Introduction to Data Structures
  • Stacks
  • Stack Practice
    1. After studying the stack code, you will attempt to re-create the Stack.java code
    2. Create a new Java project called StackPractice
    3. Download Media:EmptyStack.java
    4. Rename EmptyStack.java to Stack.java AND add it to your StackPractice project
    5. Download Media:StackMain.java and add it to your StackPractice project
    6. Fill in the code for all the empty stack methods
    7. Test your own stack code with StackMain.java

Homework:

  • Analyzing the Problem due Tuesday (10/4/11)
  • Quick Stack Quiz on Tuesday (10/4/11)

Wednesday (9/28/11)

Warmup:

  1. Repeatedly comparing adjacent elements and swapping them so that they are in the correct order. Which sort am I?
  2. Repeatedly look for the smallest thing currently in the collection and putting it aside. Which sort am I?

Agenda:

  • If you have no missing assignments, complete the optional survey.
  • Insertion Sort
    • From the very beginning...insert the value into the correct spot (there may need to be some shifting around)
  • Quick Sort
    1. Start with a partition (will be the entire list in the beginning)
    2. Pick an element at random. It will be the pivot value.
    3. Go through the list and values less than the pivot are put before it and values greater than the pivot will come after.
    4. The pivot also partitions the list into two sublists. Repeat steps 1-4 for each of the sub-lists.
  • Sorting Animations
  • Quicksort
  • Sorting Quiz this Friday (9/30/11)
    • Be able to explain each of the sorts
  • Work on your Analysis of the Problem
  • Demo missing assignments

Homework:

  • Sorting Quiz this Friday (9/30/11)
  • Analyzing the Problem due Tuesday (10/4/11)

Back to School Night (9/26/11)

Monday (9/26/11)

Agenda:

  • SelectionSort Review
  • Demo SelectionSort.java
  • Demo the sort option added to your AddressBook
  • 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:

  • Any leftover AddressBook demonstrations (including a sort option)
  • SelectionSort and BubbleSort
  • Analyzing the Problem due Tuesday (10/4/11)

Thursday (9/22/11)

Warmup:

  1. Form a group of 3 people
  2. Receive several playing cards from Mr. Bui
  3. Shuffle the cards
  4. Sort them in numerical order by repeatedly finding the smallest card and separating it

Agenda:

  • Introduction to Selection Sort
  1. Find the smallest element
  2. Move to the front of the array (swap with front)
  3. Repeat Steps 1&2, but ignoring the sorted front
if (str1.compareTo(str2) < 0)
{
  System.out.println(str1 + " goes before " + str2);
}
  • So inside your AddressBook, you'd have something like this:
if (myContacts[i].getLastName().compareTo(myContacts[j].getLastName()) < 0)

Friday - Tuesday (9/16/11 - 9/20/11)

Warmup:

Agenda:

  • Return Software Development Quizzes
    • Corrections for 1/2 partial credit (Turn in corrections by the end of the week)
  • Complete AddressBook class lab assignment by the end of class

Wednesday (9/14/11)

Warmup:

Agenda:

  • Java Review?
    • How does it all work?
    1. Create Java Classes (object blueprints)
    2. Create a separate main class with a main method. The main method can use other objects defined in classes.
  • Review Arrays
  • Array practice activities
    1. Create a new Java class named ArrayPractice1. Create an array of 10 Strings (Use names of students in the room). Using a for loop, print out all the Strings in the array.
    2. Create a new Java class named ArrayPractice2. Create an array of 10 integers (make a bunch of numbers up). Using a for loop and an if statement, print print out only numbers greater than 10.
    3. Create a new Java class named ArrayPractice3. Create an array of 10 integers. Using a for loop, calculate the sum and average.
  • AddressBook beginning walk-through
  • AddressBook class lab assignment

Homework:

  • Install the Java JDK on your computer (be sure to choose your corresponding operator system)
  • Install Eclipse Classic on your computer (be sure to choose your corresponding operator system on the right)
  • Test it out, and let Mr. Bui know if you run into problems

Monday - Wednesday (9/12/11 - 9/14/11)

Warmup:

  • Redo the Comfort Zone Survey
  • Be prepared to demo Contact
  • Cram for quiz (Hint: There is a question on almost every slide...lol!)

Agenda:

Homework:

  • Install the Java JDK on your computer (be sure to choose your corresponding operator system)
  • Install Eclipse Classic on your computer (be sure to choose your corresponding operator system on the right)
  • Test it out, and let Mr. Bui know if you run into problems


Tuesday - Thursday (9/6/11 - 9/8/11)

Warmup:

Agenda:

Homework:

Summer