You are on page 1of 5

SUKKUR INSTITUTE OF BUSINESS ADMINISTRATION SUKKUR

Faculty of Infor mation Technology Data Str ucture & Algorithms (CS-222)
Programs & Class:BE-4 Credit Hours: Class Work: Lab Work:
Total:

3 1
4

Semester: Spring 2013 Instructor: Mr Muhammad Asif Ali +923337007123 Post-requisite Courses:

Pre-requisite Courses: 1. Introduction to Programming (CS-201) 2. Object Oriented Programming Evaluation 1. Sessionals Assignmetns Quizes Class Participation 5. Mid-Term Examinations 6. Final Examination
Recommended Books: 1 Data Structure And Algorithms In Java Reference Books: Data Structures and 1
Algorithms in C++

20 %

40 % 40 %

Robert Lafore

2nd edition

Michael T. Goodrich, Roberto Tamassia and David Mount

2nd Edtion 3rd Edition

Introduction Algorithms

to

Thomas H. Cormen, Leiserson, Rivest, and Stein (CLRS).

Detailed Course out line of Data Structures and Algorithms (Course Code)

Page 1 of 5

Course Objectives:
This course is an extension of the knowledge of algorithm design and programming gained in programming courses with continued emphasis on the logic underlying the transition from specification to program. Particular attention is paid to issues arising in the implementation of larger programs: introduction of data structures and data abstraction; Introduction of recursion as a design tool. Introduction of algorithm complexity analysis. Students will learn about well-known data structures as listed below in course outline. This course will enable students to: Understand the working of Abstract Data Types such as Lists, Queues etc. Understand and program Stack operations (Push, Pop, isEmpty) Understand and implement Queue Operations (Insert, Remove) using Linked Lists Describe binary Trees Understanding the working of slow sorting techniques such as Bubble sort, Insertion Sort, Selection Sort Understanding the working of recursion and fast sorting techniques such as Merge Sort, Heap Sort.

Expected Outcomes:
1. Implement these structures as classes in Java; 2. Determine which structures are appropriate in various situations; 3. Confidently learn new structures beyond what are presented in this class. 4. To develop an ability to make critical analysis of any problem and suggest the feasible algorithm if available or design algorithm from already studied in the course.

Lab Work Every week lab exercises related to topic covered in that week would be given. Students would be required to complete the lab work sheets and get that signed after due working and demonstration. Students Conduct: 1. I expect students to arrive on-time for the class. Classroom participation constitutes 4% of the grade in this class. You will be expected to have previously read the reading assignment before the class, and to be able to participate in classroom discussions. 2. Mobile phones and other communication devices must be in switched off or inactive during class hours. 3. Other policies would be conveyed to you in class from time to time. Remember that rules, regulation and policies of the institute will supersede in any case.

Detailed Course out line of Data Structure & Algorithms (CSC 222)

Page 2 of 5

Lecture Hours: Dependant on Time Table Lab Hours: Dependant on Time Table Office Hours: 2 hours right after the regular class sessions and by appointment on rest of other week days Office: Academic Block-1, Research Lab Cubicle 08

Detailed Course out line of Data Structure & Algorithms (CSC 222)

Page 3 of 5

Session wise Details:

Week No 1

Topics Introduction to Data Structures Need of Data Structures Arrays List Data Structure with help of arrays o Insert() o Remove() o Find() Array based Stack o Push() o Pop() o Peek() o Print_all() Array based Queue. Functions of Queue Priority Queue o Insert_Priority() Introduction to Sorting Sorting Techniques o Bubble Sort o Insertion Sort o Selection Sort Introduction to Algorithms Micro and Macro issues Asymptotic Notations Running Time Analysis o Best Case o Worst Case o Average Case Brute Force algorithm for finding 2D maxima Plane Sweep algorithm for finding 2D maxima Analysis of Plane Sweep algorithm Analysis of slow sorting techniques Linked Lists o Insertion in list o Deletion in list o Find in list Abstract Data Types o Queues (with functions) o Stacks (with functions) Recursion MergeSort Analysis of MergeSort o Worst Case running time analysis o Best Case running time analysis

Text Book Reference


Data Structure And Algorithms In Java Chapter 1,2

Data Structure And Algorithms In Java Chapter 4

Data Structure And Algorithms In Java Chapter 4 Data Structure And Algorithms In Java Chapter 3

8-9

Data Structure And Algorithms In Java Chapter 5

10

Data Structure And Algorithms In Java Chapter 6

Detailed Course out line of Data Structure & Algorithms (CSC 222)

Page 4 of 5

11 12

HeapSort o Worst Case running time analysis o Best Case running time analysis Optimization problems Introduction to Greedy Algorithms

Data Structure And Algorithms In Java Chapter 12

13

Money counting problem Huffman Encoding

Data Structure And Algorithms In Java Chapter 8

14

15

Binary Search Trees o Insert() o Find() o inOrder() o preorder() o postOrder() Binary Tree traversal o Revision

Data Structure And Algorithms In Java Chapter 8

Detailed Course out line of Data Structure & Algorithms (CSC 222)

Page 5 of 5

You might also like