Due
Quiz on Novermber 2007 Paper 1 on Sunday May 11
Quiz on November 2007 Paper 2 on Monday. May 4

Write a class Student, with just 2 instance variable - last name and gpa. Write a binary tree class that allows students to be added into a binary tree. Write a testing class that allows the user to enter students indefinately. The user should be able stop data entry by entering a sentinal (i.e. -1). Then the user should be able to search for a student by last name. The program should return an appropriate message if the student is not found and should return the gpa if they are found.

Quiz on May 2006 Paper 1 and Paper 2 (again). Study (only) on Monday.

April 24th
Program a binary search with Strings. Fill a String[] array with 20 names. Write a method to randomize the names. Return (true) if the method successfully returns the names. Create another that sorts then names. Return 'true' if the array is successfully sorted. Create another method that performs a binary search on the names and returns the appropriate slot. (return the slot number)
Make a possible systems flowchart for the tuition payment system at CAC. Make another systems flowchart for the attendance system. Be sure to only use symbols on page 19 of our book.
Quiz on April 21st on May 2006 Paper 1 and Paper 2. Study (only) on Sunday.
April 17th

Quiz on April 13th on items from below and May 2006 Paper 2. (get this from me.)

1. Complete P2006 P1 #14. Solve #14c using both boolean logic and karnaugh maps.

2. Complete P2007P1 #17. Solve the last part using both boolean logic and karnaugh maps.

Review boolean logic example (with cars) on IB-computing.com. You don't need to turn anything in, but it will be on the quiz.

April 10th

Study your returned mock exams. Quiz on April 7th on included items. (does not include boolean logic)

1. Create an application that fills an integer array with 20 random numbers. The application should print the random numbers. Then sort the array using a selection sort (this should be a method). Print the numbers. Then ask the user for a number to find in the array and return the slot number (this should be a method).
2. Sketch a digram of a CPU, showing the ALU and CU and included components.
3. Explain the difference between direct and sequential access and give an example of each.
4. Construct a stack with a maximum of 10 numbers. Include appropriate pop() and push() methods and include a method that display the entire stack. Createa driver program that demonstrates the stack.

April 5
Dossier Due! Complete program and remaining sections. Be sure to stop working on your program in time to document your program fully. 'Success of the program' is just one criteria, full documentation will earn you more credit. Mar 19
Section B3. Write a draft of sections C2 and C3. The goal is for you to think about how you will implement 'usability' and 'handling errors.' Add the ability to edit and delete records, as appropriate. Mar 7

Please note that you will need to spend a lot of time outside of class on your dossier. Dossiers are supposed to be done mostly at home, and you will not have sufficient time to complete your dossier in class. If you can work ahead, I highly recommend it. I will be happy to critique any work you complete ahead of time.

Finish Section B1 of your dossier and complete section B2.
Program: Create your main user interface and the ability to add record to a file and retrieve them when the program starts again. Remember: keep your program simple, don't add unneccesary features!

Feb 28

Submit section B1 of your dossier (don't do the permenant storage section yet). Print and complete the B1 section of the check list. Use the TSM to grade yourself. Attach a grade and justification for your own grade.

Compare page 18 of the case study and the syllabus. For each topic (1.1-1.7), suggest one question that could be asked on the IB exam. (Submit by midpoint of class Tuesday, Mar 13th)

Study May 2005 HL Paper 2 exam, quiz on Wednesday. Please study (only) for this quiz on Monday. Quiz always includes both new and old material.

Feb 14

Submit section A3 of your dossier. Print the A3 section of this checklist, fill it out and attach it to the front of your A3. Use the TSM to grade yourself. Attach a grade and a justification for your own grade.

Include your list of intended mastery factors (Mattia and Karim.)

1. Study the MIC cycle in detail at http://www.ib-computing.com/program/core/architecture.html. Make sure you can sketch the CPU, make a diagram of the MIC cycle and understand the flash demo.

Do NOT work on your dossier on Sunday, that should be done at home. Sunday is for studying only.

Study Nov 2006 HL Paper 2 exam, quiz on this Thursday.

Feb 7

Submit section A2 of your dossier. Print the A2 section of this checklist, fill it out and attach it to the front of your A2. Use the TSM to grade yourself. Attach a grade and a justification for your own grade.

Do NOT work on your dossier on Sunday, that should be done at home. Sunday is for studying only.

Study Nov 2006 HL Paper 1 exam, quiz on this Thursday.

Jan 25

Submit section A1 of your dossier. Print the A1 section of this checklist, fill it out and attach it to the front of your A1.


Exercises 6.5, 6.6
List the mastery factors you intend to use in your project and give 1 example each of how you will demonstrate each mastery factor.

Jan 18
1. List the mastery factors (p65 of subject guide) that you achieved in this project.
2. Give a short description of a project you would like to do for your Dossier. Appropriate projects are ones that store data similar to what you might save in a spreadsheet. For ideas, talk to me, look through old projects. Identify the potential USES and what EVIDENCE you can collect. In the case of this project, simple is good!
3. Exercises 6.1, 6.2, 6.3, 6.4

Dec 14

Add edit functionality to your StudentGui. When a name is searched on, a new JFrame should open up with the edited student information available. The user should be able to edit the information and then click 'save and close'.

Exercises 4.22.

Dec 5

Add a delete function to your StudentGui. To your GUI, add a text box that accepts the name of the student to be deleted. Add a button to perform the action. When the button is pressed, the actionPerformed Method should call 1) add a remove method to your LinkedList class that accepts the name of the node to delete. The method should return the recordNumber on the disk file to be deleted, or an appropriate sentinal value (i.e. -1). 2) the actionperformed method should call a 'deleteRecord(long)' from a File class (create one if you haven't already) which should delete the record. 3) Finally, the actionperformed method should update the window in any way you want (a method in the GUI class to update the window would probably be best.)

Exercise 4.21

Nov 28

The linked list should be kept in alphabetical order and include methods insertHead(), insertTail(), insertAfter(), isEmpty() and size().

Exercises 4.20

Nov 21

Create an index using a linked list. When a record is added, it should be written to the file and added to the linked list. Whenever updating the text area, build the text area string using the linked list (including on startup - build the linked list first, then use the linked list to build the text area string.)

Exercises 4.19

Nov 15

Create an 'add student' function. When a user clicks on 'add student'the student should be written to a file using randomaccessfile and written to the left hand pane. When the program is exited and restarted, the file should display the data entered previously (read the file).

Exercises 4.17, Exercise 4.18

Nov 8

Create a StudentGui

Exercises 4.14, 4.15 and 4.16

Nov 1

Exercises 5.17

Demonstrate Polymorphism in 2 ways:
1) create a Student class with at least 6 different data members of at least 3 different types. Create and demonstrate at least 3 constructors. Also, creates 3 different calculateAverage methods that accepts different parameters. Demonstrate each.
2) (Polymorphism and Inheritance) Create a superclass Person, with 2 subclasses (!) Student and Teacher. Give each class at least 3 unique variables. Overload equals, compareTo and toString for each class. Create a method int getAge() in Person. In Student and Teacher. Create a driver class that allows the user to create up to 10 objects of the user's choice (Either a student or a teacher), then 1) demonstrates each of the methods created and does a loop through all objects, printing each with the toString method.

 

Oct 28th

Queue2_372KP.java
LinkedListModify_374KP.java (include part 1-3 on page 376)
QuickSortKP.java: Randomly fill an array with 100 integers. Quicksort the array using this alogrithm:

function quicksort(array)
var list less, pivotList, greater
if length(array) ≤ 1
return array
select a pivot value pivot from array
for each x in array
if x < pivot then add x to less
if x = pivot then add x to pivotList
if x > pivot then add x to greater
return concatenate(quicksort(less), pivotList, quicksort(greater))


Oct 18

These are all from the photocopied book I just gave you.

ArrayListSort_341KP.java
ObjectInsertionSort_343KP.java
SearchLocations_351KP.java
ObjectsBinarySearch_352KP.java
BinarySearch2_352KP.java

Oct 4

Topic: Hashing.

1) Create a program that implements a hashing algorithm to store data in a file. Store student names and grades. Implement an interface to:
a) Add a new record
b) Output the entire contents of the file, including record number, name and grade for each record location

Include space for 50 records. Notice example code on page 369.

2) Stack2_368KP.java. Modify the program on pg 366 to use objects instead of ints. Use the Stack2Demo driver program on server to test.

3) Exercises 7.5 (not #1)

Sept 27

1) FullyIndexXX.java

FullyIndexedKP() throws IOException{
menu();
}

void menu() throws IOException{
int choice;
String name;

while(true){
System.out.println("\n\n1. Add Student");
System.out.println("2. Display all students");
System.out.println("3. S");
System.out.println("4. Exit");
System.out.print("Enter choice: ");
choice=Integer.parseInt(keyboard.readLine());

switch(choice){
case 1: addStudent(); break;
case 2: displayStudents(); break;
case 3: sortIndex();
case 4:displayStudents();
break;
case 5: System.out.println("Bye!"); System.exit(0);
}
}
}
void addStudent()

void displayStudents()//by referencing index first
void createIndex()
void sortIndex(

2) Exercises 4.12, Exercises 4.13
For a detailed discussion of underflow and overflow errors in Java, check out:
http://java.sun.com/docs/books/jls/second_edition/html/typesValues.doc.html

Quiz on Monday

Sept 20

1) PartialIndexedXX.java

 

Class Student{
String name;
int grade; //9 10 11 12
}


Create a partially indexed file that can store 5 students for each letter of the alphabet.
1) add student 2) display all students 3) search for student

Use this design(if you haven't already started):

public class PartiallyIndexedKP
{
PartiallyIndexedKP()
void initFile()
void menu()
void addStudent()
void searchStudent(String searchName)
boolean detectCollision(int index) //detect if the index is already used
}

2) Exercises 4.11 (not 2 or 5)

Sept 13

1) Exercises 4.8, 4.10

2) Write a program that opens a file, creates a loop to read a student fname, lname, and grade (int). Each student should be written to 1 line of a file. The operator should be able to exit by use of a sentinal and then the program should close the file (for writing), open it for reading, and write out all the information stored. All console input should be done in main(). Seperate methods should perform read and write operations.

Quiz on Monday for all content thus far.

Sept 6

1. Program to:
1) convert real #s decimal to 8 bit binary with a fixed point between 3+4
For full credit, handle out of range numbers appropriately.

2. Exercises 4.4, 4.5, 4.6, 4.7
Quiz on Sunday on all of the above.

August 30

1. Program with a menu to:
1) convert 8 digit binary numbers to decimal
2) convert decimal numbers to binary
3) convert 2s complent to decimal
4) convert decimal to 2s complement

For full credit, handle out of range numbers appropriately.

2. Exercises 4.1, 4.2

August 23