Difference between revisions of "IB Computer Science 2"

From WLCS
Line 9: Line 9:
 
* Internal Assessment progress check
 
* Internal Assessment progress check
 
* Work on your Internal Assessment
 
* Work on your Internal Assessment
 
== 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 [http://en.wikipedia.org/wiki/Linked_list#Basic_concepts_and_nomenclature 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
 
<!--* Complete the code for [[Media:LinkedList.java]]
 
* You can try testing out all your code using: [[Media:LinkedListTestMain.java]]
 
-->
 
* 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:
 
<syntaxhighlight lang="Java">
 
Node x = new Node(4);
 
Node y = x;
 
Node z = new Node(2);
 
y.next = z;
 
z.next = x;
 
</syntaxhighlight>
 
 
'''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
 
<syntaxhighlight lang="Java">
 
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())
 
</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 ==
 
== Archives ==
 +
* [[IBCS2 - 1415 - October]]
 
* [[IBCS2 - 1415 - September]]
 
* [[IBCS2 - 1415 - September]]

Revision as of 08:26, 3 November 2014

Monday - Tuesday (11/3/14 - 11/4/14)

Agenda:

  • Demo Linked List if you have not already done so
  • 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

Archives