IB Computer Science 1

From WLCS
Revision as of 08:57, 30 May 2018 by Admin (talk | contribs)

Wednesday - Friday (5/23/18 - 5/24/18)

Agenda:

  • Please complete Mr. Bui's End of Course Survey
  • Surprise!
    • Extra credit if...
  • Finish Paddle hitTop() walk through
  • Demonstrate and missing assignments
  • Design and implement a Brick class
    • What attributes would a Brick have?
    • What methods would a Brick have?
  • Brick assignment
    • Design and implement a Brick class
    • Instance variables:
      • int x
      • int y
      • int w
      • int h
      • color c //we will go over this in class
      • boolean visible
    • Methods:
      • Brick() //constructor - sets all the instance variables to appropriate values
      • Brick(int x, int y, int w, int h, color c) //specific constructor - we will learn about this
      • display() //displays the brick if it is visible (true)
      • setVisible(boolean v) //set the visible instance variable to v
  • Demo your Brick in a new sketch using the main code below:
Brick b0;
Brick b1;
Brick b2;
Brick b3;
Brick b4;
int time = millis();

void setup()
{
  size(600, 600);
  b0 = new Brick(50, height/2, 100, 25, color(255, 0, 0));
  b1 = new Brick(150, height/2, 100, 25, color(128, 128, 0));
  b2 = new Brick(250, height/2, 100, 25, color(128, 128, 128));
  b3 = new Brick(350, height/2, 100, 25, color(0, 255, 0));
  b4 = new Brick(450, height/2, 100, 25, color(0, 255, 255));
  time = millis();
}

void draw()
{
  background(0);
  b0.display();
  b1.display();
  b2.display();
  b3.display();
  b4.display();
  if (millis() - time > 500)
  {
    b0.setVisible(false);
    b1.setVisible(false);
    b2.setVisible(false);
    b3.setVisible(false);
    b4.setVisible(false);
  }
  if(millis() - time > 1000)
  {
    time = millis();
    b0.setVisible(true);
    b1.setVisible(true);
    b2.setVisible(true);
    b3.setVisible(true);
    b4.setVisible(true);
  }
}

Thursday (5/17/18)

Warmup:

  • Implement the following methods in the Paddle class:
    • void moveLeft() - adjust the Paddle's x variable appropriately using dx
    • void moveRight() - adjust the Paddle's x variable appropriately using dx
    • void moveUp() - adjust the Paddle's y variable appropriately using dy
    • void moveDown() - adjust the Paddle's y variable appropriately using dy
  • Test out your methods by calling them using the keyboard in the main tab

Agenda:

  • Classes and objects review
  • Paddle hitTop() walk through

Tuesday (5/15/18)

Agenda:

  • If you were not here last class, please watch the linked video about Xerox PARC at home
  • Introduction Object-Oriented Programming
    • Ball class review
    • Complete and integrate the Paddle class. Demo this for credit
    • Create a new method in the Paddle class:
      • boolean hitTop(Ball b) - returns true if b collides with the top edge of the Paddle (we will discuss this more, but you can try to do it yourself). Return false otherwise

Wednesday - Friday (5/9/18 - 5/11/18)

Agenda:

  • Demo converted List Exercises
  • Xerox PARC, Apple, & Microsoft history
  • Processing Java arrays and bouncing ball
  • Introduction to Java classes and objects
    • Processing - Objects Tutorial
    • Define a Paddle class with the following instance variables and methods:
      • Instance variables (attributes):
        • int x
        • int y
        • int w
        • int h
      • Methods
        • Paddle() //constructor
        • display() //draws a rectangle using the Paddle's instance variables
        • moveMouse() //sets the x and y instance variables using the mouseX and mouseY variables
    • Add a Paddle to your program

Monday (5/7/18)

Agenda:

  • No Internet
  • Convert your Advanced Python List Exercises to use Java arrays
    • We will walked through the first two examples last class
    • Convert and be prepared to demo List Min/Max and Reverse

Tuesday - Thursday (5/1/18 - 5/3/18)

Agenda:

Friday (4/27/18)

Agenda:

  • Demo any missing assignments:
    • Prime numbers assignment
    • Monte Carlo Pi assignment
    • Taylor Series Pi and e assignment
    • Functions/Methods Practice assignment
  • Java for loop

Monday - Wednesday (4/23/18 - 4/25/18)

Agenda:

  • Demo the following converted programs:
    • Prime numbers assignment
    • Monte Carlo Pi assignment
    • Taylor Series Pi and e assignment
  • Java functions / methods
  • Convert the Python Functions Assignment to Java methods
    • Class walk-through first couple functions/methods

Tuesday - Thursday (4/17/18 - 4/19/18)

Agenda:

  • Nested-if statements review
  • Java while loops
  • Java random numbers
  • Convert Guessing Game assignment from Python -> Java
    • Class walk-through
  • Integer division and casting
  • Convert Prime numbers assignment from Python -> Java
  • Convert Monte Carlo Pi assignment from Python -> Java
  • Convert Taylor Series Pi and e assignment from Python -> Java

Friday (4/13/18)

Agenda:

Wednesday (4/11/18)

Agenda:

Friday (4/6/18)

Agenda:

  • Demo any Java assignments
  • End of 3rd Quarter
  • Review Java Strings

Wednesday (4/4/18)

Agenda:

  • Mr. Bui is still out because his son has the flu
  • Read through Media:JavaStrings_Basic.pptx
    • Be sure to test some of the Java code out
  • Convert your Tech Support Flow Chart Assignment from Python -> Java
    • You will need to use the Scanner's nextLine() method to take input as a String
    • You will need to use the String's equals() method to compare if two Strings match
String str1 = "hello";
String str2 = "goodbye";

if(str1.equals("hello"))
{
    System.out.println("This will print because the condition is true");
}

if(str2.equals("hello"))
{
    System.out.println("This does not print because the condition is false");
}

Monday (4/2/18)

Agenda:

  • Mr. Bui is out today because his son is sick.
  • Take a few minutes and review your Python->Java notes
  • Go back and convert the following from Python -> Java (if you do not have the Python code, then simply get a copy from somebody else in the class)
    • Quadratic Formula
    • Letter Grade Calculator
  • Demonstrating the Java versions of Quadratic Formula and the Letter Grade Calculator will be counted in the 3rd quarter.

Archives