61B bee logo

CS 61BL Summer 2025

Instructor: Noah Adhikari / Lecture: MW, 9-10 AM, Evans 10 [Zoom]

Course Calendar

Skip to current week

Wk. Date Lecture Recording Lab Homework Project
1
Survey
Mon
Jun 23
0. Introduction and Logistics
Course Policies

1. Introduction to Java, Git, and Setup
Ch 1
Lec 0-1 Lab 1:
Introduction to Java, Git, and Setup

(due Tue Jun 24)
Homework 0
(due Tue Jun 24)
Project 0: 2048
(due Sun Jun 29)
Tue
Jun 24


Lab 2:
Conditionals, Loops, and Arrays

(due Wed Jun 25)
Wed
Jun 25
2. Instantiation, References, Primitives, Objects
Pre-Video / Ch 2, Ch 3, Ch 6

3. Testing
Ch 7
Lec 2-3 Lab 3:
Primitives and Objects

(due Thu Jun 26)
Homework 1
(due Tue Jul 01)
Thu
Jun 26


Lab 4:
Debugging & Test-Driven Development

(due Fri Jun 27)
Fri
Jun 27


Theoretical #1: Introduction to Java Programming
Worksheet / Solutions / Slides
2Mon
Jun 30
4. Linked Lists
Pre-Video / Ch 3, Ch 4, Ch 5

5. Generics, ArrayLists
Pre-Video / Ch 8
Lec 4-5 Lab 5:
Intro to Linked Lists

(due Tue Jul 01)
Project 1A: LinkedListDeque
(due Thu Jul 03)
Tue
Jul 01


Lab 6:
Linked List Enhancements

(due Wed Jul 02)
Wed
Jul 02
6. Abstract Data Types, Inheritance
Pre-Video / Ch 9, Ch 10, Ch 16.1

7. Object Methods, Comparison, Iteration
Pre-Video / Ch 11, Ch 12
Lec 6-7 Lab 7:
Abstract Data Types & Inheritance

(due Thu Jul 03)
Thu
Jul 03


Lab 8:
Comparison, Exceptions, and Iteration

(due Sat Jul 05)
Fri
Jul 04


No Lab (Holiday)
Project 1B: ArrayDeque
(due Wed Jul 09)
3Mon
Jul 07
8. Asymptotics
Ch 13

9. Asymptotics, Measuring Code Efficiency
Ch 15
Theoretical #2: Object Oriented Programming and Abstract Data Types
Tue
Jul 08


Lab 9:
Runtime Analysis

(due Wed Jul 09)
Wed
Jul 09
10. Introduction to Trees and Traversals
Ch 22.1-22.2

11. Binary Search Trees: Derivation
Ch 16.2-16.7
Lab 10:
Trees and Traversals
(due Thu Jul 10)
Thu
Jul 10


Lab 11:
Binary Search Trees
(due Fri Jul 11)
Project 2A: NGrams
(due Wed Jul 16)
Fri
Jul 11


Theoretical #3: Asymptotics and Trees
4Mon
Jul 14
12. Balanced Search Trees
Ch 17, Ch 18

13. Hashing & Hash Tables
Ch 19, Ch 20
Lab 12:
Balanced Search Trees
(due Tue Jul 15)
Tue
Jul 15


Lab 13:
Hashing
(due Wed Jul 16)
Wed
Jul 16
14. Heaps and Priority Queues
Ch 21

15. Exam Advice / Review
Lab 14:
Heaps and Priority Queues
(due Thu Jul 17)
Thu
Jul 17


Theoretical #4: Binary Search Trees (Optional)
Project 2B: Wordnet
(due Sun Jul 27)
Fri
Jul 18

Midterm (7 - 9pm)



No Lab
5Mon
Jul 21
16. Disjoint Sets
Ch 14

17. Introduction to Graphs
Ch 22.3-22.4, Ch 23
Lab 15:
Disjoint Sets
(due Tue Jul 22)
Tue
Jul 22


Lab 16:
Graphs
(due Wed Jul 23)
Wed
Jul 23
18. Shortest Path Trees
Ch 24

19. Minimum Spanning Trees
Ch 25
Lab 17:
Shortest Path Trees
(due Thu Jul 24)
Thu
Jul 24


Lab 18:
Minimum Spanning Trees
(due Fri Jul 25)
Fri
Jul 25


Theoretical #5: Hashing, Heaps, and Union Find
6Mon
Jul 28
20. BYOW Introduction
Project 3 Spec

21. Sorting
Ch 29
Lab 19:
Build Your Own World Introduction
(due Tue Jul 29)
Project 3A: World Generation
(due Sun Aug 03)
Tue
Jul 29


Lab 20:
Comparison Sorts
(due Wed Jul 30)
Wed
Jul 30
22. Quicksort
Ch 30, Ch 32, Ch 34

23. Radix Sorts
Ch 35, Ch 36
Lab 21:
Counting Sorts
(due Thu Jul 31)
Thu
Jul 31


TBD
Fri
Aug 01


Theoretical #6: Graphs
7Mon
Aug 04

Special Topics



TBD
Project 3B: Interactivity
(due Tue Apr 29)
Tue
Aug 05


TBD
Wed
Aug 06

Q&A, Review



TBD
Thu
Aug 07


TBD
Fri
Aug 08


Theoretical #7: Sorting
8Mon
Aug 11


BYOW Presentations!
Tue
Aug 12

Final Exam (Tues, Aug 12, 3-6pm)



No Lab
Wed
Aug 13


No Lab
Thu
Aug 14


No Lab
Fri
Aug 15


HW22