Data Structures Outline

Embed Size (px)

Citation preview

  • 7/28/2019 Data Structures Outline

    1/5

    Detailed Course out line ofData Structures and Algorithms(Course Code) Page1of5

    SUKKUR INSTITUTE OFBUSINESSADMINISTRATIONSUKKUR

    FFaaccuullttyyooffIInnffoorrmmaattiioonnTTeecchhnnoollooggyy

    DDaattaaSSttrruuccttuurree&& AAllggoorriitthhmmss((CCSS--222222))

    Programs & Clas :BE- Semeste :Spring 201Credit Hours: Class Work:

    Lab Work: 1Total: 4

    Instructo : Mr Muham ad Asif Ali+923337007123

    Pr -requisite Courses:1. Introduction to Programming (CS-201)2. Object Oriented Programming

    Pos-requisite Courses:

    Evaluation

    1. Sessional Assignmetns

    Quizes

    Class Participation

    2

    5. Mid-Term E amination 40. Final Examinatio 40

    Recommended Books:

    Data Structure AndAlgorithms In Java

    Robert Lafor ndedition

    Reference Books:

    1 Data Structures andAlgorithms in C++

    Michael T. Goodrich, RobertoTamassia and David Mount

    ndEdtion

    Introduction toAlgorithms

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

    rdEdition

  • 7/28/2019 Data Structures Outline

    2/5

    Detailed Course out line ofData Structure & Algorithms (CSC 222) Page2of5

    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 algorithmcomplexity 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. Implementthese structures as classes in Java;

    2. Determinewhich structures are appropriate in various situations;3. Confidentlylearn 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.

  • 7/28/2019 Data Structures Outline

    3/5

    Detailed Course out line ofData Structure & Algorithms (CSC 222) Page3of5

    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 LabCubicle 08

  • 7/28/2019 Data Structures Outline

    4/5

    Detailed Course out line ofData Structure & Algorithms (CSC 222) Page4of5

    Sessionwise Details:

    WeekNo

    Topic Text Book Referenc

    Introduction to Data Structures

    Need of Data Structures

    Arrays

    List Data Structure with help of arrayso Insert()o Remove()o Find()

    Data Structure And Algorithms InJava

    Chapter 1,2

    2 Array based Stacko Push()o Pop()o Peek()o Print_all()

    Array based Queue.

    Data Structure And Algorithms InJava

    Chapter 4

    3 Functions of Queue

    Priority Queueo Insert_Priority()

    Introduction to Sorting

    Data Structure And Algorithms InJava

    Chapter 4

    Sorting Techniqueso Bubble Sorto Insertion Sorto Selection Sort

    Data Structure And Algorithms InJava

    Chapter 3

    5 Introduction to Algorithms

    Micro and Macro issues

    Asymptotic Notations

    Running Time Analysiso Best Caseo Worst Caseo Average Case

    7 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 listo Deletion in listo Find in list

    Abstract Data Typeso Queues (with functions)o Stacks (with functions)

    Data Structure And Algorithms InJava

    Chapter 5

    1 Recursion

    MergeSort

    Analysis of MergeSorto Worst Case running time analysiso Best Case running time analysis

    Data Structure And Algorithms InJava

    Chapter 6

  • 7/28/2019 Data Structures Outline

    5/5

    Detailed Course out line ofData Structure & Algorithms (CSC 222) Page5of5

    11 HeapSort

    o Worst Case running time analysiso Best Case running time analysis

    Data Structure And Algorithms InJava

    Chapter 12

    12 Optimization problems

    Introduction to Greedy Algorithms

    13

    Money counting problem Huffman Encoding

    Data Structure And Algorithms InJava

    Chapter 8

    1 Binary Search Treeso Insert()o Find()o inOrder()o preorder()o postOrder()

    Binary Tree traversal

    Data Structure And Algorithms InJava

    Chapter 8

    15o

    Revisio