| Instructor |
Ayaz
|
| Teaching Assistant |
Mehran
|
| Semester |
Fall 2007
|
| Class Time |
Saturday 8:00 - 10:00 (Theoretical concepts)
Tuesday 8:00 - 10:00 (Tutoring and implementation issues)
|
|
Class
Location |
University of Tabriz, Department of Computer Science, Room A
|
| Textbook |
Introduction to Algorithms, 2nd Edition,
T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein,
MIT Press, 2001.
|
| Course Objectives |
The aim of this course is to provide students with some basic skills in the domain of
data structures and algorithms, enabling them
- To get to know the fundamental data structures,
- To understand the importance of data structures for the development of efficient algorithms,
- To design simple algorithms and perform algorithmic analysis,
- To get acquainted with various problem solving paradigms.
|
| Course Contents |
Topics include:
- Algorithm Analysis
- The Role of Algorithms in Computing
- Properties of an Algorithm
- Time and Space Complexity
- Average and Worst Case Analysis
- Fundamental Data Structures
- Lists, Stacks, Queues
- Sets, Graphs, Trees
- Heaps and Priority Queues
- Binary Search Trees
- Hash Tables
- Introductory Notions of Algorithm Design
- Recursion and Divide-and-Conquer
- Dynamic Programming
- Greedy Methods
- Sorting and Searching
- Merge Sort, Quick Sort
- Shell Sort, Bucket Sort
- Heap Sort
|
| Grading |
Coursework, Course Policies, Evaluations and Grading...
|
| Additional References and Resources |
-
Introduction to the Design and Analysis of Algorithms,
Anany V. Levitin, Addison-Wesley, 2003.
-
Data Structures and Their Algorithms,
Harry R. Lewis and Larry Denenberg, Harper Collins Publishers, 1991.
-
Data Structures and Algorithms,
Alfred V. Aho, Jeffrey D. Ullman, and John E. Hopcroft, Addison-Wesley, 1983.
-
And, of course, various resources available on the net,
including the publisher's resource site for the
textbook.
|