Week  Topic 
1  Orientation and Motivation 
2  Basic concepts for data structures, performance analysis, space and time complexity 
3  Representation of multidimensional arrays, matrix representation 
4  Record/struct, list 
5  Linked list 
6  Midterm Exam I 
7  Stack, Queue 
8  Trees, Binary Trees, Binary Search Trees 
9  Balanced Trees: AVL , LLRBT 
10  Hash Tables 
11  Midterm Exam II 
12  Graph representation 
13  String, Trie 
14  Priority Queues (Heaps) 
Final Exam 
Midterm Exams  2 x 25 
Final Exam  50 
Week  Lab  Assignment 
1  Tutorial: Java to C++ Transition  
2  Tutorial: Java to C++ Transition  
3  Tutorial: Java to C++ Transition  PA1: Array & Matrices 
4  Tutorial: Java to C++ Transition  
5  
6  Office hour, Recitation 
PA2: Linked list 
7  Office hour, Recitation  
8  PA3: Stack & Queue 

9  Office hour, Recitation  
10  PA4: Trees 

11  Office hour, Recitation  
12  Office hour, Recitation 

13  
14  Office hour, Recitation 
Programming Assignments  4 x 25 
Turning in someone else’s work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else.
© 2023 Hacettepe University