Class # 

Date 
Lectures + Labs 

Topic 
Assignment 
1 

Tu 1/25 
Lecture 1 

Introduction to Java


2 

Th 1/27

Lecture 2 

Structure of an applet. Using graphics and GUI objects.

hw1

3 

Tu 2/1

Lecture 3


Basic GUI. Extending existing classes.


4 

Th 2/3

Lecture 4


Mouse events and eventdriven programming

hw2 
5 

Tu 2/8

Lecture 5 

Arrays


6 

Th 2/10

Lecture 6 

Selection Sort. Developing a program by stepwise refinement.

hw3 
7 

Tu 2/15

Lecture 7 

Userdefined classes.


8 

Th 2/17

Lecture 8 

More on objectoriented programming: inheritance and overriding.
Insertion Sort.

hw4 
9 

Tu 2/22

Lecture 9 

Inheritance.


10


Th 2/24

Lecture 10 

Stacks. Java I/O. Exceptions.

hw5 
11


Tu 3/1

Lecture 11 

Application of stacks: Checking Parentheses. Midterm review.


M


Th 3/3

Midterm


Old exam


12


Tu 3/8

Lecture 12 

Application of stacks: Evaluation of
Arithmetic Expressions.

hw6 
13


Th 3/10

Lecture 13 

Recursion




3/1418



Spring break


14 

Tu 3/22

Lecture 14 

Recursive Function Calls (another application of stacks)
Allocation of memory for local variables
and function parameters.


15 

Th 3/24

Lecture 15


More recursion.
Queues

hw7 
16 

Tu 3/29

Lecture 16


Introduction to Lists, Part I.


17 

Th 3/31

Lecture 17 

Linked lists in Java.

hw8 
18 

Tu 4/5

Lecture 18 

More on Linked Lists.


19 

Th 4/7

Lecture 19 

Dynamic Memory Allocation in Java.
Trees, part I. Binary trees.

hw9 
20 

Tu 4/12

Lecture 20 

More Binary Trees
Arithmetic Expression Trees and Binary Search Trees
Tree Traversal: prefix, infix, postfix


21 

Th 4/14

Lecture 21


Binary Trees and applications (sorting)


22 

Tu 4/19

Lecture 22


Trees. Implementation of a Unixlike "file system".
Discussion about final project
Graphs  basic concepts

Final Project

23 

Th 4/21

Lecture 23 

Graph Traversal
Depth First search
and
Applications of DFS


24 

Tu 4/26

Lecture 24 

More on graph traversal


25 

Th 4/28

Lecture 25


Final Project presentations. Final exam review.
Old exams

