Course Code & Number:
Level of Course:
Pre-requisites & Co-requisites:
Midterm Exam - 20%
Quiz - 30%
Homeworks - 30%
Final Exam - 20%
The objective of the course is to introduce the students to data structures and algorithms commonly used in computers today and to give them an understanding of how to design, implement and analyse data structures and algorithms for solving problems.
Union-Find. Analysis of algorithms. Stacks and queues. Elementary sorts. Mergesort. Quicksort. Priority queues. Elementary symbol tables. Binary search trees. Balanced search trees. Geometric applications of BSTs. Hash tables. Searching applications.
Upon succesful completion of this course, a student will be able to
1. Identify and use fundamental abstract data structures
2. Identify and use fundamental computer algorithms
3. Design and implement data structures and algorithms for solving problems
4. Analyse algorithms and data structures and evaluate their efficiencies
5. Identify and use complex data structures such as trees and hash tables for solving problems