SECP2043 Data Structures and Algorithms
SECP2043 Data Structures and Algorithms
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.
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
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
4 NCEAC.FORM.001.C