Faculty Of Engıneerıng
Computer And Software Engıneerıng

Course Information

DATA STRUCTURES AND ALGORITHMS
Code Semester Theoretical Practice National Credit ECTS Credit
Hour / Week
CSE222 Spring 3 2 4 5

Prerequisites and co-requisites None
Language of instruction English
Type Required
Level of Course Bachelor's
Lecturer Asst. Prof. Maryam Eskandari
Mode of Delivery Face to Face
Suggested Subject None
Professional practise ( internship ) None
Objectives of the Course The aim of the course is to provide students how to select and design data structures and algorithms that are appropriate for problems that they might encounter.
Contents of the Course 1.Fundamentals of Algorithmic Problem Solving 2. Fundamentals of the Analysis of Algorithm Efficiency 3. Lists and Linked Lists 4. Queues and Stacks 5. Tree Structures 6. Binary Trees – Midterm Exam 7. Huffman Tree 8. Search Algorithms, String Search Algorithms 9. Sorting Algorithms 1 10. Sorting Algorithms 2 11. Divide and Conquer Algorithms 1 12. Divide and Conquer Algorithms 2 13. Graph Algorithms (Shortest Path, Critical Path) 14. Graph Algorithms ( Minimum Spanning Tree, Maximum Flow)- 15. Recurrence Relations 16. Final exam

Learning Outcomes of Course

# Learning Outcomes
1 Student will understand how to design correct and efficient algorithms.
2 Student will learn major elementary data structures including stacks, queues, trees, graphs and should be able to use them appropriately to solve problems.
3 Student will learn a variety of techniques for designing algorithms.
4 Student will able to analyze worst-case, best-case and average case running times of algorithms using asymptotic analysis.
5 Student will able to apply prior knowledge of standard algorithms to solve new problems.

Course Syllabus

# Subjects Teaching Methods and Technics
1 Fundamentals of Algorithmic Problem Solving Lecture, discussion, presentation
2 Fundamentals of the Analysis of Algorithm Efficiency Lecture, discussion, presentation
3 Lists and Linked Lists Lecture, discussion, presentation
4 Queues and Stacks Lecture, discussion, presentation
5 Tree Structures Lecture, discussion, presentation
6 Binary Trees Lecture, discussion, presentation
7 Midterm Exam
8 Search Algorithms, String Search Algorithms Lecture, discussion, presentation
9 Sorting Algorithms 1 Lecture, discussion, presentation
10 Sorting Algorithms 2 Lecture, discussion, presentation
11 Divide and Conquer Algorithms 1 Lecture, discussion, presentation
12 Divide and Conquer Algorithms 2 Lecture, discussion, presentation
13 Graph Algorithms (Shortest Path, Critical Path) Lecture, discussion, presentation
14 Graph Algorithms ( Minimum Spanning Tree, Maximum Flow) Lecture, discussion, presentation
15 Recurrence Relations Lecture, discussion, presentation
16 Final Exam Exam

Course Syllabus

# Material / Resources Information About Resources Reference / Recommended Resources
1 Data Structures Using C and C++, 2nd edition, Prentice Hall Int., 1996

Method of Assessment

# Weight Work Type Work Title
1 40% Mid-Term Exam Mid-Term Exam
2 60% Final Exam Final Exam

Relationship between Learning Outcomes of Course and Program Outcomes

# Learning Outcomes Program Outcomes Method of Assessment
1 Student will understand how to design correct and efficient algorithms. 1͵2͵3͵4 1͵2
2 Student will learn major elementary data structures including stacks, queues, trees, graphs and should be able to use them appropriately to solve problems. 1͵2͵3͵4 1͵2
3 Student will learn a variety of techniques for designing algorithms. 1͵2͵3͵4 1͵2
4 Student will able to analyze worst-case, best-case and average case running times of algorithms using asymptotic analysis. 1͵2͵3͵4 1͵2
5 Student will able to apply prior knowledge of standard algorithms to solve new problems. 1͵2͵3͵4 1͵2
PS. The numbers, which are shown in the column Method of Assessment, presents the methods shown in the previous table, titled as Method of Assessment.

Work Load Details

# Type of Work Quantity Time (Hour) Work Load
1 Course Duration 14 5 70
2 Course Duration Except Class (Preliminary Study, Enhancement) 0 0 0
3 Presentation and Seminar Preparation 1 28 28
4 Web Research, Library and Archival Work 0 0 0
5 Document/Information Listing 0 0 0
6 Workshop 0 0 0
7 Preparation for Midterm Exam 1 5 5
8 Midterm Exam 1 1 1
9 Quiz 0 0 0
10 Homework 0 0 0
11 Midterm Project 0 0 0
12 Midterm Exercise 0 0 0
13 Final Project 0 0 0
14 Final Exercise 1 10 10
15 Preparation for Final Exam 1 5 5
16 Final Exam 1 1 1
  120