CS 61BL Data Structures and Programming Methodology, Summer 2015
Instructor: Joseph Moghadam
Wednesday, 3-5 PM, 2050 Valley Life Sciences Building
Quick Navigation
Labs
Monday/Tuesday labs are due on Thursday before your lab time. Thursday/Friday labs are due on the following Monday before your lab time.
Number Title Concepts Due Date
1 Welcome to Java Java, Eclipse Thurs 6/25
2 Loops and Conditionals While loops, if-else statement Thurs 6/25
3 Objects Objects, Box and Pointer Diagrams Mon 6/29
4 Arrays, Testing Arrays, TDD, JUnit Mon 6/29
5 Collections For Loops, Arrays, Collections Thurs 6/29
6 Inheritance Inheritance, Polymorphism, Abstract Classes, Interfaces Thurs 7/2
7 Exceptions and Invariants Exceptions, Try-catch suites, Invariants Mon 7/6
8 Iterators, Generics Iterators, Iterables, Enhanced for-loop, Generic classes Thurs 7/9
9 Linked Lists, Runtime Linked Lists, Asymptotics, Big-O Thurs 7/9
10 More Linked Lists Destructive vs Non-destructive methods Mon 7/13
11 Linked Lists 3 Encapsulation/Wrapper Classes Thurs 7/16
12 Hashing 1 Hash Tables, HashMaps, Load Factors, Linear Probing Thurs 7/16
13 Hashing 2 Hash functions for Arbitrary Objects, Memoization Mon 7/20
14 Trees 1 Trees, Binary Trees Mon 7/20
15 Trees 2 Depth-first Search, Breadth-first Search Thurs 7/23
16 BSTs Binary Search Trees, Comparables, Insertion into a BST Thurs 7/23
17 TreeMap Tree-based Maps, Deletion from a BST Mon 7/27
18 Balanced Searched Trees AVL-Trees, 2-3-4 Trees, Tries Thurs 7/30
19 Priority Queues and Heaps Array-based BSTs, Priority Queues, Binary Heaps, Heapify Thurs 7/30
20 Graphs Graphs, Graph Representations, Topological Sorting Mon 8/3
21 Graph Algorithms and Applications Dijkstra's Algorithm, Web Crawling, Garbage Collection Thurs 8/6
22 Comparison-based Sorts Insertion Sort, Selection Sort, Heap Sort, Merge Sort, Quick Sort Thurs 8/6
23 Counting Sorts Quickselect, Counting Sort, Radix Sort Mon 8/10
Optional Lab 1 Regex TBD Thurs 8/13
Optional Lab 2 Additional Java StringBuilder, Wildcards, Packages, JARs Thurs 8/13
Optional Lab 3 Additional Data Structures Splay Trees, Disjoint Sets, Kruskal's Algorithm, Cuckoo Hashing Fri 8/14
Projects
Number Title Category Due Date
1 Checkers61BL Final Tues 7/7
2 Gitlet Checkpoint 1 Fri 7/17
Checkpoint 2 Thurs 7/23
Final Mon 7/27
3 Sliding Block Puzzles Checkpoint Thurs 8/6
Final Tues 8/11