Difference between revisions of "IB Computer Science 2"

From WLCS
(Replaced content with "== Monday (11/4/19) == '''Agenda:''' * Complete the SL or HL Exam Registration Preference survey in Canvas * Complete all Criterion B sections and be sure to submit them t...")
(Tag: Replaced)
Line 5: Line 5:
 
** Be sure to check Canvas for all expected due dates
 
** Be sure to check Canvas for all expected due dates
  
== Thursday (10/31/19) ==
+
== [[IBCS2 - 1920 - October]] ==
'''Agenda:'''
 
* SL vs HL exam registration
 
* Work on Criterion B sections
 
 
 
== Tuesday (10/29/19) ==
 
'''Agenda:'''
 
* Class diagrams
 
* Work on Criterion B sections (see Canvas)
 
 
 
== Friday (10/25/19) ==
 
'''Agenda:'''
 
* Linked List Quiz
 
* No 1st Quarter Exam -- all effort will be spent on Criterion B
 
* Criterion B: Record of Tasks and Design Overview
 
** How to use NetBeans to create a mock GUI
 
** How to create flow charts in http://www.draw.io
 
*** [https://drive.google.com/open?id=1eNybAWXVKjCJRizTvkEf8z0zNq-Tj7lory2jPYURq98 Flowchart slides]
 
* Complete all Canvas assignments
 
** '''Due: 10/29/19'''
 
*** Criterion B: Record of Tasks
 
*** Criterion B: Design Overview: GUI sketches
 
** '''Due: 10/31/19'''
 
*** Criterion B: Design Overview: User Action Flowchart
 
*** Criterion B: Design Overview: Test Plan
 
 
 
== Monday - Wednesday (10/21/19 - 10/23/19) ==
 
'''Agenda:'''
 
* Introduction to Linked Lists
 
** add(), insert()
 
** append()
 
** get()
 
** size()
 
** remove(), delete()
 
** find(), search()
 
** edit(), modify()
 
** We must be able to sketch everything!
 
** [https://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html Java Linked List class]
 
** [https://www.cs.cmu.edu/~adamchik/15-121/lectures/Linked%20Lists/linked%20lists.html Linked Lists article]]
 
* Variations of Linked Lists - and all of the operations
 
** Singly-linked
 
** Doubly-linked
 
** Circular
 
* What situations or scenarios would we want doubly or circular linked lists?
 
** You can think of anything you want!
 
* Linked List Quiz on '''Friday (10/25/19)'''
 
* Criterion B: Design introduction/discussion
 
** Work on Record of Tasks today
 
** We will break apart the design into multiple assignments
 
 
 
== Thursday (10/17/19) ==
 
'''Agenda:'''
 
* Stacks and Queues Quiz w/ Nodes (Linked List implementation)
 
* Internal Assessment: Criterion A: Planning due today in Canvas
 
* Introduction to Linked Lists
 
** If we did not have to follow any specific rules for adding/removing (queue) or pushing/popping (stack).  What typical methods would we want to create for a list type of data structure?
 
** How do we know if this list of operations is complete?  What do we need to know for the exam?
 
** We must be able to sketch everything!
 
* Variations of Linked Lists - and all of the operations
 
** Singly-linked
 
** Doubly-linked
 
** Circular
 
 
 
== Friday (10/11/19) ==
 
'''Agenda:'''
 
* Stacks and Queues Quiz w/ Nodes (Linked List implementation) on '''Thursday (10/17/19)'''
 
** You must be able to graphically illustrate how to use Linked List nodes to implement stacks and queues (and all of their appropriate operations)
 
** You must be able to describe/outline how to use Linked List nodes to implement stacks and queues (and all of their appropriate operations)
 
* Internal Assessment: Criterion A: Planning
 
** Draft due on '''Thursday 10/17/19''' via Canvas
 
** Check out the Internal Assessment resources link on the left! Especially the examples, rubric, etc!
 
 
 
== Wednesday (10/9/19) ==
 
'''Warmup:'''
 
* Draw a dynamic stack (using Nodes) that traces the following stack operations
 
** push W
 
** push L
 
** push H
 
** pop
 
** push S
 
** pop
 
** push !
 
 
 
'''Agenda:'''
 
* Dynamic Queue discussion
 
** Walk-through and code creation
 
** You should be able to illustrate the usage of linked list nodes to create a queue, enqueue and dequeue
 
** You should be able to describe the steps of what happens to the nodes and their references as you enqueue and dequeue from the queue (including any special cases)
 
* [https://www.cs.usfca.edu/~galles/visualization/QueueLL.html Queue (linked list implementation) visualization]
 
* Node Quiz
 
* Stacks and Queues Quiz w/ Nodes (Linked List implementation) on '''Thursday (10/17/19)'''
 
** You must be able to graphically illustrate how to use Linked List nodes to implement stacks and queues (and all of their appropriate operations)
 
** You must be able to describe/outline how to use Linked List nodes to implement stacks and queues (and all of their appropriate operations)
 
 
 
== Monday (10/7/19) ==
 
'''Agenda:'''
 
* Circular Queue walk-through
 
* Object and References Review
 
** [[Media:Point.java]]
 
** [[Media:ReferencesReview.java]]
 
* Node class
 
** [[Media:Node.java]]
 
** [[NodeDemo.java]]
 
** [[AnotherNodeDemo.java]]
 
* More Node Practice!
 
* '''Node Quiz on Wednesday (10/9/19)'''
 
** 2 questions
 
** If given code, you can draw a memory diagram illustration
 
** If given a memory diagram illustration, you can write the code to create it
 
* [https://www.cs.usfca.edu/~galles/visualization/StackLL.html Dynamic Stack Visualization]
 
* Dynamic stack walk-through
 
 
 
== Thursday (10/3/19) ==
 
'''Agenda:'''
 
* Complete Queue (array implementation) and submit to repl.it
 
* If you have completed the Queue, then implement the circular queue data structure. Be sure you save as a new project or file and rename the class to CircularQueue. Do not overwrite your original queue code!
 
* Mini queue quiz in the last 15 minutes of class
 
 
 
'''Homework:'''
 
* Watch https://www.youtube.com/watch?v=N8IeMYsdgAY for review
 
 
 
== Tuesday (10/1/19) ==
 
'''Agenda:'''
 
* Stacks quiz
 
* Submit your String Stack assignment to repl.it
 
* Introduction to Queues - [https://docs.google.com/presentation/d/1Wckb8R3om4RGi9O8HWu0yYdkaFek5y0_GI1ak0H89yU/edit?usp=sharing Queues slides]
 
* Play with the [https://www.cs.usfca.edu/~galles/visualization/QueueArray.html Queues Array Implementation]
 
*# What attributes of a queue should we keep track of?
 
*# What happens to the tail when data is added?
 
*# What happens to the head when data is removed?
 
* Implement the Queue class and its methods:
 
** Queue() constructors - use a default array size of 15
 
** void enqueue(int data)
 
** int dequeue()
 
** void add(int data) - this method should only have one line of code!
 
** int remove() - this method should only have one line of code!
 
** boolean isEmpty()
 
** boolean isFull()
 
** int peek() - returns the head of the queue if it's not empty; Integer.MIN_VALUE otherwise
 
** String toString()
 
* Submit your queue (array implementation) to the repl.it assignment
 
* Queue challenge: If you add() and remove() a bunch of times, eventually, your queue will fail to work because the head and tail will hit the end of the array.  Prevent this from happening by making a "circular queue".
 
 
 
'''Homework:'''
 
* Queue (array implementation) to repl.it
 
  
 
== [[IBCS2 - 1920 - September]] ==
 
== [[IBCS2 - 1920 - September]] ==
  
 
== [[IBCS2 - Archives]] ==
 
== [[IBCS2 - Archives]] ==

Revision as of 06:23, 4 November 2019

Monday (11/4/19)

Agenda:

  • Complete the SL or HL Exam Registration Preference survey in Canvas
  • Complete all Criterion B sections and be sure to submit them to Canvas
    • Be sure to check Canvas for all expected due dates

IBCS2 - 1920 - October

IBCS2 - 1920 - September

IBCS2 - Archives