Tentative Class Schedule CSC 205 04F

Tentative Class Schedule CSC 205 04F

Tentative Class Schedule – CSC 205 04F

Title / Topics / Assignments/Quizzes / Projects
1 / Intro & Review / Course setup: goals & approach
Java types
Primitive
Reference (or object)
String & StringBuffer
2 / Review II / Class definition
Using objects
Java objects: toString, equals
3 / Arrays / (Multi-dimensional) Arrays
Control constructs
Programming process, env. & styles
Lab 1 / Objects, (multi-dim) arrays, package, Coding style
Testing
4 / Vector / Vector as an ADT
Comparison of Vector & array
Wrapper classes / Project 1
5 / Subclassing / Concepts: generalization/specialization
Syntax: adding specifics
6 / Polymorphism / Overriding
Casting: widening/narrowing (or up/down)
Lab 2 / Vector & StringTokenizer
Date
7 / Abstraction / Abstract classes (partially abstract)
Interface (purely abstract) / Quiz 1: java objects & subclassing (9/1)
8 / Case study / Abstract classes (partially abstract)
Interface (purely abstract)
Lab 3 / OOP – I
(Nervous shapes)
9 / Design & review / Pre-, post-conditions, invariant
Recap / Project 1 due
10 / Test 1 / Java objects
Subclassing & polymorphism
Vector & (multi-dim) arrays / (9/10)
11 / A simple GUI / AWT review: drawing images
Adding a button to a Frame
Adding an event listener / Project 2
Lab 4 / OOP – II
I/O
12 / Layout mgr. / Layout
Panels
Multiple listeners
13 / Various AWT components / Examples
14 / Case study / GUI w/ multiple states
Lab 5 / GUI Programming
Layout
Components
Event handling
15 / ADT / ADT concepts
SpecDesign
Set / Project 2 due
16 / Array list / Using list / Project 3
17 / List nodes / Nodes
Head, tail
Manipulating nodes / Quiz 2: AWT & ADT
(9/27)
Lab 6 / More GUI programming
(Maze)
18 / Linked list
19 / More on lists / Doubly linked list
Catch-up
20 / Test 2 / AWT
ADT
Lists / (10/4)
Lab 7 / Linked lists
21 / Recursion concepts / Project 3 due
22 / Recursive programming / Project 4
23 / Backtracking
24 / Stack / Intro
Stack applications
25 / Stack impl. / Implementation
Complex apps
Lab 8 / Recursion
26 / Queue apps / Intro
Queue apps
27 / Queue impl. / Implementation
28 / Runtime / Big-O notation
Algorithm analysis / Quiz 3: Recursion
Stack & queue (10/25) / Project 4 due
Lab 9 / Backtracking
(Maze 2)
29 / Java collections / Review of Vector & Set
Iterator
Maps / Project 5
30 / Catch-up
31 / Test 3 / Recursion
Stack & queue
Runtime
Java Collection API / (11/1)
Lab 10 / Stacks
32 / Tree concepts / Binary trees
Array representation
Note representation
33 / Tree nodes / Binary tree node by example
34 / Tree traversal / Pre-order
In-order
Post-order / Project 5 due
Lab 11 / Queues
35 / Binary search tree / The rules
Operations & implementation / Project 6
36 / Time analysis / BST w/ iterator
Recursion
Runtime for BST
37 / Tree project
Lab 12 / BST implementations
38 / Applet / Swing basics
DefaultMutableTreeNode
JTree
JApplet
39 / Java 1.5 features
40 / Java 1.5 features / Quiz 4: Tree, runtime analysis (11/19)
Lab 13 / Applet
41 / Programming issues / GUI
Recursion
Lab 14 / Runtime analysis
42 / Review
43 / Test 4 / Tree concepts & representations
BST operations
Time analysis
Swing (JApplet) & multi-threading / (12/3)
44 / Wrap-up / Project 6 due
AP test / Programming in Java / Use the last lab session (12/7)
Final / Sat, 12/11: 2 – 5 pm