# Course Information

**Instructors:** Mohammad Amin Barekatain & Maryam Negahbani

**Class Location: **Class #3, “Site Markazi”

**Class Time: **Monday 9-13; wednesday 9-13

# Course description

This course provides elementary introduction to data structures and algorithms. Topics include:

- Data Structures (Stack – Queue – Set – Map)
- Time Complexity
- Graph Traversal (DFS – BFS)
- Greedy Approach – Complete Search
- Graph Algorithms 1 (Kruskal – Dijkstra – Prim)
- Graph Algorithms 2 (Floyd Warshall – Bellman Ford)
- Dynamic Programming 1
- Dynamic Programming 2 (Harder Stuffs)
- Divide & Conquer
- Backtracking

Students at the end of course should be able to do the following:

- Understand the concepts and skills of data structures and algorithms
- Impliment some well known algorithms

# Course Group

Students must join this group ASAP. This group has several purposes. We will use it to make class announcements, such as clarifications of the material discussed in the class. We encourage you to post questions or comments that are of interest to students in the course. You should plan on reading group messages on a regular basis.

# Announcements

5/13: arash363636@gmail.com (Java), maryam.negahbani@gmail.com (C++)

# Textbooks

**Text:** Regular readings will be assigned from the text, **Competitive Programming 2**, by Steven Halim.