IB Computer Science 2
From WLCS
Contents
- 1 Friday (10/8/10)
- 2 Wednesday (10/6/10)
- 3 Monday (10/4/10)
- 4 Thursday (9/30/10)
- 5 Back To School Night (9/29/10)
- 6 Tuesday (9/28/10)
- 7 Friday (9/24/10)
- 8 Wednesday (9/22/10)
- 9 Monday (9/20/10)
- 10 Thursday (9/16/10)
- 11 Tuesday (9/14/10)
- 12 Friday (9/10/10)
- 13 Wednesday (9/8/09)
- 14 Tuesday (9/7/09)
- 15 Summer
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
- Binary Search Demo
- 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:IBCS2 Roster
- 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:
- Turn in field trip slips.
- Demo all programs. Interims are due today.
- Work on Dossier: Analyzing the Problem
Homework:
- Analyzing the Problem due Friday (10/8/08)Due Friday (10/8/08)
- Any missing assignments
Monday (10/4/10)
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
- Sorting Animations
- 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:
- Analyzing the Problem due Friday (10/8/10)
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:
if (str1.compareTo(str2) < 0)
{
System.out.println(str1 + " goes before " + str2);
}
- So inside your AddressBook, you'd have something like this:
if (myContacts[i].getLastName().compareTo(myContacts[j].getLastName()) < 0)
Back To School Night (9/29/10)
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
- Selection Sort Animation
- Another Selection Sort Animation
- 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:
AddressBook book = new AddressBook();
- 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:
(a)dd to address book (f)ind a Contact (p)rint address book (q)uit What would you like to do?
- 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 Java JDK on your computer (be sure to choose your corresponding operator system)
- Install 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
- 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 Java JDK on your computer (be sure to choose your corresponding operator system)
- Install 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 Java JDK on your computer (be sure to choose your corresponding operator system)
- Install 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 Java JDK on your computer (be sure to choose your corresponding operator system)
- Install 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 student survey
- Introduction to Software Development
- 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