dsa csc 2101 course outlines

5
Department of Computer Science Kulliyyah of Information & Communication Technology International Islamic University Malaysia COURSE OUTLINE CSC 2101: Data Structures and Algorithms Kulliyyah Kulliyah of Information and Communication Technology Department Department of Computer Science Programme Bachelor of Computer Science Course Title Data Structures and Algorithms Course Code CSC 2101 Status Core Level 2 Credit Hours Contact Hours 3 3 Pre-requisites CSC 1101 Structured Programming Language CSC 1401 Introduction to Computer Organization Teaching Methodology Lecture Class discussion Hands-on Laboratory Sessions

Upload: md-rubaiyat-bhuiyan

Post on 15-Jun-2015

53 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DSA CSC 2101 Course Outlines

Department of Computer Science Kulliyyah of Information & Communication Technology

International Islamic University Malaysia

COURSE OUTLINE CSC 2101: Data Structures and Algorithms

KulliyyahKulliyah of Information and Communication Technology

DepartmentDepartment of Computer Science

Programme Bachelor of Computer Science

Course Title Data Structures and Algorithms

Course Code CSC 2101

Status Core

Level 2

Credit Hours

Contact Hours

3

3

Pre-requisites CSC 1101 Structured Programming LanguageCSC 1401 Introduction to Computer Organization

Teaching Methodology LectureClass discussionHands-on Laboratory Sessions

Method of Evaluation Assignment(s)Quiz(s)Group ProjectMid Term ExamFinal ExamTotal

: 10%: 10%: 10%: 20%: 50%: 100%

Instructor(s) Br. Mohammed M. Kadhum

Page 2: DSA CSC 2101 Course Outlines

Semester Offered All semester

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

1. To understand the implementation of effective programs with ac-ceptable 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 structures2. 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

Page 3: DSA CSC 2101 Course Outlines

Weeks Topics Reference

1

2

3

4 – 6

7

7 – 9

10 – 11

12

13 – 14

14 15

Introduction to Data Structures

C revision

General Lists

Queues and Linked Lists

Stacks and Recursion

Searching

Sorting

Hashing

Trees, Binary Trees

Graphs

Algorithm Analysis

Chai and White: Ch.1:

Chai and White: Ch.1&2Ref# 3 & Ref#2:Appendix Chttp://computer.howstuffworks.com/c.htm

Chai and White: Ch.3Ch.4&5:Ref#2

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

Chai and White: Ch.6Ch.3:Ref#2 & Ch.12:Ref#3

Chai and White: Ch.8Ch.6:Ref#2 & Ch.7:Ref#1

Chai and White: Ch.9 Ch.7:Ref#2

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

Chai and White: Ch.4Ch.9:Ref#2

Chai and White: Ch.5Ch.11:Ref#2

Chai and White: Ch.7

Page 4: DSA CSC 2101 Course Outlines

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 Affected

All Batches