Вы находитесь на странице: 1из 4

# Department of Computer Science

## Kulliyyah of Information & Communication Technology

International Islamic University Malaysia

COURSE OUTLINE
CSC 2101: Data Structures and Algorithms

Kulliyyah Department
Kulliyah of Information and Department of Computer Science
Communication Technology

Status Core

Level 2

Credit Hours 3

Contact Hours 3

## Pre-requisites CSC 1101 Structured Programming Language

CSC 1401 Introduction to Computer Organization

## Teaching Methodology Lecture

Class discussion
Hands-on Laboratory Sessions

## Method of Evaluation Assignment(s) : 10%

Quiz(s) : 10%
Group Project : 10%
Mid Term Exam : 20%
Final Exam : 50%
Total : 100%

## 1. To understand the implementation of effective programs with

acceptable time and space requirements.
2. To understand practical and complex problem solving relevant to
data structures and algorithms.

Course Synopsis This course describes data structures, methods of organizing large
amounts of data, and algorithm analysis, the estimation of the
running time of algorithms. As computers become faster and faster,
the need for programs that can handle large amounts of input
becomes more acute. By analyzing an algorithm before it is actually
coded, students can decide if a particular solution will be feasible. For
examples, in this course students look at specific problems and see
how careful implementations can reduce the time constraint for large
amounts of data from 16 years to less than a second. Therefore, no
algorithm or data structure is presented without an explanation of its
running time. The goal of this course is to teach students good
programming and algorithm analysis skills simultaneously so that
they can develop such programs with the maximum amount of
efficiency. Students should have some knowledge of intermediate
programming, including such topics as pointers and recursion, and
some background of discrete math.

Learning Outcomes After completing this course, students would be able to:

## 1. Apply basic data structures

2. Analyze application requirements and to match these
requirements to most efficient data structures and algorithms
based on space and time complexities.
3. Design and construct programs using the most efficient data
structures and algorithms.
4. Evaluate the choice of data structure and design of an algorithm
that can impact the performance of programs.
5. Demonstrate the use of searching and sorting algorithms that can
be applied to data structures.
Course Outlines

## 2 C revision Chai and White: Ch.1&2

Ref# 3 & Ref#2:Appendix C
http://computer.howstuffworks
.com/c.htm

Ch.4&5:Ref#2

## 4–6 Queues and Linked Lists Ch.4&5:Ref#2 &

Ch.2:Ref#5 & Ch.12:Ref#3

## 7 Stacks and Recursion Chai and White: Ch.6

Ch.3:Ref#2 & Ch.12:Ref#3

## 7–9 Searching Chai and White: Ch.8

Ch.6:Ref#2 & Ch.7:Ref#1

Ch.7:Ref#2

Ch.9:Ref#2

Ch.11:Ref#2

## 15 Algorithm Analysis Chai and White: Ch.7

References Required :
Ian Chai & Jonathon White, Structuring Data & Building
Algorithms, 2006, McGraw-Hill Education (Asia) ISBN 007-
124955-9

Recommended :

## 2- Robert Kruse, Tondo, C. L. and Bruce Leung, (1997), Data

River: Prentice Hall.

## 4- Mark Allen Weiss, (1997), Data Structures and Algorithm

Analysis in C, 2nd Edition, New York: Addison Wesley.

## 5- Standish, Thomas A., (1995), Data Structures, Algorithms and

Software Principles in C, New York: Addison Wesley.
6- Yedidyah Langsam, Moshe J. Augenstein, Aaron M.
Tenenbaum , Data Structures Using C and C++ , 1996, Prentice
Hall

Affected