CSCI-104 – Spring 2017

This page contains additional material for the USC’s CSCI 104 – Data Structures and Object-Oriented Design (Spring 2017) course.  A complete list of materials, assignments, and course information is available in the course website (http://bits.usc.edu/cs104/).

Lecture Slides

  L01 – Overview and Memory Allocation (Jan 10)
  L02 – Streams and Recursion (Jan 12)
  L03 – Recursion, Linked List, and ADTs (Jan 17)
  L04 – Doubly-Linked List, ADTs, and Classes (Jan 19)
  L05 – Classes and Runtime Analysis (Jan 24)
  L06 – ArrayList and Amortized Runtime Analysis (Jan 26)
  L07 – Stack, Queue, and Operator Overloading (Jan 31)
  L08 – Operator Overloading and Copy Operator Overloading (Feb 2)
  L09 – C++ STL, Iterators, Maps, and Sets (Feb 7)
 L10 – Inheritance (Feb 9)
  L11 – Polymorphism (Feb 14)
  L12 – Exceptions, Templates, and Functors (Feb 16)
 L13 – Searching Algorithms (Feb 21)
  L14 – Sorting Algorithms (Feb 23)
 
L15 – Review – Midterm (Feb 28)
  L16 – Graphs (Mar 2)
 
L17 – Qt (Mar 7)
 L18 – Priority Queues and Heaps (Mar 9)
 
L19 – Heapsort, BFS, and DFS (Mar 21)
 L20 – Graph Algorithms (Mar 23)
 L21 – Backtracking Search and Introduction to Balanced Search Trees (AVL) (Mar 28)
 L22 – AVL Trees (Mar 30)
 L23 – Smart Pointers and Iterators (Apr 4)
 L24 – 2-3, 2-3-4, and Red Black Trees (Apr 6)
 L25 – Hash Tables and Hash Functions (Apr 11)
 L26 – Bloom Filter and Tries (Apr 13)
 L27 – Log Structured Merge Trees and Splay Trees (Apr 18)
 L28 – Skip Lists (Apr 20)
 L29 – Design Patterns (Apr 25)
 L30 – Final Review (Apr 27) – Updated May 2, 9:35am

Please, do not forget to answer the evaluation form for this class.

Example Programs

1,541 views