Week 1
- Administrivia
- Primitives, Wrappers, and Casting; Strings vs String Buffers,
I/O Framework
- FSM and Regular Expressions, RegEx in Java
Week 2
- No class -- Martin Luther King Observance
- Arrays, Quadratic sorting, binary searching, Arrays class,
intro to Big-O and asymptotic analysis
- Hashing and Hashtable, Multi-dimensional arrays
Week 3
- Stacks, and applications thereof, Java Stack class
- Review/Slack
- Exam #1
Week 4
- Recursion, and Examples thereof
- Recursive Problem Solving
- Quicksort/Merge sort
Week 5
- Linked List, intro
- Linked List, implementation
- Linked List, implementation
Week 6
- Doubly Linked List, implementation and applications
- Queues, scheduling
- Queues and simulation design
Week 7
- Interfaces and Abstract classes: List, ArrayList and LinkedList;
Iterators and ListIterator; for-each; Collections class
- Set, HashSet and TreeSet;
- Exam #2
Week 8
- Generics and Wrappers: A closer look
- Mid-semester break -- no class
Spring Break -- No class
Week 9
- Intro to trees, Expression trees and traversals
(pre, post, in, dfs, bfs)
- BSTs, intro
- BSTs, implementation: insert, find, and remove
Week 10
- Slack/Tree reinforcement
- Heaps, Heap sort, Priority Queues
- Introduction to Graphs, Graph representation
Week 11
- Shortest Path, Dijkstra's
- Spanning trees and Traversals
- Minimum spanning trees and Prim's Algorithm
Week 12
- Cycle Detection and Union-Find
- Graph Reinforcement
- Collection classes: Maps, HashMaps, TreeMaps
Week 13
- Graphical Applications/Applets and Events
- Graphical Applications/Applets and Events
- No class - Carnival
Week 14
- Threaded Programming and Synchronization
- Serialization, SocketStream and Network Programming
- Remote Method Invocation (RMI)
Week 15
- Algorithm Analysis: Retrospective
- Review/Slack
- Exam #3
|