22C Course Calendar

 Week
 Days Topic AssignmentReading
 1April 13 - April 19
Lesson 1:
Course Introduction
ADTs and Data Structures


 
Chapters 1.1, 1.3
Appendices C, H
Review: Chapter 2
 


Lesson 2:
Linked Lists Part 1


Lab 1: Course Introductions
due Friday, April 17

 
Chapters 3.1, 4.1-4.2, 5
 2April 20 - April 26



Lesson 3:
Linked Lists Part 2



 
Chapters 4.3 - 4.4
 



 Lesson 4:
Linked Lists Part 3




Lab 2: Linked Lists
due Friday, April 24
 
Chapters 4.5 - 4.6

 3April 27 - May 3

 
Lesson 5:
Queues

 



 
Chapter 7.1 - 7.3
 


 
Lesson 6:
Stacks




 
Chapter 6.1 - 6.3





 

Friday, May 1

 
Midterm 1: 12:00 - 1:00pm
on Canvas

  
Midterm 1 Review Guide
4 May 4 - May 10

Lesson 7:
Recursion





 

Chapter 8
 


Lesson 8:
Algorithm Efficiency



Lab 3: Stacks and Queues
due Friday, May 8
 
Chapter 1.2, 11.1
 5May 11 - May 17



Lesson 9:
Trees
, Binary Trees



 
Chapter 9.1 - 9.4
 

Lesson 10:
Binary Search Trees, Part 1


 
Chapter 9.5
 6May 18 - May 24
Lesson 11:
Binary Search Trees, Part 2


 
 



Lesson 12:
Binary Search Trees, Part 3




Lab 4: Binary Search Trees
due Friday, May 22
 
 7May 25 - May 31



Lesson 13:
Hash Tables, Part 1






 
Chapter 11.2 - 11.6
 

Lesson 14:
Hash Tables, Part 2






 
 




 
Friday, May 29

Midterm 2: 12:00 - 1:00pm
on Canvas



 

Midterm 2 Review Guide
 8June 1 - June 7


Lesson 15:
Graphs, Part 1





 
Chapter 14.1 - 14.2
 



Lesson 16:
Graphs, Part 2

Lab 5: Hash Tables
due Friday, June 5


 
Chapter 14.3
 9June 8 - June 14


 
Lesson 17:
Graphs, Part 3



 Chapter 10.1
 



Lesson 18:
Heaps Part 1



 
 10June 15 - June 21

Lesson 19:
Heaps, Part 2




 
Chapter 12.3
 



Lesson 20:
Sorting Algorithms

Lab 6: Graphs
due Friday, June 19




 11June 22- June 26





Course Project
due Monday, June 22



Chapter 12.1 -12.2

 






 Friday, June 26
 
Cumulative Final Exam:
12:00pm-1:00pm
on Canvas

 

 
Final Exam Review Guide