CSCI 132 / Spring 2024

Data Structures

Schedule

This schedule will give you an idea of the order of topics and chapters that will be covered. It may change during the semester depending on how quickly we cover the various topics.

Lecture slides and other handouts can be found in our Shared Drive.


[p1]: assn/hw1.pdf       
[p2]: assn/hw2.pdf       
[p3]: assn/hw3.pdf       
[p4]: assn/hw4.pdf       
[p5]: assn/hw5.pdf       
[p6]: assn/hw6.pdf       
[p7]: assn/hw7.pdf       
[p8]: assn/hw8.pdf       
[lab1]: lab1/ 
[lab2]: lab2.pdf
[lab3]: lab3.pdf
[lab4]: lab4.pdf
[lab5]: lab5.pdf
[lab6]: lab6.pdf
[lab7]: lab7.pdf
[lab8]: lab8.pdf
[lab9]: lab9.pdf
[lab10]: lab10.pdf

1.  T   1/23  C++ Fundamentals, OOP, ADTs               | Chapter 1, Appendix K, Interlude 1 |
    R   1/25  ADTs and Array-based Implementations      | Chapter 3                          | 

2.  M   1/29   Lab 1: C++ Classes and Objects            | lab1            | p1 out
    T   1/30   Dynamic Memory and Pointers               | Interlude 2     |
    R   2/1   Linked Implementations                    | Chapter 4       |

3.  M   2/5  Lab 2: ADT Implementation                 | lab2            | p1 due 
    T   2/6  Stacks                                    | Chapters 6, 7   | p2 out
    R   2/8  Linked Stacks                             | Chapters 13, 14 |

4.  M   2/12  Lab 3: Dynamic Memory                     | lab3            |
    T   2/13  Exceptions and Queues                     | Interlude 3     |
    R   2/15  Linked Queues                             |                 | p2 due, p3 out

5.  M   2/19  Lab 4: Stacks and Queues                  | lab4            |
    T   2/20  Lists                                     | Chapters 8, 9   |
    R   2/21  Lists, cont.                              |                 |

6.  M  2/26   Lab 5: Data Structures Zoo                | lab5            | 
    T  2/27   Recursion                                 | Chapter 2       | Mid 1, 6-8PM, Smith 155
    R  2/29   Recursion, cont.                          | Chapter 5.3     | p3 due

7.  M  3/4   (break)
    T  3/5  (break)
    R  3/7  (break)

8.  M  3/11  (no lab)                                  |                 | 
    T  3/12  Asymptotic Efficiency                     | Chapter 10      | p4 out
    R  3/14  Efficiency, cont.                         |                 |

9.  M  3/18  Lab 6: Recursion                          | lab6            | 
    T  3/19  Sorting                                   | Chapter 11      |
    R  3/21  Sorting, cont.                            |                 | p4 due, p5 out

10. M  3/25  Lab 7: Algorithmic Efficiency             | lab7            |
    T  3/26  Quick Sort                                |                 | 
    R  3/28   (break)

11. M  4/1  (break)
    T  4/2   OOP and Reuse                             | Interlude 5     | 
    R  4/4   Trees                                     | Chapter 15      | p5 due on 4/5, p6 out 
 
12. M  4/8   Lab 8: Sorting                            | lab8            | 
    T  4/9   Binary Trees                              | Chapter 16      |
    R  4/11  Binary Search Trees                       |                 | Mid 2, 6-8PM, ONeil 112
    
13. M  4/15  Lab 9: Trees                              | lab9            |
    T  4/16  Binary Search Trees, cont                 |                 | p6 due
    R  4/18  Dictionaries                              | Chapter 18      |
    
14. M  4/22  Lab 10: Trees and Binary Search Trees     | lab10           | p7 out
    T  4/23  Dictionaries and Hashing                  |                 |
    R  4/25  Dictionaries and Hashing, cont.           |                 |

15. M  4/29   Lab 11: Dictionaries                      | lab11           |
    T  4/30   Graphs, Heaps, Balanced Trees, etc.       |                 | p7 due on 5/1
    R  5/2   Graphs, Heaps, Balanced Trees, etc.        |                 |

16. M  5/3  (study period - review session)           | Review 3        | 
    

NB: Schedule is subject to change.