InfoCoBuild

CS 61B: Data Structures and Advanced Programming

CS 61B: Data Structures and Advanced Programming (Fall 2014, UC Berkeley). Instructor: Professor Paul Hilfinger. This course discusses data structures and advanced programming. Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language.

Introduction


Lecture 01 - Course Introduction
Lecture 02 - Developing a Simple Program
Lecture 03 - Developing a Sort, Unit Testing
Lecture 04 - Values and Containers
Lecture 05 - Simple Pointer Manipulation
Lecture 06 - Arrays
Lecture 07 - Arrays (cont.), Object-Based Programming
Lecture 08 - Object-Oriented Mechanisms
Lecture 09 - Interfaces and Abstract Classes
Lecture 10 - Abstract Methods and Classes (cont.)
Lecture 11 - Examples of Interfaces
Lecture 12 - Misc. Support for Abstraction; Exceptions
Lecture 13 - Misc. Support for Abstraction (cont.)
Lecture 14 - Numbers
Lecture 15 - Numbers (cont.), Algorithmic Analysis I
Lecture 16 - Algorithmic Analysis II
Lecture 17 - Collections Overview, Sequence Implementation
Lecture 18 - Sequence Implementation (cont.)
Lecture 19
Lecture 20 - Sequence Implementation (cont.), Trees
Lecture 21 - Trees (cont.)
Lecture 22 - Trees (cont.), Backtracking Search, Game Trees
Lecture 23 - Game Trees (cont.), Generic Programming
Lecture 24 - Generic Programming (cont.), Priority Queues, Range Queries
Lecture 25 - Range Queries (cont.), Hashing
Lecture 26 - Hashing (cont.), Sorting
Lecture 27 - Sorting II
Lecture 28 - Sorting III
Lecture 29 - Balanced Search Structures
Lecture 30 - Balanced Search Structures (cont.)
Lecture 31 - Representing Tries, Summary/Review
Lecture 32 - Review
Lecture 33 - Pseudo-Random Sequences
Lecture 34 - Introduction to Graphs
Lecture 35 - Graphs Traversals, Shortest Paths
Lecture 36 - Shortest Paths (cont.), A* Search, Minimal Spanning Trees
Lecture 37 - Minimal Spanning Trees (cont.), Union Find, Dynamic Programming
Lecture 38 - Dynamic Programming, Storage Management
Lecture 39 - Anatomy of a Version-Control System
Lecture 40 - Compression
Lecture 41 - Course Summary

References
CS61B: Data Structures and Advanced Programming, Fall 2014
Instructor: Professor Paul Hilfinger. Lecture Notes. Java Library Documentation. Data Structures (Into Java). General Course Information. A Java Reference.