IBCS2 - 1415 - October

From WLCS

Thursday - Friday (10/30/14 - 10/31/14)

Agenda:

  • Complete and demo Linked List
  • The Linked List test code can be found on the Google Classroom website

Monday - Wednesday (10/27/14 - 10/29/14)

Agenda:

  • Internal Assessment - Criterion C: Development
    • Documents the development of your project
    • Discusses major programming concepts and why you used them
    • Shows evidence of the major programming concepts via screenshots
    • You will turn in a Criterion C outline in a few weeks
  • Internal Assessment progress check
  • Work on your Internal Assessment
  • Introduction to Linked Lists (walk-through)
    • What does a Linked List look like?
    • Linked List attributes
      • first
      • last
      • size
    • Linked List methods
      • adding data (beginning, middle, end)
      • deleting data (beginning, middle, end)
      • getting data
      • modifying data
      • searching for data
      • clearing all data
  • Get the LinkedList code from the Google Classroom website
  • What does the IB expect you to know about Linked Lists? Diagrams and descriptions
  • What are the different types of Linked Lists? What do they look like?
    • Singly linked list
    • Doubly linked list
    • Circular linked list

Friday (10/24/14)

Agenda:

  • Internal Assessment - Criterion C: Development
    • Documents the development of your project
    • Discusses major programming concepts and why you used them
    • Shows evidence of the major programming concepts via screenshots
    • You will turn in a Criterion C outline in a few weeks
  • Internal Assessment progress check
  • Work on your Internal Assessment

Wednesday- Thursday (10/22/14 - 10/23/14)

Warmup:

  • Draw the memory diagram for the following code:
Node x = new Node(4);
Node y = x;
Node z = new Node(2);
y.next = z;
z.next = x;

Agenda:

  • Demo your DynamicQueue
  • Internal Assessment - Criterion C: Development
    • Documents the development of your project
    • Discusses major programming concepts and why you used them
    • Shows evidence of the major programming concepts via screenshots
    • You will turn in Criterion C outline in a few weeks
  • Work on your Internal Assessment

Monday - Tuesday (10/20/14 - 10/21/14)

Agenda:

  • Dynamic Stack Review
    • Take notes if you do not have a photographic memory
  • Execute the following code to demo/test your DynamicStack
DynamicStack dStack = new DynamicStack()

//test out push
for (int i = 0; i < 100; i++)
{
  dStack.push(i);
}

//test out print
dStack.print()

//test out top()
System.out.println("Top => " + dStack.top())

//test out pop()
for (int i = 0; i < 100; i++)
{
  System.out.println("Pop! " + dStack.pop())
}

//test out popping from an empty stack
System.out.println("Pop! " + dStack.pop())
  • Dynamically-sized Queues
    1. On paper, draw the before-and-after pictures for enqueue()'s 2 scenarios:
      1. enqueueing to an empty queue
      2. enqueueing to a non-empty queue
    2. Draw the before-and-after pictures for dequeue()'s 3 scenarios:
      1. dequeueing an empty queue
      2. dequeueing the very last node
      3. dequeueing normally when the queue has more than one node
    3. Write the dynamically-sized queue code
      1. Use a combination of the StaticQueue and DynamicStack as templates
      2. Be sure to test your DynamicQueue like the DynamicStack

Thursday - Friday (10/16/14)

Warmup:

Agenda:

  • Node Review
  • Node Quiz
  • Dynamically-sized Stacks - due Monday (10/20/13)
    • Stack scenarios and Before-&-After pictures
      1. What are the possible behaviors of a stack?
      2. What does the picture look like Before?
      3. What does the picture look like After?
    • 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 void push(data) using Nodes.
      • push() should not return anything
      • push() creates a new Node with the data, and set the new Node's next reference to the top
      • Don't forget to update the top to be the new node!
    • Implement int pop() using Nodes
      • pop() removes the value on top of the stack, return it
      • pop() should also update the top
      • pop() returns null if the stack is empty
    • Implement isEmpty() which returns true if the stack is empty, and false otherwise
    • Implement print() which should print your entire stack from top down (to null)
    • TEST YOUR STACK
      • Be sure to push A LOT of data to test the dynamic size
      • Also test popping A LOT of data to make sure it works too

Tuesday - Wednesday (10/14/14 - 10/15/14)

Agenda:

Thursday - Friday (10/9/14 - 10/10/14)

Agenda:

  • Demo your StaticQueue
  • CircularQueue walk-through
  • Stacks and Queues quiz on Tuesday, Wednesday (10/14/14, 10/15/14)

Tuesday - Wednesday (10/7/14 - 10/8/14)

Agenda:

  • Searching & Sorting Quiz
  • Queues - Media:Queues.ppt
  • Create a StaticQueue class
    • Use StaticStack as a template
    • Be sure to have all the queue attributes
      • int head
      • int tail
      • int [] queue
    • Be sure to have all the queue operations
      • default StaticQueue() and specific StaticQueue(int size) constructors
      • void enqueue(int data) - adds data to the tail of the queue if it is not full
      • void add(int data) - adds data to the tail of the queue if it is not full
      • int dequeue() - removes and returns data from the head of the queue if it is non-empty
      • int remove() - removes and returns data from the head of the queue if it is non-empty
      • boolean isFull() - returns true if the queue is full, false otherwise
      • boolean isEmpty() - returns true if the queue is empty, false otherwise
      • int peek() - returns data element at the head (but does not remove it)
    • Create any other queue methods that may be useful
      • void print()
    • Test your queue class to see if it works

Monday (10/6/14)

  • Searching & Sorting Quiz
  • Demo your matrix functions
  • Complete the StaticStack class
    • Test it with Media:StackMain.java
    • Be able to describe the characteristics of a stack
    • Be able to explain the operations of a stack
    • Be able to describe different stack applications
    • If given a list or an array, be able to explain their use as stacks
  • Queues - Media:Queues.ppt
  • Create a StaticQueue class
    • Use StaticStack as a template
    • Be sure to have all the queue attributes
    • Be sure to have all the queue operations
    • Create any other queue methods that may be useful
    • Test your queue class to see if it works

Friday (10/3//14)

Agenda:

  • Searching & Sorting Quiz on Monday & Tuesday (10/6/14, 10/7/14)
  • Demo your matrix functions
  • Complete the StaticStack class
    • Test it with Media:StackMain.java
    • Be able to describe the characteristics of a stack
    • Be able to explain the operations of a stack
    • Be able to describe different stack applications
    • If given a list or an array, be able to explain their use as stacks
  • Queues - Media:Queues.ppt
  • Create a StaticQueue class
    • Use StaticStack as a template
    • Be sure to have all the queue attributes
    • Be sure to have all the queue operations
    • Create any other queue methods that may be useful
    • Test your queue class to see if it works

Wednesday - Thursday (10/1/14 - 10/2/14)

Agenda:

  • Searching & Sorting Quiz on Monday & Tuesday (10/6/14, 10/7/14)
  • Demo your matrix functions
  • Introduction to Stacks - Media:Stacks.ppt
    • Be able to describe the characteristics of a stack
    • Be able to explain the operations of a stack
    • Be able to describe different stack applications
    • If given a list or an array, be able to explain their use as stacks
  • StaticStack class walk-through