You are on page 1of 4

UNIVERSITY OF GUJRAT

A AW WO OR RL LD DC CL LA AS SS SU UN NIIV VE ER RS SIIT TY Y

Department of Computer Science


COURSE DESCRIPTION
Course Code Course Title Credit Hours Category Prerequisite CS-203 Data Structures 4 Core Knowledge and Experience in Programming Fundamentals and Object Oriented Programming Expertise in design, implementation, testing, and strong debugging of object-oriented programs. Inner Classes and Exception Handling An apprentice carpenter may want only hammer and saw, but a master craftsman employs many precision tools. Computer programming likewise requires sophisticated tools to cope with complexity of real applications and only practice with these tools will build skill in their use. (Robert L. Kruse Data Structure and Program Design). This subject deals to make students convenient in building a memory and time efficient data structures for the implementation of large-scale (data intensive) computer systems. Along with many others following are fundamentals learning outcomes for students that are expected through this course Apply appropriate fundamental data structures and abstract data types (ADT) such as bags, lists, stacks, queues etc and heaps: min/max heap, min-max heap and some advance hierarchal data structures like B-Trees: 2-3 tree, 2-3-4 tree and hash tables, and graphs in problem solving. Apply object-oriented principles of polymorphism, inheritance, and generic programming when implementing data structures through their ADTs. Create alternative i.e. problem specific representations of ADTs either from implementation or the standard libraries for problem solving. Apply recursion as a problem solving technique. Determine appropriate ADTs and data structures for various sorting and searching algorithms. Determine time and space requirements of data structures, and common sorting and searching algorithms Topics: Introduction: Introduction to Course, Review of Object Oriented Programming Concepts. Algorithm Specification:
1

Amis and Objectives

Learning Outcomes

Course Outline /

Syllabus

Text Book

Reference Material

Introduction to ADTs: Array and Polynomial as an ADT, Sparse Matrices, and Representation of Arrays. Bag ADT, The Stack ADT, Expressions, Postfix Notation, and Infix to postfix conversion. Recursion: Recursive Definition and Processes, Writing Recursive Programs. Queue: The Queue ADT, Circular and Double Ended Queue. Linked List: Singly Linked Lists, Circular Lists, Linked Stacks and Queues (Double Ended List), Doubly Linked Lists. Trees: Introduction to Trees, Logical construction and Traversing of Binary Trees, Implementation of Binary Trees (Insertion and Traversing), Searching and deletion in Binary Trees, Binary Search Tree, Introduction to Balanced and AVL Trees. Heaps: Heaps and Heaps as Priority Queues, Double Ended Priority Queue. Searching: Linear Search, Binary Search, and Types of Indexing. Hashing: Hash Functions: Division; Overflow Handling: Chaining; Introduction to other advanced topics like:, B-Trees, etc Composite Data Structures: Multi-Stack, Multi-Queue, Generalized List, etc. Sorting types and Techniques: Logical and Algorithmic Implementation of Selection, Bubble, Insertion, Shell, Radix, Merge, Quick, Heap, and Tree sorts. Graphs: Graph terminology, Adjacency List and Adjacency Matrix and Adjacency list representation of Graph; Elementary Graph Operations: Breadth First Search and Depth First Search, Spanning Trees (BFSST, DFSST). Written material will be provided. D. Samanta. Classic Data Structures, Prentice Hall, 2001 Reference from different books enlisted in reference material will be given as required. Mark Allen Weiss, Data Structure and Algorithms in C++, Benjamin/Cumming Adam Drozdek Data Structure and Algorithm in Java ISBN 0-534-37668-1 Ellis Horowitz, Sartaj Sahni, and D. Mehta Fundamentals of Data Structures in C++, 2nd Ed., Computer Science Press, 1995. ISBN 81-7808-792-8 Tenenbaum, M. Augenstein, and Y. Langsam, Data Structures using C and C++ 2nd Ed., Prentice Hall, 1999 ISBN 0-13-529322-7 http://www.nist.gov/dads (Dictionary of Algorithms and Data Structures)

Assessment Criteria

Week

Lecture

Topic

Recommendations for Learning Activities Source (Mention Assignments, (Book-Chapter No. Test, Quizzes, Section No.) Practical, Case Study, Projects, Lab Work or Reading Assignments)

1 2 3 4 5 6 7 8

2 3

9 10 11 12 13 14 15

16

Introduction to Course, Review of Object Oriented Programming Concepts Data Structures, Abstract Data Type, Data Structure in SDLC Revision of arrays Polynomial as ADT Stack The Stack ADT, Expressions, Postfix & Prefix Notation Infix to postfix and prefix conversion Postfix and prefix evaluation Queue (array implementation) Variation of Queue ADT i.e. Circular and Double Ended Queue. Applications of Queues. Recursive Definition and Processes, Direct and Indirect Recursion, Binary Search and Towers of Hanoi as example Writing Recursive Programs, conversion of recursive algorithms into iterative algorithms Linear Single Link List, and Linked Stacks and Queues Containers and Iterators, Linear Linked list Iterator Linear Doubly Link List, Circular Lists: Singly and Doubly and Its Iterator Array-based implementation of all List-based Data Structures Overview of Composite Data Structures: Multi-Stack, Multi-Queue, Generalized List, etc. Introduction to Trees, Tree Terminology, Logical construction and Representation of Trees, Introduction to Binary Tree ADT, Mathematical properties Array Implementation of Binary Trees (Insertion and Traversing)
3

Assignment # 1

Quiz # 1 Assignment # 2

9 10 11 12 13 14 15 16

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Link Implementation of Binary Trees Binary Search Tree Heaps (MinHeap and MaxHeap) and heaps as an priority queues Min-Max Heap AVL trees and insertion Deletion Operation in AVL tress Introduction to graph and related terminology Elementary Graph Operations Minimum cost spanning trees Balanced search trees theoretical Comprehension of insertion/deletion 2-3 Tree Deletion 2-3-4 Tree Insertion/Deletion B-Trees Insertion/deletion Hashing and Overflow Handling Introduction to sorting types and Techniques Review of course

Quiz # 2 Term Prject

Quiz # 3

You might also like