Teaching

Data Structures Course 2024

Title: Data Structures and Algorithms (for the students of Computer Science)

Venue: Shiraz University Department of Mathematics, Shiraz, Iran, Fall 2024

Instructor: Reza Rezazadegan

Course webpage: www.dreamintelligent.com/data-structures

Course Github: https://github.com/rezareza007/datastructs2024

Course notes are published as jupyter notebooks on Github.

 

Texts:
– Introduction to Algorithms from MIT Open Courseware, available here.
– Rance Nicaise, Data Structures and Algorithms Using Python, 2011

Prerequisites:

– Familiarity with Python programming, including lists, loops, conditionals and classes

– Basic discrete mathematics (induction, recursions, etc)

 

Course evaluation:
– In-class problem solving (40 minutes a week, 5 points)
– Coding project and presentation (4 points). Projects must be in for of a jupyter notebook. Please check the subject of your project with me in advance.
– Written exam (11 points)

 

Course syllabus

0- Introduction: Problems, algorithms and efficiency
1- Sequence structure: arrays
2- Sequence structure: linked lists
3- Sequence structures: Queues and Stacks
4- Sets and Maps
5- Sorting and Searching
6- Hashing
7- Advanced sorting
8- Binary Trees
9- AVL Trees
10- Breadth First Search
11- Depth First Search
12- Weighted Shortest Paths
13- Dijkstra algorithm
14- Recursive algorithms
15- Complexity

 

Leave a Reply

Your email address will not be published. Required fields are marked *