Difference between revisions of "IB Computer Science 2"

From WLCS
 
Line 1: Line 1:
== Tuesday (10/7/14) ==
+
== [[IBCS2 - Archives]] ==
'''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]]
 
** '''Stacks quiz on Thursday & Friday (10/9/14, 10/10/14)'''
 
** 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
 
 
 
== Monday - Tuesday (9/29/14 - 9/30/14) ==
 
'''Agenda:'''
 
* Two-Dimensional Array Assignment
 
*# Write a function: '''matrixAdd(m1, m2)''' that returns a new matrix that is the sum of m1 and m2
 
*#* Be sure to check if the two matrices are the same size (if not, then return '''null''')
 
*# Write a function: '''fliplr(m)''' that returns a new matrix that is the horizontal flip (left to right) of matrix '''m'''
 
*#* [http://www.mathworks.com/help/matlab/ref/fliplr.html MATLAB fliplr() description]
 
*# Write a function: '''flipud(m)''' that returns a new matrix that is the vertical flip (up to down) of matrix '''m'''
 
*#* [http://www.mathworks.com/help/matlab/ref/flipud.html MATLAB flipup() description]
 
*# Write a function: '''matrixMult(m1, m2)''' that returns the product of matrix m1 and m2
 
*#* Be sure to check the rules of matrix multiplication
 
*#* Return an '''null''' matrix if their sizes are different
 
* Challenge: Write the function '''det(m)''' which returns the determinant of any matrix m
 
 
 
== Thursday - Friday (9/25/14 - 9/26/14) ==
 
'''Agenda:'''
 
* Two-Dimensional Arrays and Nested Loops
 
*# Accessing all of the individual elements of a two-dimensional list
 
*# Prompt the user to construct a two-dimensional list
 
*## Prompt for the number of rows
 
*## Prompt for the number of columns
 
*## Prompt the user for each number in the two-dimensional list
 
*# Write the function '''matrixPrint(m)'''
 
* Two-Dimensional Array Assignment
 
*# Write a function: '''matrixAdd(m1, m2)''' that returns a new matrix that is the sum of m1 and m2
 
*#* Be sure to check if the two matrices are the same size (if not, then return '''null''')
 
*# Write a function: '''matrixMult(m1, m2)''' that returns the product of matrix m1 and m2
 
*#* Be sure to check the rules of matrix multiplication
 
*#* Return an '''null''' matrix if their sizes are different
 
* 2-D array deep copying
 
<syntaxhighlight lang="Python">
 
import copy
 
m2 = copy.deepcopy(m1)
 
</syntaxhighlight>
 
* Write a function: '''fliplr(m)''' that returns a new matrix that is the horizontal flip (left to right) of matrix '''m'''
 
** [http://www.mathworks.com/help/matlab/ref/fliplr.html MATLAB fliplr() description]
 
* Write a function: '''flipud(m)''' that returns a new matrix that is the vertical flip (up to down) of matrix '''m'''
 
** [http://www.mathworks.com/help/matlab/ref/flipud.html MATLAB flipup() description]
 
* Challenge: Write the function '''det(m)''' which returns the determinant of any matrix m
 
 
 
== Tuesday - Wednesday (9/23/14 - 9/24/14) ==
 
'''Agenda:'''
 
* Bubble Sort - [[Media:Sorting.pptx]]
 
* Make sure you have completed the CodingBat Array Review
 
** Complete 10 of your choice from [http://codingbat.com/java/Array-2 Array2]
 
* Demo [[JavaSelectionSortAssignment.java]]
 
* Complete [[JavaBubbleSortAssignment.java]]
 
* Introduction to Quicksort
 
 
 
== Friday - Monday (9/19/14 - 9/22/14) ==
 
'''Warmup:'''
 
# Create a 2-3 person group
 
# Take some (~6) playing cards
 
# Lay them out randomly in a row (out of order)
 
# As a team, discuss an algorithm to sort them
 
# You are only allowed to swap cards (i.e. they cannot be removed or added to a new array)
 
# Sort them in numerical order (Ace is high)
 
# Write down the basic steps to your algorithm
 
 
 
'''Agenda:'''
 
* Introduction to Sorting Activity
 
* Selection Sort - [[Media:Sorting.pptx]]
 
* Complete [[JavaSelectionSortAssignment.java]] by next class
 
* CodingBat Array Review - due Monday (9/22/14)
 
*# If you do not already have one, create a [http://codingbat.com/ CodingBat] account
 
*# Once you're logged in, go to '''prefs->teacher share''' and use [[Image:BuiEmail.bmp]]
 
*# Complete 10 of your choice from [http://codingbat.com/java/Array-2 Array2] by Monday (9/22/14)
 
* Work on [[JavaBubbleSortAssignment.java]]
 
 
 
== Wednesday - Thursday (9/17/14 - 9/18/14) ==
 
'''Warmup:'''
 
* Review Binary Search in [[Media:Searching.pptx]]
 
 
 
'''Agenda:'''
 
* Review Searching - [[Media:Searching.pptx]]
 
* Complete [[JavaSearchAssignment.java]]
 
** Linear Search
 
** Binary Search
 
 
 
== Monday - Tuesday (9/15/14 - 9/16/14) ==
 
'''Agenda:'''
 
* Demo [[Guessing Game Assignment]] in Java
 
* Review Java Arrays
 
* Searching - [[Media:Searching.pptx]]
 
** Linear Search
 
** Binary Search
 
* Complete [[JavaSearchAssignment.java]]
 
* CodingBat Array Review
 
*# If you do not already have one, create a [http://codingbat.com/ CodingBat] account
 
*# Once you're logged in, go to '''prefs->teacher share''' and use [[Image:BuiEmail.bmp]]
 
*# Complete 10 of your choice from [http://codingbat.com/java/Array-2 Array2] by Monday (9/22/14)
 
 
 
== Thursday - Friday (9/10/14 - 9/12/14) ==
 
'''Agenda:'''
 
* Quiz on [[Media:SystemDesignBasics.pptx]]
 
* Java Review
 
** Simple main method
 
** Weapon, Creature, CombatSimulation
 
** [http://introcs.cs.princeton.edu/java/11cheatsheet/ Java Programming Cheatsheet]
 
* Java Practice
 
** Java input with Scanner
 
** Circle circumference and area calculator
 
* Recreate the [[Guessing Game Assignment]] in Java
 
** You may need to look up how to do random numbers in Java
 
** You can always refer to the [http://introcs.cs.princeton.edu/java/11cheatsheet/ Java Programming Cheatsheet]
 
 
 
== Friday - Wednesday (9/5/14 - 9/10/14) ==
 
'''Warmup:'''
 
* Turn in signed syllabus sheet if you have it
 
* Submit Internal Assessment Criteria A & B via Google Classroom
 
 
 
'''Agenda:'''
 
* [[Media:SystemDesignBasics.pptx]]
 
** Quiz on [[Media:SystemDesignBasics.pptx]] on Thursday, Friday (9/11/14, 9/12/14)
 
* Internal Assessment discussions
 
* Usability Assignment
 
*# Sign into your APS Google account
 
*# Open a Google Doc and title it '''Usability Assignment'''
 
*# Put your name at the top
 
*# Use [http://www.nngroup.com/articles/ten-usability-heuristics/ Nielsen's 10 Usability Heuristics]
 
*# Find 2 examples of good usability
 
*## Take a screenshot or find a picture of the example
 
*## Paste it into the Google Doc
 
*## Point out or highlight the specific usability aspect somehow (in red or bright green are best)
 
*## State which usability rule the example is following, and describe how it follows it
 
*## Repeat for each of the 2 examples of good usability (each example should be a different usability rule)
 
*# Find 2 examples of bad usability
 
*## Take a screenshot or find a picture of the example
 
*## Paste it into the Google Doc
 
*## Point out or highlight the specific usability aspect failure (in red or bright green are best)
 
*## State which usability rule the example is breaking, and describe how it breaks it
 
*## Repeat for each of the 2 examples of bad usability (each example should be a different usability rule)
 
*# Submit the document through Google Classroom
 
 
 
== Wednesday - Thursday (9/3/14 - 9/4/14) ==
 
'''Agenda:'''
 
* [[IB Computer Science II Syllabus]]
 
** Signed syllabus sheets due by the end of next week
 
* [http://classroom.google.com Google Classroom]
 
** Sign into your APS Google accounts
 
** Class code: gaxvqsv
 
* [[Internal Assessment]] Discussions
 
 
 
== Tuesday (9/2/14) ==
 
* Re-introductions
 
* Name cards
 
* Guest login
 
** Username: guest
 
** No password (just hit enter)
 
* Complete the [https://docs.google.com/spreadsheet/viewform?key=0ApPgoX5sTp-_cDZfazFTTWJTMnp2TUhKTkpCQmtGUEE Student Survey]
 
* [[Internal Assessment]] Discussion
 

Latest revision as of 08:28, 13 September 2023