Schedule (Online Version)
CS 307 - Fall 2003

Date Topic Handouts Reading and Events
Reading Assignments are normally from the required textbook, Data Structures and the Java Collections Framework by William J. Collins
Wed Aug 27 Topics 1, Introduction

Slides for viewing. PowerPoint, PDF

HO1: Assignment 1

A. Assignment 1 out

Fri Aug 29 Topic 2: Syllabus and Course Mechanics

Slides for viewing. PowerPoint, PDF

 

1. Read the Course Syllabus.

Mon Sept  1 No Class - Labor Day Holiday    
Wed. Sep 3 Topic 3: Java Basics

Slides for viewing. PowerPoint, PDF

  1. Review The Java Tutorial online. Lesson: Language Basics. Read all subtopics including Variables, Operators, Expressions, Statements and Blocks, and Control Flow Statements
java.sun.com/docs/books/tutorial/java/nutsandbolts/index.html
Fri. Sep 5 Topic 3: Java Basics   1. Programming with assertions. Online at:
http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html
Mon. Sep 8 Topic 4: Pointers and Object Variables

Slides for viewing. PowerPoint, PDF

  1. Pointers and Memory by Nick Parlante. This was designed for students using C but is still an excellent explanation of what pointers are and what can be done with them. Available online at:
http://cslibrary.stanford.edu/102/PointersAndMemory.pdf 
Wed. Sep 10 Topic 4: Pointers and Object Variables   1. Pointers and Memory by Nick Parlante. This was designed for students using C but is still an excellent explanation of what pointers are and what can be done with them. Available online at:
http://cslibrary.stanford.edu/102/PointersAndMemory.pdf 
Fri. Sep 12 Topic 5: Arrays in Java

Slides for viewing. PowerPoint, PDF

HO2: Assignment 2 1. The Java Tutorial online: Lesson: Object Basics and Simple Data Objects, read the Array topic, including all of its subtopics.
java.sun.com/docs/books/tutorial/java/data/arrays.html

A. 12th class day. Last day to add class or drop class for possible refund
B. Assignment 1 due
C. Assignment 2 out

Mon. Sep 15 Topic 6: Multidimensional Arrays

Slides for viewing. PowerPoint, PDF

   
Tue. Sep 16     A. A. Small sections start today.
Wed. Sep 17 Topic 7: Using Objects and Classes

Slides for viewing. PowerPoint, PDF

 

1. The Java Tutorial online. Lesson: Object-Oriented Programming Concepts. Read the following topics: What is an Object? What is a Message? What is a Class? How do these Concepts Translate into Code?
java.sun.com/docs/books/tutorial/java/concepts/index.html

2. Chapter 1

Fri. Sep 19 Topic 8: Designing Classes

Slides for viewing. PowerPoint, PDF

 

1. The Java Tutorial online. Lesson: Object-Oriented Programming Concepts. Read the following topics: What is an Object? What is a Message? What is a Class? How do these Concepts Translate into Code?
java.sun.com/docs/books/tutorial/java/concepts/index.html

2. Chapter 1

A. Assignment 2 due
B. Assignment 3 out

Mon. Sep 22 Topic 8: Designing Classes   1. Classes and Objects from Interactive Programming in Java, by Lynn Andrea Stein, available online at http://www.cs101.org/ipij/intro
Wed. Sep 24 Topic 8: Designing Classes  

1. The Java Tutorial online. Lesson: Object Basics and Simple Data Objects - The Life Cycle of an Object. Also read these topics whose links are at the bottom of the page listed below. Creating Objects, Using Objects, Cleaining Up Unused Objects, Summary of Creating and Using Objects
java.sun.com/docs/books/tutorial/java/data/objects.html

2. The Java Tutorial online. Creating classes. Read all the subtopics on this page.
java.sun.com/docs/books/tutorial/java/javaOO/classes.html

A. Last day to drop a course without possible academic penalty

Fri. Sep 26 Topic 9: Inheritance and Polymorphism

Slides for viewing. PowerPoint, PDF

  1. Chapter 4

A. Assignment 3 due
B. Assignment 4 out

Mon. Sep 29 Topic 9: Inheritance and Polymorphism   1. Chapter 4
Wed. Oct 1 Topic 9: Inheritance and Polymorphism    1. Chapter 4

A. Midterm 1, 7 - 9 pm, location to be determined

Fri. Oct 3 Topic 10: Exceptions

Slides for viewing. PowerPoint, PDF

  1. The Java Tutorial online: Lesson: What's an Exception and Why do I Care?
java.sun.com/docs/books/tutorial/essential/exceptions/definition.html

A. Assignment 4 due
B. Assignment 5 out

Mon. Oct 6 Topic 11: Algorithm Analysis

Slides for viewing. PowerPoint, PDF

  1. Chapter 3

2. Appendix A1.1 - A1.4

Wed. Oct 8 Topic 11: Algorithm Analysis   1. Chapter 3

2. Appendix A1.4 - A1.4

Fri. Oct 10 Topic 12: Recursion

Slides for viewing. PowerPoint, PDF

  1. Chapter 4

2. Appendix A1.5 Mathematical Induction

A. Assignment 5 due
B. Assignment 6 out

Mon. Oct 13 Topic 12: Recursion   1. Chapter 4
Wed Oct 15 Topic 13: Recursive Backtracking

Slides for viewing. PowerPoint, PDF

  1. Chapter 4
Fri. Oct 17 Topic 14: Sorting and Searching

Slides for viewing. PowerPoint, PDF

  1. Sections 13.1 - 13.3, Chapter 12

A. Assignment 6 due
B. Assignment 7 out

Mon. Oct 20 Topic 14: Sorting and Seraching   1. Sections 13.1 - 13.3, Chapter 12
Wed. Oct 22 Topic 15: Abstract Data Types

Slides for viewing. PowerPoint, PDF

  1. Chapter 2

A. Last day to drop a course with instructor approval

Fri. Oct 24 Topic 16: Lists and ArrayLists   1. Chapter 5

A. Assignment 7 due
B. Assignment 8 out

Mon. Oct 27 Topic 16: Lists and ArrayLists   1. Chapter 5
Wed. Oct 29 Topic 17: Linked Lists

Slides for viewing. PowerPoint, PDF

  1. Chapter 6
Fri. Oct 31 Topic 17: Linked Lists   1. Chapter 6

A. Assignment 8 due
B. Assignment 9 out

Mon. Nov 3 Topic 18: Stacks

Slides for viewing. PowerPoint, PDF

  1. Sections 7.4 - 7.6
Wed. Nov 5 Topic 18: Stacks  

1. Sections 7.4 - 7.6

Fri. Nov 7 Topic 19: Queues   1. Sections 7.1 - 7.3

A. Assignment 9 due
B. Assignment 10 out

Mon. Nov 10 Topic 19: Queues   1. Sections 7.1 - 7.3
Wed. Nov 12 Topic 20: Trees

Slides for viewing. PowerPoint, PDF

  1. Section 8.1

A. Midterm 2, 7 - 9pm, location to be determined

Fri. Nov 14 Topic 20: Trees   1. Section 8.1

A. Assignment 10 due
B. Assignment 11 out

Mon. Nov 17 Topic 21: Binary Search Trees

Slides for viewing. PowerPoint, PDF

  1. Section 8.2
Wed. Nov 19 Topic 21: Binary Search Trees   1. Section 8.2
Fri. Nov 21 Topic 22: Balanced Binary Search Trees - Red Black Trees

Slides for viewing. PowerPoint, PDF

  Chapter 9

A. Assignment 11 due
B. Assignment 12 out

Mon. Nov 24 Topic 23: Huffman Coding and Binary Trees

Slides for viewing. PowerPoint, PDF

  1. Section 11.4
Wed. Nov 26 No class   No class
Fri. Nov 28 No class - Holiday Break   No Class - Holiday Break
Mon. Dec 1 Topic 24: Introduction to Hash Tables

Slides for viewing. PowerPoint, PDF

  1. Chapter 13
Wed. Dec 3 Topic 24: Introduction to Hash Tables   1. Chapter 13

A. Assignment 12 due

Fri. Dec 5 Topic 25: Introduction to Graphs

Slides for viewing. PowerPoint, PDF

  1. Chapter 14

Last day of class

Mon. Dec 8 Dead Day    
Wed. Dec 10 Finals Start    
Tues. Dec 16 Last Day of Finals