Data Structures
ساختمان های داده

 

Time:

Monday  2-5 PM

1 Session/Week, 3 hours

 

Place:

College of Farabi - Faculty of Engineering - Class #204

 

Instructor:

Hossein Rezaei (hrezaei@ut.ac.ir)

 

Assistants:

  1. Workout Assistant : Hamid Fazli (h.fazli.k@gmail.com)

  2. Programmer Assistant : Mr. Faraj

Prerequisites:

Two cases are necessary prerequisites to this course:

  1. A strong understanding of programming in Python

  2. A solid background in discrete mathematics

 

Format:

Sixteen lectures and eight teaching-assisting secession with eight homework assignments, four programming projects and a midterm.

 

Texts:

The primary reference for the course is the following Lectures Slides.

We also recommend:

 

محمد قدسی، داده ساختارها و الگوریتم‌ها، انتشارات فاطمی، 1396، چاپ هفتم

 

"(CLRS) Introduction to Algorithms", T. Cormen, C. Leiserson, R. Riverst, and C. Stein, MIT Press, Sept, 2001

 

"Data Structures and Algorithms with Python", Kent D.Leem Steve Hubbard, Springer

 

 

       

"Data Structures and Algorithms in Python", Goodrich, Tamassia & Goldwasser 2013

 

"Problem Solving with Algorithms and Data Structures", Bradley N.Miller, David L.Ranum

 

"Dive Into Python 3", Mark Pilgrim, Apress

   

 

Tentative Schedule:

Session

Date

Topic

Source

1

1396/11/16

Introduction

PDF

2

1396/11/23

Algorithms analysis methods

PDF

3

1396/11/30

Recursive Functions

PDF

4

1396/12/7

Arrays

PDF

5

1396/12/13

TA

- - -

6

1396/12/14

Queues & Stacks

PDF

7

1396/12/20

TA (Python)

- - -

8

1396/12/21

Linked Lists

PDF

9

1397/1/19

TA

- - -

10

1397/1/20

Linked Lists

PDF

11

1397/1/26

TA (Python)

- - -

12

1397/1/27

Trees (1)

PDF

13

1397/2/2

TA (Python)

- - -

14

1397/2/3

Trees (2)

PDF

15

1397/2/9

TA

- - -

16

1397/2/10

MIDTERM EXAM

PDF

17

1397/2/16

TA

- - -

18

1397/2/17

Graphs (1)

PDF

19

1397/2/23

TA

- - -

20

1397/2/24

Graphs (2)

PDF

21

1397/2/30

TA

- - -

22

1397/2/31

Sorting (1)

PDF

23

1397/3/6

TA

- - -

24

1397/3/7

Sorting (2)

PDF

25

1397/3/7

Hash Table

PDF

26

1397/3/13

TA

- - -

EXAM

1397/4/5

FINAL EXAMINATION

 

 

Assignments:

  1. Homework 1 (سوم اسفند نود و شش)--> (solution)

  2. Homework 2 (دهم اسفند نود و شش)

  3. Homework 3 (شانزده فروردین نود و هفت)

  4. Homework 4 (شانزده فروردین نود و هفت)

  5. Homework 5 (سه خرداد نود و هفت)

  6. Homework 6 (ده خرداد نود و هفت)

 

Coding assignments:

  1. Program 1

  2. Program 2

  3. Program 3

  4. Program 4

 

Late Assignments:

  • Assignments are always due at the beginning of class on the due date, or at 11:59 PM on the due date if there is no class that day.

  • Assignments one day late subtract 10%;

  • two days late loses 30%.

  • After 3 days the assignment will be considered a zero.

Project:

  1. Project 1 (creating a Wikipedia page)

  2. Project 2 (Rubik)

  3. Project 1 (monopoly)

Grading Policy:

The final grade will be calculated as a weighted average:

  • Assignments: 20%

  • Mid Term Exam: 25%

  • Project: 10% up to 15%

  • Final Exam: 50%