CS 61BL Summer 2016
Data Structures & Programming Methodology
Instructors: Alan Yao & Sarah Kim
Wednesday, 3-5 PM, 2050 Valley Life Sciences Building
Office Hours: 651 Soda (Alcove), Monday 4-5pm, Wednesday 5-7pm, Thursday 11am-12pm
Quick Navigation
Labs
Labs are due the next day two hours before your lab's start time. For example, if your lab begins at 3 PM, Tuesday's lab will be due on Wednesday at 1 PM. This deadline is meant to be fair for those in labs that occur later in the day. Both students in a partnership must submit the files.
Number Title Concepts
1 Git & Intro to Java Java, Eclipse
2 Primitives & References While loops, if-else statement
3 Conditionals, Loops, Arrays Objects, Box and Pointer Diagrams
4 OOP & Scope Arrays, TDD, JUnit
5 Linked Lists I For Loops, Arrays, Collections
6 Linked Lists II Inheritance, Polymorphism, Abstract Classes, Interfaces
7 Asymptotic Analysis Exceptions, Try-catch suites, Invariants
8 Exceptions, Invariants, Testing Iterators, Iterables, Enhanced for-loop, Generic classes
9 Collections, Interfaces, Abstract Classes Linked Lists, Asymptotics, Big-O
10 Iterators, Generics Destructive vs Non-destructive methods
11 Equality, Comparison, and Java 8 Encapsulation/Wrapper Classes
12 Trees I Hash Tables, HashMaps, Load Factors, Linear Probing
13 Trees II Hash functions for Arbitrary Objects, Memoization
14 Binary Search Trees Trees, Binary Trees
15 Hashing I Depth-first Search, Breadth-first Search
16 Hashing II Binary Search Trees, Comparables, Insertion into a BST
17 Balanced Search Trees Tree-based Maps, Deletion from a BST
18 Heaps, Priority Queues AVL-Trees, 2-3-4 Trees, Tries
19 Graphs Array-based BSTs, Priority Queues, Binary Heaps, Heapify
20 Graph Algorithms Graphs, Graph Representations, Topological Sorting
21 Comparison-Based Sorts Dijkstra's Algorithm, Web Crawling, Garbage Collection
22 Counting-Based Sorts Insertion Sort, Selection Sort, Heap Sort, Merge Sort, Quick Sort
23 Disjoint Sets & Kruskal's Algorithm Quickselect, Counting Sort, Radix Sort
24 Regex Quickselect, Counting Sort, Radix Sort
Projects
Number Title Concepts Due Date
1 Enigma TBA Sat 7/2, 12 PM (noon)
2 Bear Maps: Rastering TBA Sat 7/23, 12 PM (noon)
3 Bear Maps: Routing TBA Sat 8/6, 12 PM (noon)