
Staff Contact Information 


Instructor
Teaching Fellow:




Course Schedule 

Lecture 
Date 
Lecture Topic 
Readings 
Lecture Slides and Code Examples 
Homeworks and Tests 
Labs 
1 
T 5/19 
Overview of Course & Course Policies; Motivational Lecture: Two algorithms for searching an arrayalgorithm, implementation, analysis, and experiments 
Syllabus; 


2 
W 5/20  Introduction to Java: compilation vs interpretation, expressionoriented vs statementoriented, and types; increment and decrement operators, control structures; break and continue; Array type 
Read Ch. 1 of Java; in Ch. 2 read about expressions; increment/decrement operators (++ and ); control structures (emphasize if, while, and for); also read about the array data type

Used the board and Dr. Java!

HW01: HTML HW01 Part A Solutions: HTML 

R 5/21  Defining a static class; The words static, public, & private; Defining and using methods; Local variables vs fields; Scope of variables and fields; Defining objects (nonstatic classes); ObjectOriented design  Please read about "break," "continue," and "return" on pp.5254, and then read the sections on "Methods" and on "Classes" and "Objects" which starts on p.64 and read through to p.69. Then go back and read about local variables in the section starting on p. 45. 
Used the board and Dr. Java!  Homework Two: HTML HW02 Part A Solutions: HTML 

3  T 5/26  Used the board and Dr. Java!  
4  W 5/27  Stack and Queues;

Read first subsection of "Reference Types" on "Copying Objects and Arrays"; Optional: Read about "Ring Buffers" on Wikipedia 
Used the board and Dr. Java!  Collection.java (must complete for HW 03) Collection2.java (Ditto) Stack.java (example for HW03) Queue.java (must complete for HW 03) MaxQueue.java (must complete for HW 03) 

5  R 5/28  Reference types: How are the variables for arrays and objects different than for primitive types?  Used the board!  
6  M 6/1  Implementing Queues with Ring Buffers. Generic Data Types 
Lecture on Ring Buffer Queues and Deques and Priority Queues: PDF Lecture on Java Generic Data Types: PDF 
HW04: HTML HW04 Part A Solutions: HTML 

7  T 6/2  Introduction to Sorting and Asymptotic Analysis  Lectures on Sorting, Asymptotic Analysis, and Mergesort: PDF  
8  W 6/3  Asymptotic Analysis and Sorting Continued  (same lecture continued)  
9  R 6/4  Sorting Concluded  Lecture on Quicksort etc: PDF  
10  M 6/8  MIDTERM  Sample Midterm (shorter than usual, yours will have 7 problems): PDF Midterm Solution: PDF 
HW 05: HTML HW 05 Solution: HTML 

11  T 6/9  Reference types on steroids: Linked Lists  Linked List Lecture 1: PDF  
12  W 6/10  Linked Lists and Iteration  Reading: Iteration and LLs  Linked List Lecture 2: PDF  
13  R 6/11  Linked Lists and Recursion  Reading: Recursion and LLs  HW 06: HTML HW 06 Solution: HTML 

14  M 6/15  Exceptions; Binary Search Trees: basic definitions, search  Reading on Exceptions: HTML PPT slides on Exceptions: PDF Reading on BSTs: 1 or 2 and my Notes on BST Algorithms 

15  T 6/16  BSTs: insertion, deletion, performance of BSTs  Lecture on BSTs (including deletion): PDF  
16  W 6/17  Balanced Trees: 23 Trees  Lecture on Balanced Trees: PDF  
17  R 6/18  Binary Heaps  Binary Heap Code: JAVA  HW 07: HTML HW 07 Solution: HTML 

18  M 6/22  Hash Tables: Separate Chaining 
How to Implement a Hash Table in Five Minutes or Less: HTML 


19  T 6/23  Hash Tables: Linear Probing  
20  W 6/24  Game Playing by Computer  
22  R 6/25  FINAL EXAM  
23  F 6/26  Last homework due!  