IB Computer Science II
From WLCS
Welcome to the IB Computer Science II Homepage!
You may find the old IBCS2 website here: IBCS2_0708
Contents
- 1 Thursday - Friday (9/25/08 - 9/26/08)
- 2 Wednesday (9/24/08)
- 3 Back to School Night
- 4 Monday - Tuesday (9/22/08 - 9/23/08)
- 5 Friday (9/19/08)
- 6 Wednesday - Thursday (9/17/08 - 9/18/08)
- 7 Tuesday (9/16/08)
- 8 Monday (9/15/08)
- 9 Wednesday - Friday (9/10/08 - 9/12/08)
- 10 Monday - Tuesday (9/8/08 - 9/9/08)
- 11 Friday (9/5/08)
- 12 Tuesday - Thursday (9/2/08 - 9/4/08)
Thursday - Friday (9/25/08 - 9/26/08)
- Introduction to 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
- Sorting & Searching Review
- Selection Sort
- Bubble Sort
- Linear Search
- Binary Search
Wednesday (9/24/08)
- Demo missing assignments
- Dossier
- Past examples
- Work on your Analysis of the Problem section
Back to School Night
Monday - Tuesday (9/22/08 - 9/23/08)
Warmup:
- Assume you have the following integers: 5, 2, 3, 8, 4
- What are the steps to selection sort the integers? Show the movement of the integers.
- What are the steps to bubble sort the integers? Show the movement of the integers.
Agenda:
- Demo SelectionSort.java to Mr. Bui
- 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
- Bubble Sort Animation
- 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 or at the beginning of class tomorrow
- Introduction to Program Dossier
- Media:CriterionA1_problemAnalysis.doc
- 1st rough draft of Analysis of the Problem due Monday (9/29/08)
Assignment:
- Verify that you have Java and JCreator installed on your home computer.
Friday (9/19/08)
- 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
- Download Media:SelectionSort.java
- Fill in the commented parts of the SelectionSort.java file. Where there is a comment, you need to write code.
- Demo to Mr. Bui at the end of class or at the beginning of class on Monday
Wednesday - Thursday (9/17/08 - 9/18/08)
Agenda:
- AddressBook class lab assignment is due at the end of the day tomorrow.
- Your AddressBook demo should use the menu system you created in the warmup yesterday
- When the user selects to ADD a Contact, you should prompt them for a first name, last name, phone, and address.
- You should then create a new Contact
- Add the Contact to your AddressBook using the AddressBook's add() method
- The PRINT menu choice should print the entire AddressBook using the print() method
- Make sure your menu runs again after the user makes a choice (HINT: use a loop somewhere)
Tuesday (9/16/08)
Warmup:
- You will be creating a user interface menu for use with your AddressBook
- Open / create your AddressBook's main method
- 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 (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
- If the user inputs 'a', then print a message that says "USER SELECTED ADD"
- 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:
- Demo JCreator
- Add a String address attribute to your Contact class
- Demo your Person, Car, and Contact classes to Mr. Bui (LATE)
- AddressBook class lab assignment
Monday (9/15/08)
- Demo your Person, Car, and Contact classes to Mr. Bui
- AddressBook overview
- AddressBook class lab assignment
Wednesday - Friday (9/10/08 - 9/12/08)
- Receive textbooks
- Write your name on the inside cover
- Tell Mr. Bui your number
- Demo to Mr. Bui your Person, Car, and Contact classes
- Complete Lab 14 in eimacs
- Complete Test 12 in eimacs
Monday - Tuesday (9/8/08 - 9/9/08)
Agenda
- Media:IntroClasses.ppt
- Person class lab assignment
- Car class lab assignment
- Contact class lab assignment
Friday (9/5/08)
Warmup Determine whether or not each of the following lines result in x evaluating true or false:
1 boolean x;
2 x = 50 > 20;
3 x = !x;
4 x = true && false;
5 x = false || false;
6 x = false || false || false || false || false || true;
7 x = true && true && true && false;
8 x = x || !x;
9 x = x && !x;
Agenda
- A gentle re-introduction to Java
Assignment
- How to install Java on Windows
- How to install JCreator
- Test your Java and JCreator installs by creating, compiling, and executing a Hello, World! program
Tuesday - Thursday (9/2/08 - 9/4/08)
- Introductions
- Syllabus
- Name cards
- Lab setup/config
- Student Survey
- Fill out and submit
- Share several snippets with class
- On-line Resources
- Old IBCS2 website
- EIMACS - test your login
- Turingscraft - login coming soon!
- Java Review
- Write a Hello, world! program ( Hint: Java program template )
- Create a new Java program using JEdit or whatever editor you prefer
- Use the Java program template as a guide
- Insert your code
- Compile and execute your code
- Open terminal
- Navigate to your Java file
- javac FILENAME
- Execute your code: java PROGRAM_NAME
- Write a program that prints Hello, world 20 times
- Write a program that prints Hello, world infinite times
- Program dossier introduction