InfoCoBuild

CS 61B: Data Structures and Advanced Programming

CS 61B: Data Structures and Advanced Programming (Fall 2013, UC Berkeley). Taught by 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 - More on Simple Programs
Lecture 04 - Values and Containers
Lecture 05 - Simple Pointer Manipulation
Lecture 06 - Arrays
Lecture 07 - Arrays (cont.), Object-Based Programming
Lecture 08 - Object-Based Programming (cont.), Object-Oriented Mechanisms
Lecture 09 - Object-Oriented Mechanisms (cont.), Interfaces and Abstract Classes
Lecture 10 - Interfaces and Abstract Classes (cont.)
Lecture 11 - Interfaces and Abstract Classes (cont.), Examples of Interfaces
Lecture 12 - Examples of Interfaces (cont.), Exceptions
Lecture 13 - Misc. Support for Abstraction (cont.)
Lecture 14 - Misc. Support for Abstraction (cont.), Numbers
Lecture 15 - Numbers (cont.), Algorithmic Analysis
Lecture 16 - Algorithmic Analysis (cont.)
Lecture 17 - Algorithmic Analysis (cont.), Collections Overview, Sequence Implementation
Lecture 18 - Collections Overview, Sequence Implementation (cont.)
Lecture 19 - Review
Lecture 20
Lecture 21 - Sequence Implementation (cont.)
Lecture 22 - Trees
Lecture 23 - Trees (cont.), Backtracking Searches, Game Trees
Lecture 24 - Backtracking Searches, Game Trees (cont.), Generic Programming
Lecture 25 - Generic Programming (cont.), Priority Queues, Range Queries
Lecture 26 - Priority Queues, Range Queries (cont.), Hashing
Lecture 27 - Hashing (cont.), Sorting
Lecture 28 - Sorting (cont.)
Lecture 29 - Sorting (cont.), Balanced Search Structures
Lecture 30 - Balanced Search Structures (cont.)
Lecture 31
Lecture 32 - Balanced Search Structures (cont.), Pseudo-Random Sequences
Lecture 33 - Pseudo-Random Sequences (cont.), Graphs
Lecture 34 - Graphs (cont.)
Lecture 35 - Graphs (cont.), Dynamic Programming
Lecture 36 - Dynamic Programming (cont.), Enumeration types, Threads and Concurrency
Lecture 37 - Threads and Concurrency (cont.)
Lecture 38 - Storage Management
Lecture 39 - Assorted Topics
Lecture 40 - Course Summary

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