15-200 Tentative Schedule

Week 1

  • Welcome and Procedural stuff
  • More administriva (dept exam, schedule, &c)
  • Review of basic Java and arrays

Week 2

  • No class - Labor Day
  • Array-based collections, List and ArrayList
  • Java 5 Update

Week 3

  • Java 5 Update
  • Quadratic sorting techniques
  • Bucket Sort, Hashing

Week 4

  • Review/Slack
  • Exam #1
  • Linked List, intro

Week 5

  • Linked List, implementation
  • Linked List, implementation
  • Doubly Linked List, implementation

Week 6

  • Queues and applications thereof
  • Stacks, and applications thereof
  • Recursion, and Examples thereof

Week 7

  • Recursive Problem Solving
  • Quicksort/Merge sort
  • Trees and Heap sort

Week 8

  • Exam #2
  • Expression trees and traversals (pre, post, in, dfs, bfs)
  • No class -- mid semester break

Week 9

  • BSTs, intro
  • BSTs, implementation: insert and find
  • Review of Java's Collection classes

Week 10

  • Introduction to Graphs
  • Graph representation
  • Topological sort

Week 11

  • Shortest Path
  • Spanning trees and Minimum spanning tree
  • Cycle detection, Union-Find

Week 12

  • Exam #3
  • OO Software Development
  • OO Software Development

Week 13

  • Spare
  • No class -- Thanksgiving
  • No class -- Thanksgiving

Week 14

  • Graphical Applications/Projects
  • Applets
  • Threaded Programming

Week 15

  • Network Programming
  • Network Programming
  • Exam #4