Sei sulla pagina 1di 3

Government Post Graduate College Chakwal

Department Information Technology

University of Gujrat
Course Code: IT-204
Course Title: Data Structures and Algorithms
Credit Hours: 3
Lecture Duration: 1.5 hours
Pre-requisite: Object Oriented Programming
Text Books: 1. D. S. Malik, “Data structures using C++”.
Reference Books: 1. D. Samanta. “Classic Data Structures”, Prentice Hall, 2001
2. Tenenbaum, M. Augenstein, and Y. Langsam, “Data Structures using C and
C++” 2nd Ed., Prentice Hall, 1999 ISBN 0-13-529322-7
3. Hanly Koffman – Problem Solving & Program Design in C – Addison Wesley
3rd addition.

Instructor: Mr. Muhammmad Imran Faizi

Course Introduction &


Description:
 This course of 3rd Semester from computing domain include recursion, the underlying
philosophy of object-oriented programming and Abstract Data Type (ADT), fundamental data
structures (including stacks, queues, linked lists, hash tables, trees, and graphs), the basics of
algorithmic analysis along with classical searching and sorting algorithms.

Course  Provide understanding on the concepts of abstract data types and its implementations.
Objectives:  Deliver various types of data structures such as linked list, tree, stack and queue and their
related basic operations.
 Provide understanding on how these structures can be applied in problem solving.
 Introduce the common and frequent-use basic algorithms i.e. sorting and searching and the
performance comparisons.

Course Upon completing this course, students should be able to:


Outcomes:
 Explain the concept of dynamic variables, user-defined libraries, modular programming,
abstract data type and their advantages.
 Describe the concepts of general list, stack, queue, tree, and graph as Abstract Data Types.
 Implement general list, stack, queue, tree, graph data structures and their basic operations.
 Describe various techniques of sorting and searching.
 Implement sorting and searching algorithms and observe the performance difference.
 Select the appropriate data structure and algorithm for in problem solving.

Class Policies:
 Attendance for lectures is compulsory. Attendance for less than 75% of the lectures will result
in students being barred from taking the Final Exam.
 If you are absent from the lecture due to: Sickness – Medical Certificate is required, in case of
emergency – letter of guardian is required.
 There will be no makeup quiz.
 Make-up for Mid Term will only be given to those with STRONG VALID reason by the prior
approval of the Head of department.
 Cheating and Plagiarism will not be tolerated and will be penalized accordingly.
 There will be 5-7 assignments besides on class exercises. Assignments need to be submitted
before the deadline. If you have questions or doubts contact us in our offices during visiting
hours or use our email address.
Course Outline:

pg. 1
Week Topics description

01 Course Introduction:
 Course Policies/Overview/Course Contents/Course Objectives
 Introduction to data structures and types
02 List as Simple Data Structure
 Simple List as Array
 Operation on list
 Traversing, Searching, Inserting and Deleting data element
03 Linked List:
 Concept of pointer and linked list
 Static and dynamic variables
 Types of Linked list
 Implementation of linked list using pointer
04 Operations on Linked List:
 Traversing and Searching data element
 Inserting and Deleting data element
 Doubly link list
 Implement a doubly-linked list.
05 Stack:
 Introduction to stack, definitions.
 Abstract data types of stack and their implementations.
 Applications of stack.
 Evaluating an expression in postfix form, Converting infix expression to postfix
06 Operations on Stack:
 Stack operation
 Implementation of stack using array.
 Implementation of stack using linked list.
 Applications of stack.
07 Queues:
 Introduction to queue, definitions.
 Physical model, linear implementation, circular queue.
 Abstract data types of queue and their implementations.
 Applications of queue.
08 Operations on Queue:
 Insertion and deletion
 Traversing and searching
 Applications of queue structure.

09 Mid Term Week

10 Tree:
 Introduction to tree: definitions.
 Tree size, level and depth in tree.
 Binary tree.
 Implementation of binary tree.

pg. 2
11 Operations on Tree:
 Expression tree (Pre-order, In-order and Post-order)
 Binary Search Tree
 AVL Tree
12 Heaps:
 Introduction
 Max Heap
 Min Heap
 Min-Max Heap
13 Graphs:
 Definition of graph
 Graph traversals
 Shortest path (greedy algorithm)
 Graphs as data structures
14 Recursive Algorithms:
 Base and general case
 Applications such as recursive evaluation of the binomial coefficient and recursive
traversal of a linked list
 Comparison of recursive and iterative algorithms
15 Searching and Sorting Algorithms:
 Algorithms for sorting
 Insertion sort, bubble sort, merge sort, quick sort, heap sort.
 Sequential search: searching an ordered table, index sequential search.
 Compare different sorting and searching algorithms.
16 Hash Table and Time efficiency of algorithms:
 Hashing algorithms
 Big-O notation and time-behavior
 Simple examples
Final Examination

Grading Policy:

1 Assignments 10%
Assignm
2 Quizzes 5% entsQuizzes
Presenta
3 Presentations 10% Final
tion
3 Mid term 25% Exam Mid
Term
4 Final Exam 50%

Important notes:
4-5 numbers of quizzes will take place in the class to measure the learning progress of the students. These
quizzes will be announced or unannounced.
Plagiarism Policy:
During this course a strict no tolerance plagiarism policy will be adopted. While collaboration in this course is
highly encouraged, you must ensure that you do claim other people’s work/idea as your own. Plagiarism
occurs when the words, ideas, assertion, theories, figures, images, programming code of others is
presented as your own work. Failing to comply with plagiarism policy will lead to strict penalties including
zero marks in assignments.
_______________________________________________________________________________________

pg. 3

Potrebbero piacerti anche