Difference between revisions of "IBCS2 - September"

From WLCS
(New page: == Monday - Tuesday (9/29/08 - 9/30/08) == * Evaluate draft "Analysis of the Problem" * Turn in "Analysis of the Problem" * Demo StringBinarySearch.java by the end of Wednesday * Demo Addr...)
 
(Blanked the page)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Monday - Tuesday (9/29/08 - 9/30/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]
 

Latest revision as of 16:24, 3 September 2010