Data Structures

          Bill Klinger

              Syllabus

 

 

Week Teaching Notes Projects / Homework
1 Run time analysis Basic looping and O( ) analysis 
2 Review of objects Lock simulator
3 Arrays and ADTs  
4

Linked lists

To-Do work list using linked lists
5 Doubly linked lists  
6

Stacks and Queues

Study

7 Exam  Priority Queues Distribution system using stacks and queues
8 Recursion Recursion. Guessing game
9 Binary trees Database using binary tree
10 More binary trees  
11 Graphs Game 
SampleGame SampleGame2
12 Searching  
13 Sorting  
14 Project evaluations  

Introduction to Netbeans and GUIs
Good tutorial.  Note: carefully follow the instructions at Exercise 1, step 5!!

Grading Rubric
Here is how I will grade programming projects.

Resources
In class, we will use Netbeans for our development environment.  It is available here.  You can get your free Java download from Sun.  You may want to use JGrasp for your IDE.  You can get a free download from here

And one of the best sites for Java information is at Sun.  Here you will find APIs and tutorials.  Here is an applet template.

For the lock simulator project, you might want to see how a real lock works.
Here is a great site that illustrates binary trees and shows there are a variety of them.
There is also an applet that simulates binary trees.  To make it work, use integers.
A wonderful site with applets to help you visualize the data structures is Prof. Mukundan's.
These sites help you visualize the run time of different algorithms: Prof. Mukundan's, Gosling & Harrison's, and Andrew Kitchen's.

Just playing around.

ticker