15-111 Tentative Schedule

Week 1

  • MLK Day -- No afternoon classes
  • Administrivia
  • Review of Java

Week 2

  • Array-based collections, List and ArrayList
  • Java 5 Update
  • Quadratic sorting techniques

Week 3

  • Bucket Sort, Hashing
  • Review/Slack
  • Exam #1

Week 4

  • Linked List, intro
  • Linked List, implementation
  • Linked List, implementation

Week 5

  • Doubly Linked List, implementation
  • Queues and applications thereof
  • Stacks, and applications thereof

Week 6

  • Recursion, and Examples thereof
  • Recursive Problem Solving
  • Quicksort/Merge sort

Week 7

  • Trees and Heap sort
  • Expression trees and traversals (pre, post, in, dfs, bfs)
  • Review/Slack

Week 8

  • Exam #2
  • Review Exam
  • No class -- mid semester break

Week 9

  • No class -- Spring Break

Week 10

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

Week 11

  • Introduction to Graphs
  • Graph representation
  • Topological sort

Week 12

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

Week 13

  • Graphical Applications/Applets
  • Graphical Applications/Applets
  • No class -- Carnival

Week 14

  • Threaded Programming
  • Network Programming
  • OO Software Development

Week 15

  • Algorithm Analysis: Retrospective
  • Review/Slack
  • Exam #3