Difference between revisions of "IB Computer Science 2"

From WLCS
(Monday (10/4/10))
 
Line 1: Line 1:
== Monday (10/4/10) ==
+
== [[IBCS2 - Archives]] ==
'''Warmup:'''
 
* Complete any missing assignments:
 
** [[AddressBook class lab assignment]]
 
** SelectionSort
 
 
 
'''Agenda:'''
 
* SelectionSort Review
 
* Introduction to Bubble Sort
 
# 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)Due Friday (10/8/08)
 
** Work on your Analyzing the Problem section
 
 
 
'''Homework:'''
 
* Analyzing the Problem due Friday (10/8/08)
 
 
 
== Thursday (9/30/10) ==
 
'''Warmup:'''
 
* Pickup 5 playing cards from Mr. Bui
 
* Use the SelectionSort algorithm to hand-sort the cards from least to greatest
 
 
 
'''Agenda:'''
 
* Turn in field trip slips
 
* Turn in quiz corrections
 
* Demo [[AddressBook class lab assignment]]
 
* Demo ArrayPractice exercises
 
* Demo SelectionSort
 
* Add a (s)ort option to your AddressBook
 
** In order to compare Strings:
 
<source lang="Java">
 
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
 
 
 
'''Agenda:'''
 
* Introduction to Selection Sort
 
# Find the smallest element
 
# Move to the front of the array (swap with front)
 
# Repeat Steps 1&2, but ignoring the sorted front
 
* [http://www.cs.oswego.edu/~mohammad/classes/csc241/samples/sort/Sort2-E.html Selection Sort Animation]
 
* [http://www.cs.ust.hk/faculty/tcpong/cs102/summer96/aids/select.html Another Selection Sort Animation]
 
* [http://math.hws.edu/TMCM/java/xSortLab/ Sorting Animations]
 
* Download [[Media:SelectionSort.java]]
 
** Fill in the commented parts of the SelectionSort.java file. Where there is a comment, you need to write code.
 
 
 
== Friday (9/24/10) ==
 
'''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:'''
 
* Demo [[Person class lab assignment]]
 
* Demo [[Car class lab assignment]]
 
* Demo [[Contact class lab assignment]]
 
* Review Arrays
 
** [[Media:IntroArrays.ppt]]
 
* Array practice activities
 
*# 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.
 
*# 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.
 
*# Create a new Java class named ArrayPractice3.  Create an array of 10 integers.  Using a for loop, calculate the sum and average.
 
* [[AddressBook 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
 
 
 
== 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 Summer Assignment]]
 

Latest revision as of 08:28, 13 September 2023