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

Ghulam Ishaq Khan Institute of Engineering Sciences and Technology

Faculty of Computer Science and Engineering

Course Outline BS/MS Programs


Dr. Zahid Halim(zahid.halim@giki.edu.pk) - G06

Course Instructor

Semester

Fall

Section(s)

Year
CS 221 : Data Structures & Algorithms

Course Title
Pre-Requisite/Co-Requisite

Spring

Summer

2014

Credit Hrs. 3+1

CS112: Programming Techniques

BS CS

Program

Course T.A.(s)
Name

Engr. Usman Raza

Text Book(s)
Title of Book
Author(s)

Introduction to Algorithms

Title of Book
Author(s)

Data Structures and Algorithms


A. V. Aho, J. E. Hopcroft, J. D. Ullman

[Code : B]

Title of Book
Author(s)

Data Structures Using C and C++

[Code : A]

Title of Book
Author(s)

Data Structures and Algorithm Analysis in C

[Code : C]

Publisher

Thomas H. Cormen et al

Publisher

Prentice-Hall

Addison-Wesley

Reference Book
Y. Langsam, M. J. Augenstein, A. M. Tenenbaum

Mark Allen Weiss

Publisher

Prentice-Hall

Publisher

Addison-Wesley

[Code: D]

Course Objectives and CLOs


Data Structures are core to any "Engineering Sciences" degree and are related to efficient storage of information in memory. In this course
we will cover elementry data structrues and associated algorithms which manipulate them. We will study lists, stacks, queues, arrays, trees,
graphs, sorting and searching. After successful completion of this course students should be able to:
1. Describe the usage of various data structures
2. Explain the operations for maintaining common data structures
3. Recognize the associated algorithms operations and complexity
4. Develop computer programs to implement different data structures and related algorithms
5. Think critically
6. Solve problems independently

Marks Distribution
Assignments
Quizzes
Projects (1)
Midterm
Final
Total

15
10
15
20
40
100

Course Contents:
Week
Lec#
1

1
2
3
4
5

%
%
%
%
%

Topic
Introduction
Complexity Analysis
Complexity Analysis
Complexity Analysis
Abstract Data Types

Number of Quizzes& Assignments


Quizzes
8
Assignments
8
<5

>5&<10

>10

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

10

11

12

13

14

28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

Arrays
Lists, Linked List implentation using arrays and pointers
Elementry Data Structures: Stack and Queues
Elementry Data Structures: Stack and Queues
Elementry Data Structures: Stack and Queues
Recursion
Time Complexity of Recursive Algorithms
Time Complexity of Recursive Algorithms
Trees: Tree Data Structure Definition and Basic terminologies
Trees: Tree Traversal, Expression trees
Trees: Binary Search Trees
Trees: AVL Trees
Trees: AVL Trees
Trees: Huffman Coding
Trees: Red Black Trees
Trees: Threaded Trees
Trees: Tries Data Structure
Trees: B-Trees
Trees: B-Trees
Set Structures
Large Polynomials and Sparse Matrices
Searching Techniques: Linear Search, Binary Search, Interpolation Search and Indeded
Sequential Search
Hashing
Hashing
Heaps: Heap Data Structure, Max and Min Heaps
Heaps: Binary and Fibanocci Heaps
Heaps: Priority Queues and Heap Sort
Sorting Techniques: Bubbler Sort, Selection Sort, Insertion Sort
Sorting Techniques: Merge Sort, Quick Sort
Sorting Techniques: Linear Time Sorting Techniques
Graphs: Basic Terminologies and Storing Graphs
Graphs: Breadth First and Depth First search traversals
Graphs: Minimum Spanning Trees (Prim's and Kruskal's Algorithm)
Graphs: Shortest Path Algorithms
Graphs: Shortest Path Algorithms
Graphs: Topoplogical Ordering
Network Flow Problems
Network Flow Problems

15

*Notes:
1) Course contents and their order may be slightly modified during the course execution.
2) No make up for missed quizzes or assignments/homeworks
3) Deadline for homeworks and projects are always final.
4) Quizes may be announced or un-announced
5) Serious action will be taken for any kind of cheating which may lead to course failure