You are on page 1of 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

Programme Bachelor of Computer Science

Course Title Data Structures and Algorithms

Course Code CSC 2101

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%
Instructor(s) Br. Mohammed M. Kadhum

Semester Offered All semester

Course Objectives The main objectives of this course are as follows:

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

Weeks Topics Reference

1 Introduction to Data Structures Chai and White: Ch.1:

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


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

3 General Lists Chai and White: Ch.3


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

10 – 11 Sorting Chai and White: Ch.9


Ch.7:Ref#2

12 Hashing Ch.7:Ref#1 & Ch.11:Ref#5

13 – 14 Trees, Binary Trees Chai and White: Ch.4


Ch.9:Ref#2

14 Graphs Chai and White: Ch.5


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


Structures and Program Design in C, 2nd Edition, Upper Saddle
River: Prentice Hall.

3- Deitel & Deitel, (2001), How to Program C, 3rd Edition, Upper


Saddle 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

Proposed Start Date 23/04/07

Batch of Students to be All Batches


Affected