22C Course Calendar

 Week
 Day Topic Assignment
 1Monday, April 9
Lesson 1:
Introductions
ADTs and Data Structures


Lab 0: Course Introductions
Read Chapter 1

 Wednesday, April 11


Lesson 2:
Linked Lists


Read Chapter 8

 





Lab 1: Linked Lists Part 1
 2Monday, April 16



Lesson 3:
Linked Lists

Read Chapter 9
 Wednesday, April 18



 Lesson 4:
Linked Lists

 



 
Lab 2: Linked Lists Part 2
Lab 2 Test File

 3Monday, April 23


 
Lesson 5:
Queues

 

Read Chapter 13
 Wednesday, April 25


 
Lesson 6:
Stacks



Read Chapter 7
  



 
Lab 3: Stacks and Queues
4 Monday, April 30


Lesson 7:
Recursion


Due: Project Report 1
Read Chapter 2


 Wednesday, May 2



Lesson 8:
Algorithm Efficiency



Midterm 1 Review Guide


 





Lab 4: Recursion

 5Monday, May 7



Lesson 9:
Algorithm Efficiency
Trees


Read Chapter 10
 Wednesday, May 9

Lesson 10:
Midterm 1






  



 
Lab 5: Queue from Stacks

 6Monday, May 14



Lesson 11:
Binary Trees
Binary Search Trees

Read Chapter 15
 Wednesday, May 16



Lesson 12:
Binary Search Trees Cont'd


Due: Project Report 2
Read Chapter 16
  





Lab 6: Binary Search Trees

 7Monday, May 21



Lesson 13:
Hash Tables



Read Chapter 18.4

 Wednesday, May 23


Lesson 14:
Heaps





  





Lab 7: Hash Tables
 8Monday, May 28



~Memorial Day Holiday ~
~ No Class ~



 Wednesday, May 30



Lesson 15:
Heaps


Read Chapter 20
Midterm 2 Review Guide


  



 
Lab 8: Heaps

 9Monday, June 4


 
Lesson 16:
Graphs
Due: Project Report 3 
Due: First Peer Evaluation
 Wednesday, June 6



Lesson 17:
Graphs
Midterm 2

  



 

 10Monday, June 11


Lesson 18:
Graphs


Final Exam Review Guide
Read Chapter 17

 Wednesday, June 13



Lesson 19:
Graphs

Due: Project Report 4

  



 


 11Monday, June 18



Lesson 20:
Sorting Algorithms


Read Chapter 11
 Wednesday, June 20



Final Exam





 


 
 



 12Monday, June 25



 Final Project Demonstrations

Due: Project Report 5
Due: Second Peer Evaluation