Difference between revisions of "IB Computer Science 2"
From WLCS
(→Monday (9/9/19)) |
(→Thursday (9/19/19)) |
||
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | == Thursday (9/19/19) == | ||
+ | '''Agenda:''' | ||
+ | * Class Construction Quiz | ||
+ | * Intro Poker Hand Methods | ||
+ | ** int getHighCardValue(Card c0, Card c1, Card c2, Card c3, Card c4) | ||
+ | *** returns the value of the highest Card | ||
+ | ** Do not continue with the other poker hand methods like above b/c we will be making new versions using arrays! | ||
+ | * Introduction to Arrays of Objects | ||
+ | ** Walkthrough -- take notes! Pay attention! | ||
+ | * String[] arrays | ||
+ | ** String comparison methods review | ||
+ | ** Sort a String[] | ||
+ | * Basic Card[] methods - implement the following, test, and demo for credit | ||
+ | ** void printCards(Card[] cards) | ||
+ | *** Use a for loop to iterate through all the cards, and print them to the screen | ||
+ | ** void shuffle(Card[] cards) | ||
+ | **# Write a for loop that runs a bunch of times (e.g. 10000) | ||
+ | **# Generate two random numbers from 0 to the length of cards | ||
+ | **# Swap the cards at the locations of the two random numbers | ||
+ | ** void sort(Card[] cards) | ||
+ | *** Implement either selection sort or bubble sort to sort your Card[] array. You can literally copy and paste your sorting code from before, and then tweak it to use the value of the cards (i.e. getValue()) | ||
+ | *** You should be able to test your code by generating a bunch of cards, sorting it, and then printing it out. They should display in order of value. | ||
+ | |||
+ | == Tuesday (9/17/19) == | ||
+ | '''Agenda:''' | ||
+ | * Algorithm Identification Quiz 1 | ||
+ | * Sorting Identification Quiz 1 | ||
+ | * Class Construction Quiz on '''Thursday (9/19/19)''' | ||
+ | * Repl.it class construction assignments progress check | ||
+ | * Intro Poker Hand Methods | ||
+ | ** int getHighCardValue(Card c0, Card c1, Card c2, Card, c3, Card c4) | ||
+ | *** returns the value of the highest Card | ||
+ | ** Do not continue with the other poker hand methods like above b/c we will be making new versions using arrays! | ||
+ | * Introduction to Arrays of Objects | ||
+ | ** Walkthrough -- take notes! Pay attention! | ||
+ | * Basic Card[] methods - implement the following, test, and demo for credit | ||
+ | ** void printCards(Card[] cards) - we will do this one together | ||
+ | *** Use a for loop to iterate through all the cards, and print them to the screen | ||
+ | ** void shuffle(Card[] cards) | ||
+ | **# Write a for loop that runs a bunch of times (e.g. 10000) | ||
+ | **# Generate two random numbers from 0 to the length of cards | ||
+ | **# Swap the cards at the locations of the two random numbers | ||
+ | ** void sort(Card[] cards) | ||
+ | *** Implement either selection sort or bubble sort to sort your Card[] array. You can literally copy and paste your sorting code from before, and then tweak it to use the value of the cards (i.e. getValue()) | ||
+ | *** You should be able to test your code by generating a bunch of cards, sorting it, and then printing it out. They should display in order of value. | ||
+ | |||
+ | == Friday (9/13/19) == | ||
+ | '''Agenda:''' | ||
+ | * Search & Sorting Algorithms Quiz on '''Tuesday (9/17/19)''' | ||
+ | ** You should be able to identify the algorithm visually | ||
+ | ** You should be able to identify the algorithm if given code | ||
+ | ** You should be able to fill in missing lines of code for any algorithms | ||
+ | * Java Objects Slides | ||
+ | ** [https://docs.google.com/presentation/d/1hb_8wMUlQQl7W-JF2f3gax021yDHLkLENJYy0fUMGy8/edit?usp=sharing Classes (Java) slides] | ||
+ | ** [https://docs.google.com/presentation/d/1ks5B3fsnGCX_utk_Adxt1cQtPtUsNtNVENb9swCaHpo/edit?usp=sharing Object Usage (Java) slides] | ||
+ | ** [https://docs.google.com/presentation/d/1Vq2mTZRJIBkwpsHqFmKRICpUOoqOOSKSyRKWMGKZovY/edit?usp=sharing Object-Oriented Programming (Java) slides] | ||
+ | * Point class assignment - complete in NetBeans or repl.it (*must* submit to repl.it for auto-testing) | ||
+ | *# You will create two java files: '''Point.java''' and '''Main.java''' | ||
+ | *#* '''Point.java''' - the Point class definition will be here | ||
+ | *#* '''Main.java''' - only the main() method will be located here | ||
+ | *# Declare and initialize the following '''private''' attributes in the Point class | ||
+ | *#* double x = 0.0 | ||
+ | *#* double y = 0.0 | ||
+ | *# Define two Point() constructors: | ||
+ | *#* default constructor: Point() | ||
+ | *#* specific constructor Point(double newX, double newY) | ||
+ | *# Define the following '''public''' methods in the Point class | ||
+ | *#* double getX() - returns the x-coordinate | ||
+ | *#* double getY() - returns the y-coordinate | ||
+ | *#* void setX(double newX) - sets the x-coordinate to the new x-coordinate parameter | ||
+ | *#* void setY(double newY) - sets the y-coordinate to the new y-coordinate parameter | ||
+ | *#* String toString() - returns a String representation of the Point object | ||
+ | *# Go to your Main.java file to test out your Point class | ||
+ | *# In the main method, create several new instances of Point objects | ||
+ | *# Print out each of your Point objects | ||
+ | *# Define a static method in Main.java named '''double slope(Point p1, Point p2)''' - returns the slope between p1 and p2 | ||
+ | *# Test and print out your slope method when you use it with your instantiated Point objects in the main() method | ||
+ | * Complete the other repl.it assignments: | ||
+ | ** Car class | ||
+ | ** Vector class | ||
+ | ** Card class | ||
+ | |||
+ | == Wednesday (9/11/19) == | ||
+ | '''Agenda:''' | ||
+ | * Group sorting activity | ||
+ | *# Form 3-4 person groups | ||
+ | *# Receive playing cards | ||
+ | *# With your group, document an algorithm (steps) of how you sort the cards out | ||
+ | *# Paste your numbered steps in the appropriate document: | ||
+ | *#* [https://docs.google.com/document/d/1ydtes6Vppf66Xk1z2yC2N_kom2OnjdrAfmeWh9_4t70/edit?usp=sharing Period 4] | ||
+ | *#* [https://docs.google.com/document/d/1RFuWUM8vp-U3B3bdzEz8XI1f7-fWK1eTuFKdMjQ7Vro/edit?usp=sharing Period 6] | ||
+ | * Introduction to Sorting | ||
+ | ** [https://docs.google.com/presentation/d/1Y5JOINM2w744nqimZf2iVuFpi6N6gM2B7GM4ArGjChQ/edit?usp=sharing Sorting slides] | ||
+ | * Selection sort assignment in repl.it | ||
+ | * Bubble sort assignment in repl.it | ||
+ | * Internal Assessment meetings | ||
+ | |||
+ | '''Challenge:''' | ||
+ | * Implement quick sort yourself | ||
+ | |||
+ | '''Homework:''' | ||
+ | * Complete both Selection Sort and Bubble Sort | ||
+ | |||
== Monday (9/9/19) == | == Monday (9/9/19) == | ||
'''Warmup:''' | '''Warmup:''' |
Revision as of 12:34, 19 September 2019
Contents
Thursday (9/19/19)
Agenda:
- Class Construction Quiz
- Intro Poker Hand Methods
- int getHighCardValue(Card c0, Card c1, Card c2, Card c3, Card c4)
- returns the value of the highest Card
- Do not continue with the other poker hand methods like above b/c we will be making new versions using arrays!
- int getHighCardValue(Card c0, Card c1, Card c2, Card c3, Card c4)
- Introduction to Arrays of Objects
- Walkthrough -- take notes! Pay attention!
- String[] arrays
- String comparison methods review
- Sort a String[]
- Basic Card[] methods - implement the following, test, and demo for credit
- void printCards(Card[] cards)
- Use a for loop to iterate through all the cards, and print them to the screen
- void shuffle(Card[] cards)
- Write a for loop that runs a bunch of times (e.g. 10000)
- Generate two random numbers from 0 to the length of cards
- Swap the cards at the locations of the two random numbers
- void sort(Card[] cards)
- Implement either selection sort or bubble sort to sort your Card[] array. You can literally copy and paste your sorting code from before, and then tweak it to use the value of the cards (i.e. getValue())
- You should be able to test your code by generating a bunch of cards, sorting it, and then printing it out. They should display in order of value.
- void printCards(Card[] cards)
Tuesday (9/17/19)
Agenda:
- Algorithm Identification Quiz 1
- Sorting Identification Quiz 1
- Class Construction Quiz on Thursday (9/19/19)
- Repl.it class construction assignments progress check
- Intro Poker Hand Methods
- int getHighCardValue(Card c0, Card c1, Card c2, Card, c3, Card c4)
- returns the value of the highest Card
- Do not continue with the other poker hand methods like above b/c we will be making new versions using arrays!
- int getHighCardValue(Card c0, Card c1, Card c2, Card, c3, Card c4)
- Introduction to Arrays of Objects
- Walkthrough -- take notes! Pay attention!
- Basic Card[] methods - implement the following, test, and demo for credit
- void printCards(Card[] cards) - we will do this one together
- Use a for loop to iterate through all the cards, and print them to the screen
- void shuffle(Card[] cards)
- Write a for loop that runs a bunch of times (e.g. 10000)
- Generate two random numbers from 0 to the length of cards
- Swap the cards at the locations of the two random numbers
- void sort(Card[] cards)
- Implement either selection sort or bubble sort to sort your Card[] array. You can literally copy and paste your sorting code from before, and then tweak it to use the value of the cards (i.e. getValue())
- You should be able to test your code by generating a bunch of cards, sorting it, and then printing it out. They should display in order of value.
- void printCards(Card[] cards) - we will do this one together
Friday (9/13/19)
Agenda:
- Search & Sorting Algorithms Quiz on Tuesday (9/17/19)
- You should be able to identify the algorithm visually
- You should be able to identify the algorithm if given code
- You should be able to fill in missing lines of code for any algorithms
- Java Objects Slides
- Point class assignment - complete in NetBeans or repl.it (*must* submit to repl.it for auto-testing)
- You will create two java files: Point.java and Main.java
- Point.java - the Point class definition will be here
- Main.java - only the main() method will be located here
- Declare and initialize the following private attributes in the Point class
- double x = 0.0
- double y = 0.0
- Define two Point() constructors:
- default constructor: Point()
- specific constructor Point(double newX, double newY)
- Define the following public methods in the Point class
- double getX() - returns the x-coordinate
- double getY() - returns the y-coordinate
- void setX(double newX) - sets the x-coordinate to the new x-coordinate parameter
- void setY(double newY) - sets the y-coordinate to the new y-coordinate parameter
- String toString() - returns a String representation of the Point object
- Go to your Main.java file to test out your Point class
- In the main method, create several new instances of Point objects
- Print out each of your Point objects
- Define a static method in Main.java named double slope(Point p1, Point p2) - returns the slope between p1 and p2
- Test and print out your slope method when you use it with your instantiated Point objects in the main() method
- You will create two java files: Point.java and Main.java
- Complete the other repl.it assignments:
- Car class
- Vector class
- Card class
Wednesday (9/11/19)
Agenda:
- Group sorting activity
- Introduction to Sorting
- Selection sort assignment in repl.it
- Bubble sort assignment in repl.it
- Internal Assessment meetings
Challenge:
- Implement quick sort yourself
Homework:
- Complete both Selection Sort and Bubble Sort
Monday (9/9/19)
Warmup:
- Complete the Find Min/Max repl.it
Agenda:
- Submit Guessing Game to repl.it
- Java Cheatsheet
- Java Methods
- Java Arrays
- Additional review material: Media:IntroArrays.ppt
- Searching slides
- Linear (Sequential) Search
- Binary Search
- Complete the LS and BS repl.it assignments
Homework:
- 1-2 sentence description of your Internal Assessment idea in Canvas
Thursday (9/5/19)
Warmup:
- Complete the Student Survey in Canvas
- Complete the Abstract Data Structures Pre-assessment in Canvas
- Do not guess if you do not know the answer
Agenda:
- IBCS2 Summer Assignment reminder - due Monday (9/9/19)
- Misc Logistics:
- Mr. Bui has C Lunch
- IB Computer Science II Syllabus
- Complete online syllabus agreement form by Monday (9/9/19)
- Extra credit demonstrations?
- Why did Mr. Bui give this task?
- App Catalog (AirWatch) installers
- Java installer(s)
- Java Review - Java Cheatsheet
- Recreate the Guessing Game Assignment in Java
- You can always refer to the Java Programming Cheatsheet
- This exercises should take you no more than 10-15 minutes
- Internal Assessment
- Read the Media:IBCS_InternalAssessmentGuidelines.pdf
- Begin thinking/working on Criterion A
- Repl.it classroom
- Join our class: https://repl.it/classroom/invite/d4LbLcD
Homework:
- IBCS2 Summer Assignment due Monday (9/9/19)
- IB Computer Science II Syllabus agreement form by Monday (9/9/19)
- Complete the Java guessing game assignment
Tuesday (9/3/19)
Agenda:
- IBCS2 Summer Assignment reminder - due Monday (9/9/19)
- Update your profile's last name so that it follows the following naming convention: # - Last Name (please note the spacing)
- Re-introductions & attendance
- IB Computer Science II Syllabus
- Complete syllabus agreement assignment in Canvas by Monday (9/9/19)