IB Computer Science 2

From WLCS
Revision as of 08:39, 7 October 2014 by Admin (talk | contribs)

Tuesday (10/7/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
    • 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
    • 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

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
    • Stacks quiz on Monday & Tuesday (10/6/14, 10/7/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
  • StaticStack class walk-through

Monday - Tuesday (9/29/14 - 9/30/14)

Agenda:

  • Two-Dimensional Array Assignment
    1. 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)
    2. Write a function: fliplr(m) that returns a new matrix that is the horizontal flip (left to right) of matrix m
    3. Write a function: flipud(m) that returns a new matrix that is the vertical flip (up to down) of matrix m
    4. 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
    1. Accessing all of the individual elements of a two-dimensional list
    2. Prompt the user to construct a two-dimensional list
      1. Prompt for the number of rows
      2. Prompt for the number of columns
      3. Prompt the user for each number in the two-dimensional list
    3. Write the function matrixPrint(m)
  • Two-Dimensional Array Assignment
    1. 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)
    2. 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
import copy
m2 = copy.deepcopy(m1)
  • Write a function: fliplr(m) that returns a new matrix that is the horizontal flip (left to right) of matrix m
  • Write a function: flipud(m) that returns a new matrix that is the vertical flip (up to down) of matrix m
  • Challenge: Write the function det(m) which returns the determinant of any matrix m

Tuesday - Wednesday (9/23/14 - 9/24/14)

Agenda:

Friday - Monday (9/19/14 - 9/22/14)

Warmup:

  1. Create a 2-3 person group
  2. Take some (~6) playing cards
  3. Lay them out randomly in a row (out of order)
  4. As a team, discuss an algorithm to sort them
  5. You are only allowed to swap cards (i.e. they cannot be removed or added to a new array)
  6. Sort them in numerical order (Ace is high)
  7. Write down the basic steps to your algorithm

Agenda:

Wednesday - Thursday (9/17/14 - 9/18/14)

Warmup:

Agenda:

Monday - Tuesday (9/15/14 - 9/16/14)

Agenda:

Thursday - Friday (9/10/14 - 9/12/14)

Agenda:

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
  • Internal Assessment discussions
  • Usability Assignment
    1. Sign into your APS Google account
    2. Open a Google Doc and title it Usability Assignment
    3. Put your name at the top
    4. Use Nielsen's 10 Usability Heuristics
    5. Find 2 examples of good usability
      1. Take a screenshot or find a picture of the example
      2. Paste it into the Google Doc
      3. Point out or highlight the specific usability aspect somehow (in red or bright green are best)
      4. State which usability rule the example is following, and describe how it follows it
      5. Repeat for each of the 2 examples of good usability (each example should be a different usability rule)
    6. Find 2 examples of bad usability
      1. Take a screenshot or find a picture of the example
      2. Paste it into the Google Doc
      3. Point out or highlight the specific usability aspect failure (in red or bright green are best)
      4. State which usability rule the example is breaking, and describe how it breaks it
      5. Repeat for each of the 2 examples of bad usability (each example should be a different usability rule)
    7. Submit the document through Google Classroom

Wednesday - Thursday (9/3/14 - 9/4/14)

Agenda:

Tuesday (9/2/14)