CSCI 136

Data Structures  & Advanced Programming

Home | Lectures | Links

Lectures



DateTitleRead
Ch.
HandoutsCodeSong
Feb 1 Hello, World 0
  1. Syllabus
  2. Hello Lecture Outline
  3. CS User Policy
  4. Honor Code Guidelines for CS Courses
  5. New Student Account Agreement
  1. Sum.java
  2. Hello.java
  3. Echo.java
Mama Kin - Aerosmith
Feb 4 Abstraction
  1. Abstraction Lecture Outline
  2. Programmer's Toolkit
  3. Day of the Week Lab
  1. Vehicle.java
  2. XJ220.java
  3. SuperXJ220.java
As Days Go By - Dirty Vegas
Feb 6 OOPs Again 1
  1. OOPs Lecture Outline
  1. Vehicle.java
  2. Car.java
  3. XJ220.java
  4. HondaCivic.java
  5. OldHondaCivic.java
Give Me Novacaine - Green Day
Feb 6Lab: The Day of the Week Calculator
Feb 8 Tables
  1. Tables Lecture Outline
  1. LinkedList.java
  2. Tables.java
All Along the Watchtower - Jimi Hendrix
Feb 11 Using Vectors 2,3
  1. Using Vectors Lecture Outline
  2. Silver Dollar Lab
  1. LinkedList2.java
  2. Array.java (partial impl.)
Midnight Rider - The Allman Brothers
Feb 13 Implementing Vectors 4
  1. Implementing Vectors Lecture Outline
  1. Array.java (with setSize)
Woodstock - Crosby, Stills, Nash, and Young
Feb 13Lab: Silver Dollar
Feb 20 Asymptotic Analysis 5
  1. Asymptotic Analysis Lecture Outline
  2. Recursion Lab
Faster, Faster - Bree Sharp
Feb 20Lab: Recursion
Feb 22 Recursion
  1. Recursion Lecture Outline
Here It Goes Again - OK Go
Feb 25 Analysis II
  1. Analysis II Lecture Outline
  2. Dynamic Array Lab
Speed Freak - Moby/Orbital
Feb 27 Merge Sort 6
  1. Sorting Lecture Outline
  2. Sorting Homework
  1. IntegerComparator.java
  2. IntegerComparator2.java
  3. Merge.java
  4. GenerateNumbers.java
Blue Monday - New Order/Orgy
Feb 27Lab: Dynamic Array
  1. Array.java starter
  2. Date2.java starter
  3. TestArray.java sample tests
Feb 29 Quick Sort
  1. Quick Sort Lecture Outline
  2. Movie of Sorts in Action
  1. Sort.java
  2. Quick1.java
  3. Quick2.java
Greater Than-Less Than - Saliva
Mar 3 Iterators 9
  1. Iterator Lecture Outline
  2. Linked List Lab
  1. Bag.java
  2. Outer1.java
  3. starter.tar code for lab 5. Expand with tar -xf starter.tar
Double Trouble - Lynyrd Skynyrd
Mar 5 Lists
  1. Linked List Lecture Outline
  2. Pictures
    LinkedList.java
12 Monkeys - Terry Gilliam
Mar 7 Stacks
  1. Stacks Lecture Outline
  1. Stack.java
  2. Factorial.java
  3. ArrayStack.java
  4. ListStack.java
  5. QuickSort.java
Ends - Everlast
Mar 10 Queues 10
  1. PostScript lab
  2. Queues Lecture Outline
  1. Queue.java
  2. factorial.ps
Obvious Child - Paul Simon
Mar 12 PostScript
Mar 12 Lab: PostScript
  1. PostScript lab
  1. ps-starter.tar
Mar 14 Binary Search 11
  1. Binary Search Outline
  2. Dolphin Taxonomy
  1. Cast.java
  2. Search.java
Rebel Rebel - Seu Jorge (David Bowie)
SPRING BREAK

Mar 31 Binary Trees 11
  1. Binary Trees Outline
  2. Binary Trees Homework
Shaft - Isaac Hayes
Apr 2 BSP Trees
  1. Binary Space Partition Tree Outline
April 2 Lab: The Maze
  1. The Maze Lab
  2. Darwin Programming Guide
  1. maze-starter.tar
Apr 4 Tree Traversal 12
  1. Tree Traversal Outline
  1. BinaryTree.java
Out On The Tiles - Led Zeppelin
Apr 7 Heaps 13
  1. Heap Outline
  2. Search Lab
Apr 9 Splay Trees 14
  1. Splay Trees Outline
  2. Demo and Code
Apr 11 Red-Black Trees
  1. Red-Black Lecture Outline
  2. Sedgewick's 2008 Talk on Left Leaning Red Black Trees
  3. RB Animation #1
  4. RB Animation #2
  1. RedBlack.java
  2. Demo.java
Paint it Black - The Rolling Stones
Apr 14 Threads MIT 1.00 Notes
  1. Threads Lecture Outline
  2. Darwin 2.0 Lab (Part I) (see also Darwin 2.0)
  3. Threads Homework (Part I)
  1. Console.java
  2. Gui.java
  3. Gui2.java
  4. Race.java
  5. (MIT 1.00 Examples)
Mr. Roboto - Styx
Apr 16 Synchronization
  1. Synchronization Lecture Outline
  2. Threads Homework (Part II)
  1. RaceAtomic.java
  2. RaceSynchronized.java
  3. RaceSynchronizedMethod.java
  4. ArrayDemo1.java
  5. ArrayDemo2.java
  6. ArrayDemo3.java
Closer to Fine - Indigo Girls
Apr 18 Deadlock
  1. Deadlock Lecture Outline
  2. Venners, Designing for Thread Safety (Optional)
  3. Dining Philosophers on Wikipedia (Optional)
I want you back - K.T. Tunstall (Jackson 5 Cover)
Apr 21 Graphs
  1. Graphs Lecture Outline
  2. Darwin Lab, Part II
  1. ListGraph.java
Apr 23 Graph Matrix
  1. Adjacency Matrix Lecture Outline
  1. ListGraph.java (w/ querries)
  2. MatrixGraph.java
Apr 28 Graph Search 16
  1. Graph Search Lecture Outline
  2. Dijkstra's Algorithm in Pseudocode
  1. MatrixGraph.java with Dijkstra's Algorithm
Layla - Derek and the Dominoes
Apr 30 Max Flow
  1. Optional Scheduling Lab
  2. Maximum Flow Supplemental Lecture Notes
  3. Maximum Flow/Min Cut Lecture Outline
  4. Stoer and Wagner, A simple min-cut algorithm (1997; optional reading)
May 5 Hash Tables 15.4
  1. Hash Table Lecture Outline
May 7 Hash Functions
  1. Hash Functions Lecture Outline
  1. OpenAddressing.java
May 9 Final Exam Review