- Sep 10 - Read:
the first 6 chapters in the text - basics of writing Java
- Sep 12
LAB:
Write an application like the applet we wrote Monday.
Hand in:
Hardcopy of the class - be sure to use good style.
HOMEWORK:
Read:
-
Using Swing Components.
-
Laying Out Components Within a Container
-
Writing Event Listeners
Programming assignment:
Write a class that is both an application and an applet that asks
for the user's name and prints it in a fancy label.
Hand in on Mon. Sept. 17:
Hardcopy of the class - be sure to use good style.
- Sep 17
LAB:
Designing and implementing a GUI in Java.
HOMEWORK:
Read:
Check out some Java Bioinformatics tools
Decide on a project to work on for the rest of the course.
Programming assignment:
Design and begin coding a Java program that converts data from
one form to another.
Hand in on Wed. Sept. 19:
A description of the project you want to work on - what it will do,
what it will look like (design of the gui), etc. The more detailed
the description, the more helpful it will be for you and for me.
- Sep 19
LAB:
Programming assignment:
Write the GUI for your data conversion program.
Written assignment:
Make a table to describe the event handling for the program.
For each JComponent, give
- the component type
- the name of its object reference (variable name - if it
has no object reference in your program, put ANON)
- what event it will generate (put NONE if it will not generate an event)
(what kind of Listener you will need to add to it)
- what class will have to implement the Listener
Hand in:
Hardcopy of the program - be sure to use good style.
HOMEWORK:
Read:
- Chapter 8 - Designing classes
- Chapter 10 - Inheritance
Programming assignment:
Finish writing your conversion program, including event handling.
(Send email to me at bartlett@eecs.umich.edu if you have problems or questions.)
Design the GUI for your project.
Hand in on Mon. Sept. 24:
Hardcopy of the program - be sure to use good style.
Design of the GUI for your project.
- Sep 24
LAB:
HOMEWORK:
Study for the exam.
-
Oct 1
LAB:
Design an application that lets the user choose the color of a panel
in the CENTER of the JFrame by clicking on a button. Have at least 3
buttons for 3 different colors.
Do the following:
- Draw the gui
- Label all the components, including he top level container.
- For each container, tell what layout manager it will use.
- Write the header for your code, using class style.
- Write the code. Be sure to have a class with a main method.
Hand in:
Everything you did in class.
HOMEWORK:
Read:
- JComboBox
Programming assignment:
Do the same as you did in lab, only use a JComboBox instead of buttons to let the user choose the
color.
Hand in on Wed. Oct. 3:
All the stuff like you did in class.
EXTRA POINTS ON THE EXAM
Redo the following questions:
- 2 a
- 2 b
- 2 d
- 3 a
- 3 c
-
Oct 3
LAB:
Write a program that lets the user enter a sequence of amino acids
using buttons and then shows them the sequence and its complement.
Hand in:
Hardcopy of the class - be sure to use good style.
HOMEWORK:
Read:
- Chapter 7 in the text - Arrays and Array Lists
Chapter 8 in the older version.
Programming assignment:
Do Review Exercise R7.2 page 324
Written assignment:
Do Review Exercises R7.3, R7.4, R7.7 a-d using loops, R7.9
Hand in on Mon. Oct. 8:
Hardcopy of the program - be sure to use good style - and answers to the assigned written review exercises.
-
Oct 8
LAB:
Change your homework program so it uses an ArrayList to store the user input.
Do you need to change your header?
Hand in:
Hardcopy of the program - be sure to use good style.
HOMEWORK:
Read:
- Chapter 14 in the text - Arrays and Array Lists
Chapter 19 in the older version.
Programming assignment:
Modify the selection sort algorithm in the book to sort an array of integers in descenging order.
Written assignment:
Do Review Exercises R14.2, R14.3, R14.5, R14.8.
Hand in on Wed. Oct. 10:
Hardcopy of the program - be sure to use good style - and answers to the assigned written review exercises.
-
Oct 10
LAB:
You can work in pairs.
Animate the selection sort you wrote for homework.
Fill an array with a set of random numbers between 1 and 20. Represent the array with an
array of JLabels, each of which has as many 0s as the number it represents. Using the code for
the selection sort you wrote for homework, sort the array, swap the strings in the JLabels every time the
algorithm swaps the numbers. Let the user click a button to do the swap.
Hand in:
Hardcopy of the class - be sure to use good style.
HOMEWORK:
Read:
- Sorting algorithms
Programming assignment:
Add another sort algorithm to the program you wrote in class. Let the user choose which
algorithm to animate.
Hand in on Mon. Oct. 15:
Hardcopy of the program - be sure to use good style.
-
Oct 15
LAB:
Work on your program.
Hand in:
Hardcopy of the program - be sure to use good style.
HOMEWORK:
Read:
- Using Linked Lists (15.1)
- Implementing Linked Lists (15.2)
Assignment:
Review Exercises R15.1 and R15.2
Hand in on Wed. Oct. 17:
The review exercises.
-
Oct 17
LAB:
- Understanding linked lists
- Binary search
- Abstract Data Types (ADT)
- Stacks and Queues
HOMEWORK:
Read:
- Binary Search Trees (16.5)
- Tree Traversal (16.6)
Written assignment:
Review Exercises R16.11, R16.12, R16.13 and R16.15
Programming assignment:
Add code to your sorting program that lets the user search for
a value in the sorted list. Make sure it works for the following
cases:
- the first number in the list
- the last number in the list
- a number somewhere in the middle of the list
- a number not in the list
Hand in on Mon. Oct. 22:
The review exercises and source code of your program. Use good style.
-
Oct 22
LAB:
We will write code for a binary search tree.
Hand in:
Hardcopy of the program - be sure to use good style.
HOMEWORK:
Study for the exam.
- Oct. 24
Exam 2
HOMEWORK:
Read:
- Hash Tables (16.3)
- Computing Hash Codes (16.4)
Assignment:
Describe the best case, the worst case and the average case for a hash table.
Give Big O for inserting, deleting and finding a value for each case. What is needed
to avoid the worst case?
Hand in on Mon. Oct. 29:
Answers to the assignment.
-
Oct 29
LAB:
Go over the exam. Make corrections.
HOMEWORK:
Assignment:
- Redo Exam question 1, giving 2 advantages and disadvantages of each data structure.
- Redo Exam question 6, showing with drawings and/or code why you chose your answer.
Hand in on Wed. Oct. 31:
The redone questions.
-
Oct 31
LAB:
Write a program that tests at least two hash functions for random sequences of 30 nucleotides.
Hand in:
Hardcopy of the program - be sure to use good style.
Number of collisions and number of empty buckets for each hash function for 100 sequences.
Include data for 10 different trials.
HOMEWORK:
Read:
- Generic Programming in your text. (Chapter 17 in the new edition)
- Trail: Collections
Assignment:
Review Exercises R15.1 and R15.2
Hand in on Mon. Nov. 5:
The review exercises.
-
Nov 5
LAB:
Make your hashtable test program work correctly.
Hand in:
Hardcopy of the program - be sure to use good style.
HOMEWORK:
Assignment:
For the chapter on Generic Programming, do Review Exercises 1-13.
Hand in on Wed. Nov. 7:
The review exercises.
-
Nov 7
LAB:
Rewrite your program using the Java generic Hashtable class.
Hand in:
Hardcopy of the program - be sure to use good style.
HOMEWORK:
Read:
-
I/O Streams
-
File I/O
Assignment:
Implement a class that counts the number of times
a particular character, such as e, is read from a file.
Your class should extend the appropriate Java I/O class.
Write a program to test your class.
Let the user specify the character to be searched for and the file to search.
Hand in on Mon. Nov. 12:
Hardcopy of the program - be sure to use good style - and the files you used to test it.
-
Nov 12
LAB:
If your homework program has a commandline interface, make a graphical one;
else make a commandline interface.
Hand in:
Hardcopy of the program - be sure to use good style.
HOMEWORK:
Read:
- Internet Networking in the text (Chapter 21 in the new edition)
- Working with URLs
Assignment:
Review Exercises R21.1, R21.8, R21.10, R21.11, R21.12.
Hand in on Wed. Nov. 14:
The review exercises.
-
Nov 14
LAB:
Finish your program.
Hand in:
Hardcopy of the program - be sure to use good style.
HOMEWORK:
Study for the exam.
- Nov 19
Exam 3
HOMEWORK:
Read:
- Internet Networking in the text (Chapter 21 in the new edition)
- Working with URLs
- Nov 21
No Class - Thanksgiving holiday
-
Nov 26
LAB:
Go over exam.
Begin design of a web browser.
Hand in:
nothing
HOMEWORK:
Finish your design
- draw the gui and label all the components
- for each action the user can do in the gui
- describe the action the user takes (for example, push the back button)
- tell what the gui should do (for example, go back to the previous page)
- list the pieces of data you will need to do it
- tell how you will store each piece of data
- write some lines of pseudo code to show how the action will be performed
Hand in on Wed. Nov. 28:
The design.
-
Nov 28
LAB:
Write the code for the browser gui.
Hand in:
Nothing
HOMEWORK:
Add event handling to your browser.
Hand in on Mon. Dec. 3:
Hardcopy of the program - be sure to use good style.
-
Dec 3
LAB:
Work on your event handling code.
Hand in:
Nothing
HOMEWORK:
Finish your event handling code.
Hand in on Wed. Dec. 5:
Hardcopy of the program - be sure to use good style.
-
Dec 5
LAB:
Add a HyperlinkListener to your browser.
Hand in:
Nothing
HOMEWORK:
Add error handling to your browser. Examples include:
- disabling the Back and Forward buttons when there is no url to go to.
- add "url completion" - put "http://" as part of the url if the user doesn't.
- error messages to the user if an exception is caught.
- etc.
Hand in on Mon. Dec. 10:
Hardcopy of the program - be sure to use good style.
- Dec 10
- Browser demo and evaluation - each of you will try out the other students' browsers
and evaluate them.
- Discussion of topics on the final exam.
- You will write questions to be included on the exam.
- Dec 12
Last day of class
No class - study day.
- Dec 17
Final Exam - cummulative
At the regular class time in the regular class room.
Last Updated by S.L Bartlett :
Monday, December 10, 2007, at 18:11:17 EST