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 |
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 |