|
|
Line 3: |
Line 3: |
| You may find the old IBCS2 website here: [http://www.paulbui.net/wl/cs2 IBCS2_0708] | | You may find the old IBCS2 website here: [http://www.paulbui.net/wl/cs2 IBCS2_0708] |
| | | |
− | == Monday - Tuesday (9/29/08 - 9/30/08) == | + | == Wednesday (10/1/08) == |
− | * Evaluate draft "Analysis of the Problem"
| |
− | * Turn in "Analysis of the Problem"
| |
− | * Demo StringBinarySearch.java by the end of Wednesday
| |
− | * Demo AddressBook's selectionSort() and bubbleSort() by the end of Wednesday
| |
− | * Register for a [http://www.turingscraft.com turingscraft] account using TC-0483-0 as the section code.
| |
− | ** Test the interface and attempt the first several problems
| |
− | | |
− | == Friday (9/26/08) ==
| |
− | * Reminder: 1st draft of "Analysis of the Problem" due on Monday!!!
| |
− | | |
− | * Sorting & Searching Review
| |
− | ** Selection Sort
| |
− | ** Bubble Sort
| |
− | ** Linear Search
| |
− | ** Binary Search
| |
− | * Examples of using the String.compareTo() method
| |
− | ** [[Media:CompareToDemo.java]]
| |
− | ** [[Media:CompareToDemo2.java]]
| |
− | * Fix [[Media:StringBinarySearch.java]] such that it uses binary search to find a String. Hint: You will be using the compareTo()
| |
− | * Demo StringBinarySearch to Mr. Bui by the end of today.
| |
− | | |
− | * You should then add selectionSort() to your AddressBook class. It sorts your AddressBook Contact array by last name using the selection sort algorithm. You may assume that everybody will have a different last name.
| |
− | * You should then add bubbleSort() to your AddressBook class. It sorts your AddressBook Contact array by last name using the bubble sort algorithm. You may assume that everybody will have a different last name.
| |
− | * Demo the two sorting methods to Mr. Bui by the end of Monday.
| |
− | | |
− | == Thursday (9/25/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
| |
− | | |
− | * [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
| |
− | | |
− | == Wednesday (9/24/08) ==
| |
− | * Demo missing assignments
| |
− | * Dossier
| |
− | ** Past examples
| |
− | ** Work on your Analysis of the Problem section
| |
− | | |
− | == Back to School Night ==
| |
− | * [[Media:B2snIBCS2.ppt]]
| |
− | | |
− | == 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
| |
− | * [http://web.engr.oregonstate.edu/~minoura/cs162/javaProgs/sort/BubbleSort.html 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
| |
− | * [http://web.engr.oregonstate.edu/~minoura/cs162/javaProgs/sort/SelectSort.html Selection Sort Animation]
| |
− | * [http://www.cs.ust.hk/faculty/tcpong/cs102/summer96/aids/select.html 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:
| |
− | | |
− | <pre>
| |
− | (a)dd to address book
| |
− | (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
| |
− | * 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 [http://www.eimacs.com eimacs]
| |
− | * Complete Test 12 in [http://www.eimacs.com 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'':
| |
− | | |
− | <source lang="java" line>
| |
− | boolean x;
| |
− | x = 50 > 20;
| |
− | x = !x;
| |
− | x = true && false;
| |
− | x = false || false;
| |
− | x = false || false || false || false || false || true;
| |
− | x = true && true && true && false;
| |
− | x = x || !x;
| |
− | x = x && !x;
| |
− | </source>
| |
− | | |
− | '''Agenda'''
| |
− | * A gentle re-introduction to Java
| |
− | ** [[Media:IntroJava.ppt]]
| |
− | ** [[Media:IntroJava2.ppt]]
| |
− | ** [[Media:IntroClasses.ppt]]
| |
− | ** [[Media:IntroObjects.ppt]]
| |
− | ** JCreator Demo
| |
− | ** [[Person class lab assignment]]
| |
− | | |
− | '''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
| |
− | * [http://spreadsheets.google.com/viewform?key=p6_k1SMbS2zvMHJNJBBkFPA Student Survey]
| |
− | ** Fill out and submit
| |
− | ** Share several snippets with class
| |
− | * On-line Resources
| |
− | ** [http://www.paulbui.net/wl/cs2 Old IBCS2 website]
| |
− | ** [http://www.eimacs.com EIMACS] - test your login
| |
− | ** [http://www.turingscraft.com 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
| |
− | ** [http://www.ib-computing.com/java/dossier/choices.html IB Computing Dossier suggestions]
| |