1. Course Title and Code: Data Structures, ICS 202
Data Structures and Algorithms CS 210
2. Credit and Contact hours: 4(3,0,3)
3. Instructor’s Name: Dr Zeeshan Shafi Khan
4. Recommended Books: • Data Structures and Algorithms in Java, fifth edition, Michael T. Goodrich and Roberto Tamassia, John Wiley & Sons Inc., 2010.
· Data Structures and Algorithms with Object Oriented Design Patterns in Java, Bruno R. Preiss, Wiley, 2000.
· Data Structures, Algorithms, and Applications in Java, Sahni, McGraw Hill, 2000. Data Structures and Algorithm Analysis in Java, Weiss, Addison Wesley, 1999.
· A Practical Introduction to Data Structures and Algorithm Analysis (Java Edition), Shaffer, Prentice Hall, 1998.
5. Specific course information
a. brief description of the content of the course (catalog description)
Introduce the student to the concept of data structures through abstract data structures including lists, sorted lists, stacks, queues, deques, sets/maps, directed acyclic graphs, and graphs; and implementations including the use of linked lists, arrays, binary search trees, M-way search trees, hash tables, complete trees, and adjacency matrices and lists. Introduce the student to algorithms design including greedy, divide-and-conquer, random and backtracking algorithms and dynamic programming; and specific algorithms including, for example, resizing arrays, balancing search trees, shortest path, and spanning trees.
b. prerequisites or co-requisites: ICS 201
c. indicate whether a required, elective, or selected elective course in the program: Core
6. Specific goals for the course
a) Goals of this course are:
· To introduce students with different format of data storage
· To develop different solutions for same problem and then to identify the best one.
· To compare different format of data and to find out the most appropriate one.
b. Explicitly indicate which of the student outcomes listed in Criterion 3 or any other outcomes are addressed by the course:
Outcomes: b and e