Difference between revisions of "IB Computer Science 2"

From WLCS
(→‎Thursday (9/19/19))
 
(160 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
 
−
** Search a String[]
 
−
** Sort a String[]
 
−
* 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.
 
−
 
−
== 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) ==
 
−
'''Warmup:'''
 
−
* Complete the Find Min/Max repl.it
 
−
 
−
'''Agenda:'''
 
−
* Submit Guessing Game to repl.it
 
−
* [http://introcs.cs.princeton.edu/java/11cheatsheet/ Java Cheatsheet]
 
−
* [https://docs.google.com/presentation/d/1L-tbBp51YuUoTWldXFBr6JGcyHF5sBy_flfPGiqlVAQ/edit?usp=sharing Java Methods]
 
−
* [https://docs.google.com/a/apsva.us/presentation/d/1Ayzvd1q-6RwZKplUtLHDCCLyO5XIR5kyeKUi8-htErY/edit?usp=sharing Java Arrays]
 
−
** Additional review material: [[Media:IntroArrays.ppt]]
 
−
* [https://docs.google.com/presentation/d/1GLpwZbqLcyix2WHqS9lLJT3qCeIeWGQ9UDwr6f9VgoE/edit?usp=sharing 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 - [http://introcs.cs.princeton.edu/java/11cheatsheet/ Java Cheatsheet]
 
−
* Recreate the [[Guessing Game Assignment]] in Java
 
−
** You can always refer to the [http://introcs.cs.princeton.edu/java/11cheatsheet/ 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
 
−
** [https://docs.google.com/presentation/d/1Nzo-2anihJvunXw6plSr3pdw9mS26Mv0CZLT-inhGoc/edit?usp=sharing About Me]
 
−
* [[IB Computer Science II Syllabus]]
 
−
* Complete syllabus agreement assignment in Canvas by '''Monday (9/9/19)'''
 
−
 
 
== [[IBCS2 - Archives]] ==
 
== [[IBCS2 - Archives]] ==

Latest revision as of 08:28, 13 September 2023