Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
71 views

SECP2043 Data Structures and Algorithms

The document describes a course on data structures and algorithms. It includes information on course objectives, topics covered, textbooks, and assessment instruments. Key topics include arrays, linked lists, stacks, queues, and analyzing time and space complexity.

Uploaded by

Afifa Hameed
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views

SECP2043 Data Structures and Algorithms

The document describes a course on data structures and algorithms. It includes information on course objectives, topics covered, textbooks, and assessment instruments. Key topics include arrays, linked lists, stacks, queues, and analyzing time and space complexity.

Uploaded by

Afifa Hameed
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 4

University of Central Punjab

Faculty of Information Technology

BSSE
PROGRAM (S) TO BE
EVALUATED
A. Course Description
Course Code CSCP2043
Course Title Data Structures and Algorithms
Credit Hours 3+1
Prerequisites Students are expected to have the following background:
 Reasonable programming skills with proven track in ITC, PF and OOP courses.
Assessment
Instruments with Theory
Weights (homework,
Sr.No. Assessment Type %age Count
quizzes, midterms, final,
programming 1 Quiz 10 4
assignments, lab work, 2 Assignments 15 4
etc.) 3 Class Participation 10 Instructor’s Choice
4 Midterm 20 1
5 Final Term 45 1

Lab
Sr.No. Assessment Type %age Count
1 Class Participation 5 Instructor’s Choice
2 Graded Labs 20 4
3 Project 10 1
4 Midterm 20 1
5 Final Term 45 1
Course Instructor
Course Coordinator Dr. Muhammad Adnan Aziz
Office Hours
Plagiarism Policy All the parties involved in first cheating case will be awarded Zero for that
evaluation. Afterwards, if any cheating made by any person of the class, will get
F in course for all the accused parties.
Course Tools DSA RoadMap: https://bit.ly/3dyWMmH
Data Structures Visualization: https://bit.ly/3w6ftEq
VisualGo for Graphs Visualization: https://bit.ly/3dxSonX
Sorting Algorithms Visualization: https://bit.ly/3T5yXTV
Course Description This course familiarizes students with concepts of creating, storing, retrieving, ordering,
and manipulation of data structures and the basics of analysis of algorithms. The students
will learn formal specification of data structures in depth. These goals will be

1 NCEAC.FORM.001.C
accomplished by
 Introducing the students to basic data structures and their associated algorithms
 Introducing the theory of complexity and develop the skills to analyze time and
space requirements for a data structure and its associated algorithms
 Implementing data structures in C++
 By determining, which data structures are appropriate in various situations
Course Objectives On completion of this module, students should be able to:
a. Understand the properties of various data structures.
b. Identify the strengths and weaknesses of different data structures.
c. Design and employ appropriate data structures for solving computing problems
d. Possess the knowledge of various existing algorithms.

e. Analyze and compare the efficiency of algorithms.


Textbook Text Book (Any of the following):
B1: D. S. Malik, Data Structures Using C++, Cengage Learning (Main Book)
B2: Nell Dale, C++ plus Data Structures, Jones & Bartlet Learning
B3: Y. Langsam, M. J. Augenstein, A. M. Tenenbaum, Data Structures Using C and C+
+, Prentice-Hall
B4: Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, Second/Third
Edition, Edition, Addison Wesley.
Reference Material Reference:
 V. Aho, J. E. Hopcroft, J. D. Ullman, Data Structures and Algorithms, Addison-
Wesley.
 Thomas H. Cormen et al, Introduction to Algorithms, Prentice-Hall
 Adam Drozdek, Data Structures and Algorithms in C++, Broooks/Cole
Web References:
 http://courses.cs.vt.edu/csonline/DataStructures/Lessons/
 http://www.cs.rutgers.edu/%7Ekaplan/503/
 http://www.cplusplus.com/doc/tutorial/
 http://www.cs.colorado.edu/~main/supplements/lectures.html
 http://www.engr.mun.ca/~theo/Courses/ds/CPP-REV.HTM
Topics Covered in the Attached
Course, with Number
of Lectures on Each
Topic (assume 15-week
instruction and one-hour
lectures)
Programming 4-5 Assignments
Assignments Done in 1 Term Project
the Course
Class Time Spent on (in Theory Problem Solution Design Social and Ethical
credit hours) Analysis Issues
2 ½ ½ 0
Oral and Written
Communications

2 NCEAC.FORM.001.C
CLO CLO STATEMENT Level PLO
1 Describe the characteristics and use cases of various data structures. C2 2
2 Examine the time and space complexity of different data structures and C4 3
algorithms.
3 Implement a range of data structures and algorithms. C3 4
Lab
1 Demonstrate proficiency in implementing a variety of data structures and C3 4
algorithms in C++ to solve complex computational problems.

Book Evaluation
Week # Lecture # Topics Covered
Reference Instrument Used
Lec#1: Introduction to the Course (Course Outline and
RoadMap)
1
Lec#2: Real Applications of Data Structures
B1: Chapter 1
Time and Space Complexity Introduction
Lec#3: Time and Space Complexity Analysis
B1: Chapter 1
How to calculate time complexity of given algorithm
2
Lec#4:
Abstract Data Types, Template Classes B1: Chapter 2
Lec#5:
Introduction to Arrays as an ADT B1: Chapter 3
3
Lec#6:
List ADT B1: Chapter 5 Assignment 1

Lec#7: Linked Lists : Singly linked lists


B1: Chapter 5
Code + Analysis and its applications
4
Lec#8: Doubly linked lists
B1: Chapter 5
Code + Analysis and its applications
Circular lists
Lec#9:
Code + Analysis and its applications B1: Chapter 5 Quiz 1
5 Discuss Joseph Problem
Lec#10:
Skip Lists
Lec#11: Recursion: what, why and where we use recursions,
how to implement-two parts of a recursive function.
B1: Chapter 6 Assignment 2

6 Recursion (Continue): Factorial, Fibonacci, reverse a


Lec#12: number and its logic and memory model and stack
trace.
B1: Chapter 6 Quiz 2
Back track Link lists using recursion
Introduction to Stack ADT
Lec#13:
Applications of Stack e.g., Polish notations, B1: Chapter 7
7 Arithmetic Expression evaluation
Lec#14: Queues ADT – circular and non-circular
B1: Chapter 7
implementation
Lec#15:
Revision
8
Lec#16:
Revision
MID TERM WEEK
9 Lec#17:  Trees: Tree Data Structure Definition and Basic
B1: Chapter 11
terminologies and its types
Lec#18:  Binary Tree and types B1: Chapter 11

3 NCEAC.FORM.001.C
o Full/ proper/ strict Binary tree
o Complete Binary tree
o Perfect Binary tree
o Degenerate Binary tree
o Balanced Binary tree
Lec#19:  Tree Traversal, Expression trees
B1: Chapter 11
 InOrder, PreOrder, PostOrder Traversals
10
Lec#20:
 Binary Search Trees | Insertion, Searching B1: Chapter 11 Quiz 3

Lec#21:
 Binary Search Trees | Deletion and Sorting B1: Chapter 11 Assignment 3

 Balance factor of tree B1: Chapter 11


11  Skewed binary tree
Lec#22:
o Left skewed binary tree
o Right skewed binary tree
 Time complexity analysis
 Self-balanced binary search trees B1: Chapter 11
Lec#23:  AVL
Quiz 4
 How to calculate balance factor
12  Introduction to rotations
 AVL Insertion B1: Chapter 11
Lec#24:
o Iterative implementation
o Recursive implementation
Lec#25: B1: Chapter 11
 AVL deletion and updating record Quiz 5
 HashTable/HashMap
13
Lec#26:  Key-value pair
B1: Chapter 9 Assignment 4
 Hash function
 Collision and Chaining
Lec#27:
 Heaps: Heap Data Structure, Max and Min Heaps B1: Chapter 10
14
Lec#28:  Priority Queues and Heap Sort
B1: Chapter 10
 Huffman Encoding/Decoding
Lec#29:  Graphs: Definition and its types and examples
B1: Chapter 12
Storage Mechanism
15
Lec#30:  MST (Minimum Spanning Tree)
B1: Chapter 12
o Dijkstra Alghorithm
Lec#31: Review
16
Lec#32: Review
FINAL TERM WEEK

4 NCEAC.FORM.001.C

You might also like