Difference between revisions of "IB Computer Science 2"

From WLCS
 
Line 1: Line 1:
== Monday - Tuesday (10/20/14 - 10/21/14) ==
+
== [[IBCS2 - Archives]] ==
'''Agenda:'''
 
* Dynamic Stack Review
 
** Take notes if you do not have a photographic memory
 
*Execute the following code to demo/test your DynamicStack
 
<syntaxhighlight lang="Java">
 
DynamicStack dStack = 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())
 
</syntaxhighlight>
 
 
 
* Dynamically-sized Queues
 
*# On paper, draw the before-and-after pictures for enqueue()'s 2 scenarios:
 
*## enqueueing to an empty queue
 
*## enqueueing to a non-empty queue
 
*# Draw the before-and-after pictures for dequeue()'s 3 scenarios:
 
*## dequeueing an empty queue
 
*## dequeueing the very last node
 
*## dequeueing normally when the queue has more than one node
 
*# Write the dynamically-sized queue code
 
*## Use a combination of the StaticQueue and DynamicStack as templates
 
*## Be sure to test your DynamicQueue like the DynamicStack
 
 
 
== Thursday - Friday (10/16/14) ==
 
'''Warmup:'''
 
* Complete the [https://docs.google.com/forms/d/1eyTktRcmlyB0pzaQEh2v5XP-ON9FZkQ_yk5wBC81ApA/viewform Dual Enrollment Test Score Survey]
 
 
 
'''Agenda:'''
 
* Node Review
 
* Node Quiz
 
* Dynamically-sized Stacks - due '''Monday (10/20/13)'''
 
** Stack scenarios and Before-&-After pictures
 
**# What are the possible behaviors of a stack?
 
**# What does the picture look like Before?
 
**# 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:'''
 
* Stacks and Queues Quiz
 
* Object and References Review
 
** [[Media:Point.java]]
 
** [[Media:ReferencesReview.java]]
 
* Node class
 
** [[Media:Node.java]]
 
** [[Media:NodeFun.java]]
 
** [[Media:NodeFunAgain.java]]
 
* '''Node Quiz on Thursday, Friday (10/16/14, 10/17/14)'''
 
** Be able to trace code and draw memory diagram
 
** Be able to write code that creates a given memory diagram
 
 
 
== 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
 
 
 
== Archives ==
 
* [[IBCS2 - 1415 - September]]
 

Latest revision as of 08:28, 13 September 2023