You are on page 1of 2

ADMAS UNVIERSITY COLLEGE

Faculty of Informatics
Department of Information and Communication Technology
Course Title: Data Structure and Algorithm
Course Code: ICT 322
Credit Hours: 4
Course objective
The objectives of the course are to:
Capacitate students with the basic techniques for the design and analysis of efficient algorithms;
Determine when and how to use various data structures including lists, queues, stacks, binary trees,
search trees, search trees and graphs;
Apply data structure and algorithms that are frequently used in information processing.
Course Description:
The course focuses on strategies and techniques to efficiently store data (Data Structures) and to per-form
processing on such data in efficient ways (Algorithms), as well as on the analysis and design of such techniques.
The course covers dynamic memory management, measuring complexity, complexity of algorithm, big oh
notation; Simple algorithm; Sorting and searching; Data structures and applications: Linked lists, queues,
stacks, trees, and graphs; more powerful sorting and searching algorithm; other algorithms and techniques.

Course Objectives
Up on completion of this course the students will be able to:
Understand the design and analysis of efficient algorithms;
Determine when and how to use various data structures including lists, queues, stacks, binary trees,
search trees, search trees and graphs;
Apply data structure and algorithms that are frequently used in information processing.

Course Contents:
Chapter 1. Introduction
1.1 Programming Strategies
1.2 Data Structures & Algorithms
Chapter 2. Algorithm Analysis Concepts
2.1 Measuring Complexity,
2.2 Complexity of Algorithm,
2.3 Big Oh Notation.
Chapter 3. Time Complexity of Known Algorithms
Chapter 4. Simple Sorting and Searching Algorithms
4.1 Bubble Sort,
4.2 Insertion Sort,
4.3 Sort,
4.4 Sequential Searching,
4.5 Binary Searching
Chapter 5. Data Structures and Applications
5.1 Abstract Data Types,
5.2 Structures,
5.3 Pointers, Arrays,
5.4 Linked Lists,
5.5 Stacks,
5.6 Queues,
5.7 Trees.
Chapter 6. Advanced Sorting and Searching Algorithms
6.1 Shell sort,
6.2 Quick Sort,
6.3 Heap sort,
6.4 Merge Sort,
6.5 Hashing
Method of Teaching
Lectures, Assignments, Class group discussions, projects works, and Laboratory demonstrations
Assessment:
Continuous assessment (quiz, Assignments, class works, class activity etc) 35%
Project 25%
Final exam 40%
Total 100%

Text: Weiss, Mark (1997). Data Structures and Algorithms Analysis in C: Benjamin Cummings Publishing.

Reference:
1. Ammeraal, Leendert (1988). Programs and Data Structures in C 2nd ed.) John Wiley and Sonsl
1. Reinglod, Edward M. and Wilfred J. Hansen (1983). Data Structures: CBS Publishers and Distributors.
2. Sahni, Sartaj (1999) Data Structure, Algorithms and Applications in C++ : McGraw-Hill
3. Horowiz, Ellis, Sartaj Sahni and Dinesh Mehta (1995). Fundamentals of Data Structures in C++:
Computer Science Press.