Difference between revisions of "IB Computer Science 2"

From WLCS
(Friday (11/5/10))
Line 1: Line 1:
== Friday (11/5/10) ==
+
<!--
'''Agenda:'''
+
* [https://docs.google.com/presentation/d/1L56lS56iPx8NzfERe12D_mPeQnwq9SUyngEiBkVMF34/edit?usp=sharing Collected Bui Advice]
* Demo [[Media:DynamicStack.java]]
+
* [https://drive.google.com/open?id=15qiqHJeaICoR_1uhLK5ZPVY4DEjGayKcoEbdYxLtD-M Personal Finance]
* Demo [[Media:DynamicQueue.java]]
+
-->
* Introduction to Linked Lists
+
== Monday - Friday (5/4/20 - 5/29/20) : Self-distancing : Weeks 8, 9, 10, 11 ==
** [[Media:LinkedList.java]]
+
* Complete the [https://forms.gle/QfxPPyjFTsH3rLnz7 Graduating Senior Survey] if you have not already done so
** Attributes: head, tail, size
+
* Canvas assignments have been created for submission of the [https://docs.google.com/document/d/1UBXUyC8LJbQnqTwEr9ERHtt1jwLS8h7Nh4oPfyoyIZs/edit?usp=sharing Optional Software Design & Implementation Project]
** Constructors: default
+
** You may e-mail Mr. Bui drafts for early feedback
** Methods:
+
* Here are two resources you should explore if you have the time:
*** isEmpty() - returns true if the LinkedList is empty, and false otherwise
+
** [https://missing.csail.mit.edu/ The Missing Semester of Your CS Education (MIT)]
*** void append(int num) - adds a new Node with num at the end of the LinkedList
+
** [https://leetcode.com/ LeetCode]
*** void add(int num, int index) - adds a new Node with num at the index specified
 
**** There are FIVE different scenarios when you add a Node
 
**** DRAW the before-and-after pictures for all FIVE secenarios
 
*** int remove(int index) - removes the index-th Node and returns its data
 
**** There are SIX different scenarios when you remove a Node
 
*** int getNum(int index) - returns the num found at the index
 
*** void print() - traverses the LinkedList and prints out each Node's data
 
*** int search(int num) - returns the index of the Node with num (returns -1 if num not in list)
 
 
 
== Wednesday (11/3/10) ==
 
'''Warmup:'''
 
* Draw the memory diagram after the following code executes:
 
<source lang="Java">
 
Node head = new Node(14);
 
Node tail = head;
 
tail.next = new Node(15);
 
tail = tail.next;
 
head.next.next = new Node(926);
 
tail = tail.next;
 
tail.next = new Node(3);
 
tail = tail.next;
 
</source>
 
 
 
'''Agenda:'''
 
* Turn in your Prototype Solutions
 
* Return all papers
 
* Demo your [[Media:DynamicStack.java]]
 
* Review Dynamic Queue
 
** Memory diagrams for each method
 
** Begin/Starting scenarios for each method
 
** Draw the before-and-after pictures for adding a Node to an empty Queue (be sure to use head and tail!)
 
** Draw the before and after pictures for adding a Node to a non-empty Queue
 
** Draw the before-and-after pictures for removing a Node from an empty Queue
 
** Draw the before and after pictures for removing a Node from a non-empty Queue
 
* Complete and demo [[Media:DynamicQueue.java]]
 
 
 
== Tuesday (11/2/10) ==
 
* Teacher Work Day
 
 
 
== Friday (10/29/30) ==
 
'''Warmup:'''
 
* Draw the memory diagram after the following code executes:
 
<source lang="Java">
 
Node fun = new Node(42);
 
Node general = new Node (11);
 
Node a, b, c;
 
 
a = general;
 
b = a;
 
fun.next = b;
 
c = fun;
 
</source>
 
 
 
'''Agenda:'''
 
* Node Practice
 
** [[Media:NodeFunAgain.java]]
 
* Dynamically-sized Stacks
 
** Create a new class called DynamicStack
 
*** [[Media:DynamicStack.java]]
 
** What attribute must we keep track of when we talk about stacks?
 
** Create a Node reference for the most important stack attribute
 
** Implement push(int num) using Nodes.
 
*** push() should not return anything
 
*** push() creates a new Node with the num, and set the new Node's next reference to the top
 
*** Don't forget to update the top to be the new node!
 
** Implement pop(), which should POP and return the value on top of the stack and update the top
 
** Implement top(), which should just return the value on top of the stack
 
** Implement isEmpty() which returns true if the stack is empty
 
** Implement print() which should print your entire stack
 
** TEST YOUR STACK USING MR. BUI'S STACK MAIN OR YOUR OWN MAIN METHOD
 
* Dynamically-sized Queues
 
** Create a new class called DynamicQueue
 
*** [[Media:DynamicQueue.java]]
 
** Test out your DynamicQueue using the original QueueMain file
 
 
 
== Wednesday (10/27/10) ==
 
'''Warmup:'''
 
* What does FIFO stand for?
 
* When would you want to use a queue?  Give an example
 
* Assume the following queue operations have occurred:
 
*# Add "Nick"
 
*# Add "Scarlet"
 
*# Add "Sheng"
 
*# Remove
 
*# Add "Daniel"
 
*# Remove
 
*# What is left in the queue?
 
 
 
'''Agenda:'''
 
* Object and References Review
 
** [[Media:Point.java]]
 
** [[Media:ReferencesReview.java]]
 
* Node class
 
** [[Media:Node.java]]
 
** [[Media:NodeFun.java]]
 
* Node references practice
 
* Read through [[Media:CriterionA3_prototypeSolution.doc]]
 
* Begin working on your Prototype Solution.  It will be due next Tuesday (10/27/09).
 
 
 
'''Homework:'''
 
* Dossier - Prototype Solution rough draft due Tuesday (11/3/10)
 
 
 
== Monday (10/25/10) ==
 
'''Warmup:'''
 
* Turn in your Criteria for Success
 
* Grab a Stacks Quiz, you may start immediately
 
 
 
'''Agenda:'''
 
* Stacks Quiz!
 
* Criteria for Success peer edit
 
* Queueueueueues (Queues)
 
** [[Media:Queues.ppt]]
 
** [[Media:Queue.java]]
 
** [[Media:QueueMain.java]]
 
* Fix [[Media:Queue.java]] so that it works. You must fill in all the method bodies
 
 
 
== Thursday (10/21/10) ==
 
'''Warmup:'''
 
# What does LIFO stand for?
 
# What data structure does LIFO describe?
 
# What is the one location that you worry about in the structure from #2?
 
# What are the two actions that you can do in the structure from #2?
 
# When would you want to use the structure from #2?
 
 
 
'''Agenda:'''
 
* Array Review
 
* Stack Review
 
* Queues
 
** [[Media:Queues.ppt]]
 
** [[Media:Queue.java]]
 
** [[Media:QueueMain.java]]
 
* Fix [[Media:Queue.java]] so that it works. You must fill in all the method bodies
 
 
 
'''Homework:'''
 
* Criteria for Success due Monday (10/25/10)
 
* Stacks quiz on Monday (10/25/10)
 
 
 
== Tuesday (10/19/10) ==
 
'''Agenda:'''
 
* Introduction to Mr. Fowler
 
* Field trip debrief
 
* Sorting & Searching Review
 
** Linear Search
 
** Binary Search
 
** Selection Sort
 
** Bubble Sort
 
* Missing assignments
 
** Dossier - Analysis of the Problem
 
** [[Media:LinearSearch.java]]
 
** [[Media:BinarySearch.java]]
 
* Analyzing the Problem section - peer edits
 
* Criteria for Success
 
** [[Media:CriterionA2_criteriaforSuccess.doc]] due Monday (10/25/10)
 
* Introduction to Data Structures
 
* Stacks
 
** [[Media:Stacks.ppt]]
 
** [[Media:Stack.java]]
 
** [[Media:StackMain.java]]
 
** Stacks quiz on Monday (10/25/10)
 
 
 
'''Homework:'''
 
* Criteria for Success due Monday (10/25/10)
 
* Stacks quiz on Monday (10/25/10)
 
 
 
== Friday (10/15/20) ==
 
* Field trip
 
 
 
== Wednesday (10/13/10) ==
 
'''Agenda:'''
 
* Field trip slips!
 
* Friday Field Trip - meet in Cafeteria at 8:10AM
 
* Demo [[Media:LinearSearch.java]]
 
* Demo [[Media:BinarySearch.java]]
 
* Introduction to Security
 
** Authentication - [[Media:Authentication.ppt]]
 
 
 
== Friday (10/8/10) ==
 
'''Warmup:'''
 
* Turn in Analyzing the Problem section
 
* What are the steps necessary in order to use a dictionary?
 
** Write it out in a text editor.
 
 
 
'''Agenda:'''
 
* Peer edit analyzing the problem
 
 
 
* Review of Linear Search
 
* Download [[Media:LinearSearch.java]]
 
* Fill in the commented parts of LinearSearch.java and demo a working linear search to Mr. Bui
 
* Linear Search performance evaluation
 
# What is the best case scenario? i.e. What is the minimum # of comparisons?
 
# What is the worst case scenario? i.e. What is the maximum # of comparisons?
 
# What is the average # of comparisons?
 
# Can we do better than a linear search?
 
 
 
* Introduction to Binary Search
 
# Assume sorted list
 
# Go to the middle point
 
# If the middle element matches the key, then the search is over
 
# If the key is less than middle element, go to the left (down), else go to the right (up)
 
# Repeat steps 2-4 until the key is found or when the left and right bounds pass each other
 
 
 
* [http://euler.slu.edu/~goldwasser/demos/BinarySearch/ Binary Search Demo]
 
* [http://www.cosc.canterbury.ac.nz/people/mukundan/dsal/BSearch.html Binary Search Demo2]
 
* [[Media:BinarySearch.java]]
 
* Binary Search performance evaluation
 
# What is the best case scenario? i.e. What is the minimum # of comparisons?
 
# What is the worst case scenario? i.e. What is the maximum # of comparisons?
 
# What is the average # of comparisons?
 
* Binary Search Advantages & Disadvantages
 
 
 
* Use the following [[Media:IBCS2Roster.txt]]
 
* Convert [[Media:LinearSearch.java]] and [[Media:BinarySearch.java]] so that it searches for a String name
 
 
 
== Wednesday (10/6/10) ==
 
'''Warmup:'''
 
* Pickup 5 playing cards from Mr. Bui
 
* Use the BubbleSort algorithm to hand-sort the cards from least to greatest
 
  
'''Agenda:'''
+
== Monday - Friday (4/20/20 - 5/1/20) : Self-distancing : Weeks 6 & 7 ==
* Turn in field trip slips.
+
* Complete the [https://forms.gle/QfxPPyjFTsH3rLnz7 Graduating Senior Survey] if you have not already done so
* Demo all programs. Interims are due today.
+
* [https://docs.google.com/document/d/1UBXUyC8LJbQnqTwEr9ERHtt1jwLS8h7Nh4oPfyoyIZs/edit?usp=sharing Optional Software Design & Implementation Project]
* Work on Dossier: Analyzing the Problem
+
** This is for optional final grade elevation
 +
** You may e-mail Mr. Bui drafts for feedback
 +
* Here are two resources you should explore if you have the time:
 +
** [https://missing.csail.mit.edu/ The Missing Semester of Your CS Education (MIT)]
 +
** [https://leetcode.com/ LeetCode]
  
'''Homework:'''
+
== Tuesday - Friday (4/14/20 - 4/17/20) : Self-distancing : Week 5 ==
* Analyzing the Problem due Friday (10/8/08)Due Friday (10/8/08)
+
* Complete the [https://forms.gle/QfxPPyjFTsH3rLnz7 Graduating Senior Survey]
* Any missing assignments
+
* [https://docs.google.com/document/d/1UBXUyC8LJbQnqTwEr9ERHtt1jwLS8h7Nh4oPfyoyIZs/edit?usp=sharing Optional Software Design & Implementation Project]
 +
** This is for optional final grade elevation
  
== Monday (10/4/10) ==
+
== Monday - Friday (4/6/20 - 4/10/20) : Self-distancing : Week 4 ==
'''Warmup:'''
+
* Spring Break
* Complete any missing assignments:
 
** [[AddressBook class lab assignment]]
 
** SelectionSort
 
  
'''Agenda:'''
+
== Monday - Friday (3/29/20 - 4/3/20) : Self-distancing : Week 3 ==
* SelectionSort Review
+
* See Ms. Cantor's e-mail concerning IB exams
* Introduction to Bubble Sort
+
* Mr. Bui is finishing grading all IAs this week
# Initialize the front to be the top or beginning of the array
 
# Now go to the bottom/end of the array
 
# Compare the two adjacent elements to see if they are in proper sequential order
 
## Swap the elements if they are out of order (bigger number to the left of smaller number)
 
# Move to the next pair of adjacent elements/numbers
 
# Repeat steps 3 and 4 until the smallest number has "floated" to the top/front
 
# After you traverse the entire array
 
## Move the front so that the sorted numbers are ignored
 
## Go back to the end of the array
 
## Repeat steps 2 through 6 for the unsorted part of the array
 
<!--* [http://web.engr.oregonstate.edu/~minoura/cs162/javaProgs/sort/BubbleSort.html Bubble Sort Animation]-->
 
* [http://math.hws.edu/TMCM/java/xSortLab/ Sorting Animations]
 
* [http://www.cs.pitt.edu/~kirk/cs1501/animations/Sort2.html More Sorting Animations]
 
* Download [[Media:BubbleSort.java]]
 
** Fill in the commented parts of the BubbleSort.java file. Where there is a comment, you need to write code.
 
** Demo to Mr. Bui at the end of class
 
* Introduction to the Program Dossier
 
** [[Media:CriterionA1_problemAnalysis.doc]]
 
** Analyzing the Problem due Friday (10/8/08)
 
** Work on your Analyzing the Problem section
 
  
'''Homework:'''
+
== Monday - Friday (3/23/20 - 3/27/20) : Self-distancing : Week 2 ==
* Analyzing the Problem due Friday (10/8/10)
+
* Mr. Bui is in the process of closing out 3rd Quarter grades
 +
* '''Your 4th Quarter grade will contain an IA grade after Mr. Bui is done grading them'''
 +
* There are updates and announcements coming soon from the IBO...stay tuned (and stay healthy)
 +
** See Ms. Cantor's e-mail sent out to IB students
  
== Thursday (9/30/10) ==
+
== Tuesday - Friday (3/17/20 - 3/20/20) : Self-distancing : Week 1  ==
'''Warmup:'''
+
* 3rd Quarter ends '''Friday (3/20/20)'''
* Pickup 5 playing cards from Mr. Bui
+
** If you do not submit your Final Internal Assessment, then you will receive an Incomplete for the 3rd quarter
* Use the SelectionSort algorithm to hand-sort the cards from least to greatest
+
** The Cryptocurrency Case Study Slide will be credited for both the 3rd and 4th quarters. Not turning it in will yield a zero grade also for both 3rd and 4th quarters.
 +
** All IB CS 2 grades are currently being entered for the 3rd quarter, so if you check and notice a grade is incorrect, then please e-mail Mr. Bui
 +
** Recheck your IB CS 2 grade daily because Mr. Bui is updating it right now.
 +
** If you wish to update a grade b/c you needed to complete a missing/late assignment, then please e-mail Mr. Bui
 +
** No work for 3rd Quarter will be accepted after '''Friday (3/20/20)'''
 +
* 4th quarter schedule of assignments will be posted soon (after Mr. Bui finishes closing out 3rd quarter grades)
  
'''Agenda:'''
+
== Monday (3/16/20) : Self-distancing : Week 1 ==
* Turn in field trip slips
+
* All students are still expected to have submitted their Final Internal Assessments to Canvas
* Turn in quiz corrections
+
* All students are still expected to complete the Case Study Slide Assignment (see previous date below) and submit it to Canvas
* Demo [[AddressBook class lab assignment]]
+
* Mr. Bui is developing a weekly schedule of review tasks and exam preparation. <del>A complete schedule should be posted by Tuesday (3/17/20) morning</del>
* Demo ArrayPractice exercises
+
* Mr. Bui is also developing a question-answer workflow so that students can ask general and specific questions. The workflow will look something like this:
* Demo SelectionSort
+
** General questions should be posted in the Canvas Discussion area; however, the student should check if any existing discussion threads already answer their question. If not, then a new thread should be created for their question
* Add a (s)ort option to your AddressBook
+
** Specific questions about student code will require students to take a screenshot of their own code and message it to Mr. Bui. The Canvas messaging system will likely be used for this because Mr. Bui does not want his inbox to be flooded
** In order to compare Strings:
+
* If you have a questions, please feel free to e-mail Mr. Bui or create a Discussion thread. Please note that if you e-mail a question, and it's a good question, then Mr. Bui may create a thread himself to repost and answer your question
<source lang="Java">
+
* Please note: Mr. & Mrs. Bui have their own children at home with them, so do not expect immediate responses.
if (str1.compareTo(str2) < 0)
 
{
 
  System.out.println(str1 + " goes before " + str2);
 
}
 
</source>
 
* So inside your AddressBook, you'd have something like this:
 
<source lang="Java">
 
if (myContacts[i].getLastName().compareTo(myContacts[j].getLastName()) < 0)
 
</source>
 
 
 
== Back To School Night (9/29/10) ==
 
* [[Media:B2snIBCS2.ppt]]
 
 
 
== Tuesday (9/28/10) ==
 
'''Warmup:'''
 
* Create a Java file with a main() called SelectionSort
 
* Create an array of 20 ints
 
* Use your own numbers in the array
 
  
 +
== Friday (3/13/20) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Introduction to Selection Sort
+
* Your Final IAs should have been turned into Mr. Bui this morning
# Find the smallest element
+
** Late IA submissions will incur a penalty for every day that it is late
# Move to the front of the array (swap with front)
+
* Today, you will be receiving your case study key term for which you will be creating a study slide and presentation
# Repeat Steps 1&2, but ignoring the sorted front
+
* Check [https://docs.google.com/spreadsheets/d/11UaHFb4bz_FgmvuQcZccMM2La0u_aG9uS8aKGk5xyLk/edit?usp=sharing the list of assigned key terms and students here]
* [http://www.cs.oswego.edu/~mohammad/classes/csc241/samples/sort/Sort2-E.html Selection Sort Animation]
+
* Case Study Slide Assignment
* [http://www.cs.ust.hk/faculty/tcpong/cs102/summer96/aids/select.html Another Selection Sort Animation]
+
** You will need to research your term and create slides to teach the rest of the class (1-3 slides)
* [http://math.hws.edu/TMCM/java/xSortLab/ Sorting Animations]
+
** You will also present your slides in class (~5 minutes)
* Download [[Media:SelectionSort.java]]
+
** Your slide(s) must contain the following:
** Fill in the commented parts of the SelectionSort.java file. Where there is a comment, you need to write code.
+
*** Definition: What does the term mean or do? (2 pts)
 +
*** Describe: How does it work? (2 pts)
 +
*** Image(s) or graphic(s) to help explain/describe the term (2 pts)
 +
*** Importance or application of the term within the context of the case study (2 pts)
 +
*** Paste links to useful resources about your term within the the notes section of your slides (2 pts)
 +
** Submit your slide(s) to Canvas. They are due by the end of the period; however, you may use the weekend if you do not finish it in class
  
== Friday (9/24/10) ==
+
== Thursday - Wednesday (3/5/20 - 3/11/20) ==
'''Warmup:'''
 
* You will be creating a user interface menu for use with your AddressBook
 
* Open / create your AddressBook's main method
 
* Inside the main method, create an AddressBook variable:
 
 
 
<source lang="java">
 
AddressBook book = new AddressBook();
 
</source>
 
 
 
* Print out a message that explains the program (e.g. "Welcome to YOUR_NAME's address book!")
 
* Print out a menu with the following options:
 
 
 
<pre>
 
(a)dd to address book
 
(f)ind a Contact
 
(p)rint address book
 
(q)uit
 
 
 
What would you like to do?
 
</pre>
 
 
 
* You should prompt for input after the menu is printed.  Review [[Media:JavaIOExample.java]] for examples of input/output
 
*# Add '''import java.io.*;''' at the very top
 
*# Add '''private static BufferedReader stdin = new BufferedReader( new InputStreamReader( System.in ) );''' before main()
 
*# Add '''throws IOException''' so that main() reads like '''public static void main(String [] args) throws IOException'''
 
*# You may now use '''stdin.readLine();''' to read in a String
 
*# To compare Strings, use .equals() like so: '''myStr.equals("a")'''
 
* If the user inputs 'a', then print a message that says "USER SELECTED ADD"
 
* If the user inputs 'f', then print a message that says "USER SELECTED FIND"
 
* If the user inputs 'p', then print a message that says "USER SELECTED PRINT"
 
* If the user inputs 'q', then print a message that says "USER SELECTED QUIT"
 
 
 
'''Agenda:'''
 
* Complete [[AddressBook class lab assignment]]
 
* Create the '''Contact remove(String fn, String ln)''' method for the AddressBook
 
*# Using a for loop, find the Contact that matches fn and ln, and save it in a variable
 
*# Once you have found the Contact, you should remember its index (location) in the array
 
*# Check if the Contact was found in the array
 
*## If it was found, you must use a loop to shift all the array elements down one index
 
*## HINT: myContacts[i] = myContacts[i+1] //where i is a loop counter
 
*# Be sure to set the last element to null (so that there isn't a duplicate Contact in the end)
 
*#* HINT: myContacts[size-1] = null;
 
*# Decrement size
 
*# Return the removed Contact
 
* Demo all assignments
 
 
 
'''Homework:'''
 
* Install the [http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html Java JDK] on your computer (be sure to choose your corresponding operator system)
 
* Install [http://www.eclipse.org/downloads/packages/eclipse-classic-360/heliosr Eclipse Classic] on your computer (be sure to choose your corresponding operator system on the right)
 
* Test it out, and let Mr. Bui know if you run into problems
 
 
 
== Wednesday (9/22/10) ==
 
'''Warmup:'''
 
* Begin working on the [[AddressBook class lab assignment]]
 
 
 
'''Agenda:'''
 
* Demo ArrayPractices and any other assignments
 
* [[AddressBook class lab assignment]]
 
 
 
== Monday (9/20/10) ==
 
 
'''Agenda:'''
 
'''Agenda:'''
* Demo [[Person class lab assignment]]
+
* Full IA will be due '''8AM - Friday (3/13/20)''' on Canvas!
* Demo [[Car class lab assignment]]
+
** [[Media:IBCS_InternalAssessmentGuidelines.pdf]]
* Demo [[Contact class lab assignment]]
+
** [https://ibpublishing.ibo.org/live-exist/rest/app/tsm.xql?doc=d_4_comsc_tsm_1201_1_e&part=4&chapter=4 IA Assembly Guidelines]
* Review Arrays
+
** IA Checklist - [[Media:IBCS_InternalAssessmentChecklist.doc]]
** [[Media:IntroArrays.ppt]]
+
** IA Forms - [[Media:IBCS_IA_Forms.zip]]
* Array practice activities
+
** [http://ibpublishing.ibo.org/live-exist/rest/app/tsm.xql?doc=d_4_comsc_tsm_1201_1_e&part=4&chapter=5 IA Criteria (Rubric)]
*# Create a new Java class named ArrayPractice1.  Create an array of 10 Strings (Use names of students in the room).  Using a for loop, print out all the Strings in the array.
+
* Submitting your IA after the '''8AM - Friday (3/13/20)''' deadline will incur a cumulative daily penalty (i.e. each late day will cost you points)
*# Create a new Java class named ArrayPractice2.  Create an array of 10 integers (make a bunch of numbers up).  Using a for loop and an if statement, print print out only numbers greater than 10.
+
* What to expect in Canvas to submit your IA...
*# Create a new Java class named ArrayPractice3.  Create an array of 10 integers.  Using a for loop, calculate the sum and average.
+
** Individual criterion sections that must have submissions (A through E)
* [[AddressBook class lab assignment]]
+
** Project code uploaded as a single zip (required)
 
+
** Appendix (optional)
'''Homework:'''
 
* Install the [http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html Java JDK] on your computer (be sure to choose your corresponding operator system)
 
* Install [http://www.eclipse.org/downloads/packages/eclipse-classic-360/heliosr Eclipse Classic] on your computer (be sure to choose your corresponding operator system on the right)
 
* Test it out, and let Mr. Bui know if you run into problems
 
 
 
== Thursday (9/16/10) ==
 
'''Warmup:'''
 
* Be sure you have completed the [[Person class lab assignment]]
 
* If you have *not* completed it, then finish it for your warmup
 
* If you have already completed, then try the following warmup:
 
*# Review [[Media:JavaIOExample.java]]
 
*# In your Warmups project in Eclipse, create a new Java class named Warmup_9_16_10
 
*# Prompt the user for an int
 
*# Using an if statement, print out whether or not the user's number is positive or negative
 
 
 
'''Agenda:'''
 
* toString() methods
 
* Demo [[Person class lab assignment]]
 
* Demo [[Car class lab assignment]]
 
* Demo [[Contact class lab assignment]]
 
 
 
== Tuesday (9/14/10) ==
 
'''Warmup:'''
 
* Open Eclipse
 
* Create a new project named Warmups
 
* Create a new Java filed name Warmup9_14_10 (be sure to include the public static void main())
 
* Write a for loop that prints out all the even numbers from 100 DOWN to 0
 
 
 
'''Agenda:'''
 
* Create a new project named ClassesReview
 
* Create a new Java class named Circle
 
* Complete the Circle class with the following methods (You may use the auto-generating setter/getter feature!):
 
** Circle()
 
** getRadius()
 
** setRadius()
 
** getDiameter()
 
** getArea()
 
* Download [[Media:CircleMain.java]] to the src folder in your ClassesReview project (OR download and then import it through Eclipse)
 
* [[Person class lab assignment]]
 
* [[Car class lab assignment]]
 
* [[Contact class lab assignment]]
 
 
 
'''Homework:'''
 
* Install the [http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html Java JDK] on your computer (be sure to choose your corresponding operator system)
 
* Install [http://www.eclipse.org/downloads/packages/eclipse-classic-360/heliosr Eclipse Classic] on your computer (be sure to choose your corresponding operator system on the right)
 
* Test it out, and let Mr. Bui know if you run into problems
 
 
 
== Friday (9/10/10) ==
 
'''Warmup:'''
 
* Cram for Software Development Quiz
 
 
 
'''Agenda:'''
 
* Turn in any signed syllabi sheets
 
* Software Development Quiz
 
* Introduction to Eclipse/BlueJ/JEdit?
 
* Java Review...uh oh!
 
** semicolons!
 
** public static void main( String [] args );
 
** Hello, world! - printing / outputting to screen
 
** Prompting for input
 
** if statements
 
** while loops
 
** for loops
 
** classes, attributes, setters, & getters!
 
 
 
'''Homework:'''
 
* Install the [http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html Java JDK] on your computer (be sure to choose your corresponding operator system)
 
* Install [http://www.eclipse.org/downloads/packages/eclipse-classic-360/heliosr Eclipse Classic] on your computer (be sure to choose your corresponding operator system on the right)
 
* Test it out, and let Mr. Bui know if you run into problems
 
 
 
== Wednesday (9/8/09) ==
 
'''Warmup:'''
 
* List as many different places and/or ways to obtain information during the problem analysis phase of any project
 
 
 
'''Agenda:'''
 
* Turn in [[IBCS2 Summer Assignment]]
 
* Name cards
 
* Complete the [http://spreadsheets.google.com/viewform?key=p6_k1SMbS2zvMHJNJBBkFPA student survey]
 
* Introduction to Software Development
 
** [[Media:SoftwareDevelopment.ppt]]
 
* Software Development Quiz on Friday (9/10/10)
 
 
 
== Tuesday (9/7/09) ==
 
* Introductions
 
* Turn in [[IBCS2 Summer Assignment]]
 
* [[IB Computer Science II Syllabus]]
 
* Lab setup/config
 
** Login username is your first initial and lastname (e.g. pbui)
 
** Your password is your student ID number
 
** Go to System -> Preferences -> About Me -> Change Password
 
  
== Summer ==
+
== [[IBCS2 - Archives]] ==
* [[IBCS2 Summer Assignment]]
+
* [[IBCS2 - 1920 - February]]
 +
* [[IBCS2 - 1920 - January]]
 +
* [[IBCS2 - 1920 - December]]
 +
* [[IBCS2 - 1920 - November]]
 +
* [[IBCS2 - 1920 - October]]
 +
* [[IBCS2 - 1920 - September]]
 +
* [[IBCS2 - Archives|IBCS2 - Previous Years]]

Revision as of 22:32, 24 May 2020

Monday - Friday (5/4/20 - 5/29/20) : Self-distancing : Weeks 8, 9, 10, 11

Monday - Friday (4/20/20 - 5/1/20) : Self-distancing : Weeks 6 & 7

Tuesday - Friday (4/14/20 - 4/17/20) : Self-distancing : Week 5

Monday - Friday (4/6/20 - 4/10/20) : Self-distancing : Week 4

  • Spring Break

Monday - Friday (3/29/20 - 4/3/20) : Self-distancing : Week 3

  • See Ms. Cantor's e-mail concerning IB exams
  • Mr. Bui is finishing grading all IAs this week

Monday - Friday (3/23/20 - 3/27/20) : Self-distancing : Week 2

  • Mr. Bui is in the process of closing out 3rd Quarter grades
  • Your 4th Quarter grade will contain an IA grade after Mr. Bui is done grading them
  • There are updates and announcements coming soon from the IBO...stay tuned (and stay healthy)
    • See Ms. Cantor's e-mail sent out to IB students

Tuesday - Friday (3/17/20 - 3/20/20) : Self-distancing : Week 1

  • 3rd Quarter ends Friday (3/20/20)
    • If you do not submit your Final Internal Assessment, then you will receive an Incomplete for the 3rd quarter
    • The Cryptocurrency Case Study Slide will be credited for both the 3rd and 4th quarters. Not turning it in will yield a zero grade also for both 3rd and 4th quarters.
    • All IB CS 2 grades are currently being entered for the 3rd quarter, so if you check and notice a grade is incorrect, then please e-mail Mr. Bui
    • Recheck your IB CS 2 grade daily because Mr. Bui is updating it right now.
    • If you wish to update a grade b/c you needed to complete a missing/late assignment, then please e-mail Mr. Bui
    • No work for 3rd Quarter will be accepted after Friday (3/20/20)
  • 4th quarter schedule of assignments will be posted soon (after Mr. Bui finishes closing out 3rd quarter grades)

Monday (3/16/20) : Self-distancing : Week 1

  • All students are still expected to have submitted their Final Internal Assessments to Canvas
  • All students are still expected to complete the Case Study Slide Assignment (see previous date below) and submit it to Canvas
  • Mr. Bui is developing a weekly schedule of review tasks and exam preparation. A complete schedule should be posted by Tuesday (3/17/20) morning
  • Mr. Bui is also developing a question-answer workflow so that students can ask general and specific questions. The workflow will look something like this:
    • General questions should be posted in the Canvas Discussion area; however, the student should check if any existing discussion threads already answer their question. If not, then a new thread should be created for their question
    • Specific questions about student code will require students to take a screenshot of their own code and message it to Mr. Bui. The Canvas messaging system will likely be used for this because Mr. Bui does not want his inbox to be flooded
  • If you have a questions, please feel free to e-mail Mr. Bui or create a Discussion thread. Please note that if you e-mail a question, and it's a good question, then Mr. Bui may create a thread himself to repost and answer your question
  • Please note: Mr. & Mrs. Bui have their own children at home with them, so do not expect immediate responses.

Friday (3/13/20)

Agenda:

  • Your Final IAs should have been turned into Mr. Bui this morning
    • Late IA submissions will incur a penalty for every day that it is late
  • Today, you will be receiving your case study key term for which you will be creating a study slide and presentation
  • Check the list of assigned key terms and students here
  • Case Study Slide Assignment
    • You will need to research your term and create slides to teach the rest of the class (1-3 slides)
    • You will also present your slides in class (~5 minutes)
    • Your slide(s) must contain the following:
      • Definition: What does the term mean or do? (2 pts)
      • Describe: How does it work? (2 pts)
      • Image(s) or graphic(s) to help explain/describe the term (2 pts)
      • Importance or application of the term within the context of the case study (2 pts)
      • Paste links to useful resources about your term within the the notes section of your slides (2 pts)
    • Submit your slide(s) to Canvas. They are due by the end of the period; however, you may use the weekend if you do not finish it in class

Thursday - Wednesday (3/5/20 - 3/11/20)

Agenda:

IBCS2 - Archives