Departmental of Electrical Engineering
School of Engineering and Technology
Imperial College of Business Studies
CS203 Data Structures & Algorithms
Section A:
Lecture Mon, Tue(10:30-12:00)
Section B: Semester Spring 2015
Schedule
Tue (3:00-4:30), Fri(12:00-01:30)
Introduction to Computer
Pre-requisite Credit Hours 3
Programming
Instructor(s) Engr. Javed Iqbal Contact Javed.edu15@gmail.com
Data structures are the building blocks of computer software. This course is designed to teach students
some of the basic data structures, abstract data types (ADTs), and algorithms. Students will learn the
fundamental techniques of data representation, organization, storage, searching, sorting, retrieval, and
Course manipulation. Students will also be introduced to the notions of time and space complexities and practical
Description performance evaluation of algorithms and data structures. So that the students can appreciate the time
and space tradeoffs, the basic concepts, implementations, performance, and applications of the various
data structures and algorithms will be integrated throughout the course. Students shall gain hands-on
experience through several programming exercises. Programming language: C and C++
Students at the end of the course should be able to demonstrate
Good analytical skills and systematic program solving capabilities
Expected
Inquisitive mind to undertake research for solving engineering problems
Outcomes
Scientific skills to manage the human and technological resources optimally
Effective decision making skills
Recommended Text:
M. A. Weiss. Data Structures and Algorithm Analysis in C++. Pearson Education, second edition, 2008.
Reference:
Scaum’s Outline of Data Structure
Textbook(s)
Any good C programming book such as Kernighan and Ritchie’s The C
Programming Language, Deitel and Deitel’s C How to Program or Herbert
Schildt’s C The Complete Reference will be helpful for the programming
assignments.
Homeworks : 10% (50% Submission, 50% in class quiz from Homework questions (5
to 6))
Quizzes : 10% (All Announced) All quizzes will be announced. Quizzes will be 10-15
Grading minutes. Quizzes could be open book or closed book. All are advised to bring their
Policy text books along.
Midterm : 30%
60-70 minute exam. All topics covered before the midterm exam will be included.
Final : 50% (120-150 minute exam. Will be comprehensive.)
Tentative Lecture Plan
Week Topics Readings
1-2 Introduction
Data types and abstract data types (ADTs)
Chapter 1, Chapter 2
Introduction to recursion
3-6 Lists Chapter 2
Stacks Chapter 3
7-8 Queues
Trees
Chapter 4
Binary search trees (BSTs)
Height-balanced BSTs
9 Midterm
10 AVL trees
AVL tree continued Chapter 4
11-12 Hashing: open hashing
Hashing (continued): closed hashing, rehashing,
Chapter 5, Chapter 6
extendible hashing
Priority Queue (Heaps)
13-14 Internal Sorting
Bubble sort, insertion sort, selection sort, Merge
Chapter 7
sort
Heap sort, Quick sort
15 Graphs: preliminaries and representations
Topological sorting
Chapter 9
Shortest-path algorithms
16 Revision
17 Final Exam