Difference between revisions of "IB Computer Science 2"
From WLCS
Line 3: | Line 3: | ||
* Reference variables review | * Reference variables review | ||
* Introduction to Nodes | * Introduction to Nodes | ||
− | ** [[ | + | ** [[Node.py]] |
− | + | ** [[NodePractice1.py]] | |
+ | ** [[NodePractice2.py]] | ||
+ | ** Practice writing code when given a memory diagram | ||
+ | ** [[NodeLoop.py]] | ||
+ | * Node Quiz on Tuesday (10/22/13) | ||
+ | ** Be able to trace code and draw memory diagram | ||
+ | ** Be able to write code that creates a given memory diagram | ||
+ | * Dynamically-sized Stacks | ||
+ | ** 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 '''push(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()''' using Nodes | ||
+ | *** pop() removes the value on top of the stack, return it | ||
+ | *** pop() should also update the top | ||
+ | *** pop() returns '''None''' 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 | ||
+ | ** 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 | ||
== Wednesday (10/16/13) == | == Wednesday (10/16/13) == |
Revision as of 23:18, 17 October 2013
Contents
Friday (10/17/13)
Agenda:
- Reference variables review
- Introduction to Nodes
- Node.py
- NodePractice1.py
- NodePractice2.py
- Practice writing code when given a memory diagram
- NodeLoop.py
- Node Quiz on Tuesday (10/22/13)
- Be able to trace code and draw memory diagram
- Be able to write code that creates a given memory diagram
- Dynamically-sized Stacks
- 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 push(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() using Nodes
- pop() removes the value on top of the stack, return it
- pop() should also update the top
- pop() returns None 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
- 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
- Stack scenarios and Before-&-After pictures
Wednesday (10/16/13)
Agenda:
- Work on your Internal Assessment Project
- Possible Resources
Friday (10/11/13)
Agenda:
- JAMTECH
- Turn in a printed copy of Criterion A: Planning of your Internal Assessment
- Demo completed NumQueue
- Circular Queue walk-through
- Primitive types vs. Reference types
- Nodes
Wednesday (10/9/13)
Agenda:
- Complete NumQueue
- __init__(self): initializes the head and tail indices to None or -1
- isEmpty(self): returns True if the queue is empty
- isFull(self): returns True if the queue is full
- print(self): prints the entire queue from head to tail
- getHead(self): returns the value at the head or None if there is no head
- getTail(self): returns the value at the tail or None if there is no tail
- enqueue(self, num): adds num to the tail of the queue (don't forget to check if the queue is full beforehand)
- dequeue(self): returns and removes the head of the queue (don't forget to check if the queue is empty)
- Test and demonstrate all your queue methods to Mr. Bui
- What's a circular queue?
Homework:
- Complete Criterion A: Planning of your Internal Assessment (due by Friday 10/11/13)
Monday (10/7/13)
Agenda:
- Stacks quiz
- Finish static stack implementation & review
- Queues - Media:Queues.ppt
- Create a NumQueue class (static size)
- Due on Wednesday (10/9/13)
- Use NumStack 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
Homework:
- Complete Criterion A: Planning of your Internal Assessment (due by Friday 10/11/13)
Thursday (10/3/13)
Agenda:
- Stacks - Media:Stacks.ppt
- Stacks quiz on Monday (10/7/13)
- 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
- Python Classes Review - Media:PythonClasses.pptx
- NumStack Class (static-size) walk-through
Tuesday (10/1/13)
Warmup:
- Did you complete the IBCS2 Project Ideas Survey?
Agenda:
- Searching & Sorting Quiz (~20 minutes)
- Demo missing matrixAdd() and matrixSub()
- Demo completed fliplr(m) and flipud(m)
- Internal Assessment Materials
- Henceforth...all free time...will be spent working on your IA