Difference between revisions of "IB Computer Science 2"

From WLCS
(Thursday (9/19/19))
(42 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Wednesday (5/22/19) ==
+
== Thursday (9/19/19) ==
* [https://forms.gle/QfxPPyjFTsH3rLnz7 Graduating Senior Survey]
+
'''Agenda:'''
* Collected Bui Advice
+
* Class Construction Quiz
* Personal Finance
+
* 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.
  
== EXAM INFORMATION ==
+
== Tuesday (9/17/19) ==
* Monday, May 20th - 12:30pm - Wrestling Room
+
'''Agenda:'''
** Paper 1 - 2 hrs 10 mins
+
* Algorithm Identification Quiz 1
* Tuesday, May 21st - 8:30am - Wrestling Room
+
* Sorting Identification Quiz 1
** Paper 2 - 1 hr 20 mins
+
* Class Construction Quiz on '''Thursday (9/19/19)'''
** Paper 3 - 1 hr
+
* Repl.it class construction assignments progress check
*** [https://docs.google.com/spreadsheets/d/11SeDlPmC9QZcxkRpks33JVKuZzX01RH6iwVP6YsBIis/edit?usp=sharing Paper 3 Practice Qs]
+
* Intro Poker Hand Methods
* [http://washingtonlee.apsva.us/wp-content/uploads/sites/38/2019/03/AP-IB-Exam-May-2019-schedule-for-POSTERS-3-27-19.pdf Complete AP/IB Exam Calendar]
+
** 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.
  
== Exam Review Calendar ==
+
== Friday (9/13/19) ==
'''Friday (4/26/19)'''
+
'''Agenda:'''
* Topics 1, 2, 3 Q&A
+
* Search & Sorting Algorithms Quiz on '''Tuesday (9/17/19)'''
* Case study review
+
** 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
  
'''Tuesday (4/30/19)'''
+
== Wednesday (9/11/19) ==
* Topics 4, 5 Q&A
+
'''Agenda:'''
* Case study review
+
* 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
  
'''Thursday (5/2/19)'''
+
'''Challenge:'''
* Topics 6, 7 Q&A
+
* Implement quick sort yourself
* Case study review
 
  
'''Monday (5/6/19)'''
+
'''Homework:'''
* Option D: OOP Review
+
* Complete both Selection Sort and Bubble Sort
 
 
'''Wednesday (5/8/19)'''
 
* Open review
 
  
'''Friday (5/10/19)'''
+
== Monday (9/9/19) ==
* Case study review
 
* Open review
 
 
 
'''Tuesday (5/14/19)'''
 
* Case study review
 
* Open review
 
 
 
'''Thursday (5/16/19)'''
 
* Case study review
 
* Open review
 
 
 
== Wednesday (4/24/19) ==
 
 
'''Warmup:'''
 
'''Warmup:'''
* Period 4 - Complete the [https://doodle.com/poll/huafypsfwbe6gc54 Doodle (period 4)] - Select days that you will be gone testing
+
* Complete the Find Min/Max repl.it
* Period 6 - Complete the [https://doodle.com/poll/qkyeuxgwzc52z769 Doodle (period 6)] - Select days that you will be gone testing
 
  
 
'''Agenda:'''
 
'''Agenda:'''
* [https://docs.google.com/spreadsheets/d/1MguAXg1NJaXxXO9gtiAK2IpIogYeA6sLtaXhqeR-BC8/edit?usp=sharing IBCS Syllabus Study Guide (Google Sheet)]
+
* Submit Guessing Game to repl.it
* [https://ib.compscihub.net IB CompSci Hub]
+
* [http://introcs.cs.princeton.edu/java/11cheatsheet/ Java Cheatsheet]
* Paper 2 markscheme
+
* [https://docs.google.com/presentation/d/1L-tbBp51YuUoTWldXFBr6JGcyHF5sBy_flfPGiqlVAQ/edit?usp=sharing Java Methods]
* Paper 3
+
* [https://docs.google.com/a/apsva.us/presentation/d/1Ayzvd1q-6RwZKplUtLHDCCLyO5XIR5kyeKUi8-htErY/edit?usp=sharing Java Arrays]
** [https://drive.google.com/open?id=1ak0bIlY2JvvRFeMbFdCP80f0xlgKCbB5 May 2017 Paper 3]
+
** Additional review material: [[Media:IntroArrays.ppt]]
** [https://drive.google.com/open?id=1h-A19qbbhmlHx3Lx-WNygIo9QLcqwPSU May 2017 Paper 3 markscheme]
+
* [https://docs.google.com/presentation/d/1GLpwZbqLcyix2WHqS9lLJT3qCeIeWGQ9UDwr6f9VgoE/edit?usp=sharing Searching slides]
** Define every key term whenever you have the opportunity
+
** Linear (Sequential) Search
** Integrate application of that key term within the context of computer-aided dispatch
+
** Binary Search
** Describe advantage or benefit of that term within the context
+
** Complete the LS and BS repl.it assignments
** The 12-mark essay should always be ended with conclusive summary statement
+
 
* Topic 1 studying and Q&A
+
'''Homework:'''
 +
* 1-2 sentence description of your Internal Assessment idea in Canvas
  
== Monday (4/22/19) ==
+
== Thursday (9/5/19) ==
 
'''Warmup:'''
 
'''Warmup:'''
* Period 4 - Complete the [https://doodle.com/poll/huafypsfwbe6gc54 Doodle (period 4)] - Select days that you will be gone testing
+
* Complete the Student Survey in Canvas
* Period 6 - Complete the [https://doodle.com/poll/qkyeuxgwzc52z769 Doodle (period 6)] - Select days that you will be gone testing
+
* Complete the Abstract Data Structures Pre-assessment in Canvas
 +
** Do not guess if you do not know the answer
  
 
'''Agenda:'''
 
'''Agenda:'''
* [http://ib.compscihub.net/wp-content/uploads/2015/04/IB-Pseudocode-rules-more.pdf IBCS Pseudocode Reference]
+
* [[IBCS2 Summer Assignment]] reminder - '''due Monday (9/9/19)'''
* Updated [[Slides]]
+
* Misc Logistics:
* [https://docs.google.com/spreadsheets/d/1MguAXg1NJaXxXO9gtiAK2IpIogYeA6sLtaXhqeR-BC8/edit?usp=sharing IBCS Syllabus Study Guide (Google Sheet)]
+
** Mr. Bui has C Lunch
* [https://ib.compscihub.net IB CompSci Hub]
+
* [[IB Computer Science II Syllabus]]
* Syllabus Resources Assignment/Task
+
** Complete online syllabus agreement form by '''Monday (9/9/19)'''
*# You will be given a set of syllabus assessment items
+
* Extra credit demonstrations?
*# Write your last name in the "Last Name" column (to the right of Links to additional resources)
+
** Why did Mr. Bui give this task?
*# Copy and paste URLs to link the specific slide in Mr. Bui's slides
+
* App Catalog (AirWatch) installers
*# Copy and paste URLs to link the specific PDF in the IB CompSci Hub
+
** Java installer(s)
*# Be sure to use Cmd-Enter to insert newline breaks within a cell (so you can have multiple URLs in a cell)
+
* Java Review - [http://introcs.cs.princeton.edu/java/11cheatsheet/ Java Cheatsheet]
* Exam Review Calendar...
+
* 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
  
== Monday - Friday (4/15/19 - 4/19/19) ==
+
'''Homework:'''
* Spring Break
+
* [[IBCS2 Summer Assignment]] due '''Monday (9/9/19)'''
 
+
* [[IB Computer Science II Syllabus]] agreement form by '''Monday (9/9/19)'''
== Thursday (4/11/19) ==
+
* Complete the Java guessing game assignment
'''Agenda:'''
 
* Finish [https://drive.google.com/open?id=1Pwx7uWsGkCEWR8ElSj-Xxexe_vlDvg8F 2018 IB CS HL Paper 1 grading rubric]
 
* [https://drive.google.com/open?id=1ufsT3FYimOkkxgTyoM5ptX0r9YieYH0I Paper 2 rubric]
 
* Super study guide - [[Media:IBCS_SyllabusContent.pdf]]
 
 
 
== Tuesday (4/9/19) ==
 
'''Agenda:'''
 
* Finish presentations
 
* Analyze [https://drive.google.com/open?id=1Pwx7uWsGkCEWR8ElSj-Xxexe_vlDvg8F 2018 IB CS HL Paper 1 grading rubric]
 
 
 
== Wednesday - Friday  (4/3/19 - 4/5/19) ==
 
'''Warmup:'''
 
* Turn in your #12-15 Paper 1 AND Option D: OOP #15-19 HW
 
* Complete the [https://forms.gle/BaFBuaAui7wfc78Y7 IB self-predicted score survey]
 
  
 +
== Tuesday (9/3/19) ==
 
'''Agenda:'''
 
'''Agenda:'''
* IB CS IA samples!
+
* [[IBCS2 Summer Assignment]] reminder - '''due Monday (9/9/19)'''
** Period 4: Benitah, Huang, Waldman
+
** Update your profile's last name so that it follows the following naming convention: # - Last Name (please note the spacing)
** Period 6: Campbell, Emanuel, Iriarte Blanco, Kiknadze, Ramsey, K. Williams, M. Williams
+
* Re-introductions & attendance
* Continue IB Case Study Presentations
+
** [https://docs.google.com/presentation/d/1Nzo-2anihJvunXw6plSr3pdw9mS26Mv0CZLT-inhGoc/edit?usp=sharing About Me]
** [https://docs.google.com/presentation/d/1b0Z_3RfP4Lr2bJJFpE2bJetjGExCXWXbDHwyh0L_S28/edit?usp=sharing Period 4 Case Study Key Terms]
+
* [[IB Computer Science II Syllabus]]
** [https://docs.google.com/presentation/d/17E36IKLw-8-pK-kpJ2ztjbuxLNcalkRav83cCNcPkpw/edit?usp=sharing Period 6 Case Study Key Terms]
+
* Complete syllabus agreement assignment in Canvas by '''Monday (9/9/19)'''
* [https://drive.google.com/drive/folders/0Byi3ssatj8XkU0hCLXNYQ004U1E?usp=sharing Past Paper 3 Exams]
 
 
 
'''Homework:'''
 
# [https://drive.google.com/drive/folders/0Byi3ssatj8XkU0hCLXNYQ004U1E?usp=sharing Past Paper 3 Exams]
 
# Create your own 2-mark, 4-mark, 6-mark, and 12-mark questions
 
# Submit to this [https://docs.google.com/forms/d/e/1FAIpQLScgwLioHZ3Rar9TAGatt5ePGNcfjx3WT6HYrKpHPYrE7J0dlg/viewform?usp=sf_link form]
 
  
== Archives ==
+
== [[IBCS2 - Archives]] ==
* [[IBCS2 - 1819 - March]]
 
* [[IBCS2 - 1819 - February]]
 
* [[IBCS2 - 1819 - January]]
 
* [[IBCS2 - 1819 - December]]
 
* [[IBCS2 - 1819 - November]]
 
* [[IBCS2 - 1819 - October]]
 
* [[IBCS2 - 1819 - September]]
 
* [[IBCS2 Summer Assignment]]
 
* [[IBCS2 - 1718]]
 

Revision as of 12:34, 19 September 2019

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)
      1. Write a for loop that runs a bunch of times (e.g. 10000)
      2. Generate two random numbers from 0 to the length of cards
      3. 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)
      1. Write a for loop that runs a bunch of times (e.g. 10000)
      2. Generate two random numbers from 0 to the length of cards
      3. 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
  • Point class assignment - complete in NetBeans or repl.it (*must* submit to repl.it for auto-testing)
    1. 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
    2. Declare and initialize the following private attributes in the Point class
      • double x = 0.0
      • double y = 0.0
    3. Define two Point() constructors:
      • default constructor: Point()
      • specific constructor Point(double newX, double newY)
    4. 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
    5. Go to your Main.java file to test out your Point class
    6. In the main method, create several new instances of Point objects
    7. Print out each of your Point objects
    8. Define a static method in Main.java named double slope(Point p1, Point p2) - returns the slope between p1 and p2
    9. 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
    1. Form 3-4 person groups
    2. Receive playing cards
    3. With your group, document an algorithm (steps) of how you sort the cards out
    4. Paste your numbered steps in the appropriate document:
  • 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:

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:

Homework:

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)

IBCS2 - Archives