Data Structure and Algorithm Course Policy
Item Description
Title Data Structure and Algorithm
Credits and no. of hours Total Theoretical Practical
4 credits 5 hour 2 hour
Offering year and semester Second Semester, 1404
Date of filling of the format 02/3/2025
In this course the students will learn:
Best knowledge of data structures and all it’s kinds.
Aim: Arrays with hierarchical structures
Arrays with different types of sorting methods
Simple and advanced sorting algorithms
Organizing various algorithms based on complexity,
memory, and speed.
Key learning outcomes of this course should be as follows:
• Students will be able to know the fundamentals of data
structure and algorithm.
• Students will understand all data structures and its
Key Learning Outcomes
usages.
• Students will know the concept of algorithm .
• Students will be able to implement data structures in
programming language.
Academic Staff Responsible Khalid Ahmad Ghiasi
1st Week:
Introduction
• Data, Information, Data Structures
• Operations on Data Structures
• Algorithms and Algorithms Notations
• Input and Output Statements, Selection Statements, and
Looping Statements Sub-Algorithms and Types
2nd Week:
Arrays
Syllabus • Introduction
• Representation of Linear Array in Memory
• Operations (Traversing, Inserting, Deleting) on Linear Arrays
• Searching and Sorting Arrays
• Two-Dimensional Arrays
• Representation of Two-Dimensional Array in Memory
• Algebraic Operations on Matrices
3rd Week:
Strings
• Introduction
• Representation of Strings in Memory
• Fixed Length Strings and Variable Length Strings
• Linked Strings
• String Operations
• Computing Length of Strings
• Copying Strings and String Connection
• Extracting Sub-String from String
• Pattern Matching
• Insertion, Deletion, and Replacement Operations
4th Week:
Stacks
• Introduction
• Representation of Stacks
• Stack Operations (Push and Pop)
• Recursion ۲ ۳ ۵127
• Conditions for Recursive Procedure
• Implementation of Recursive Procedure using Stacks
• Implementation of Stacks in a programming language
5th Week:
Queues
• Introduction
• Representation of Queues
• Procedure Q-insert
• Procedure Q-delete
• Deques
• Representation of Deque
• Implementation of Queue and Deque in a programming
language
6th Week:
Searching and Sorting
• Searching
• Sequential Search
• Binary Search
• Implementation of Searching in C++
• Sorting
• Bubble Sort
• Selection Sort
• Insertion Sort
• Merge Sort
• Quick Sort
• Implementation of Searching and Sorting in a programming
language
7th Week:
Linked Lists
• Introduction
• Pointer
• Single Linked List
• Representation of Single Linked List in Memory
• Operations (Traversing, Insertion, Deletion) of Single Linked
List
8th Week:
Midterm Exam(20%)
Linked Lists
• Double Linked List
• Representation of Double Linked List in Memory
• Operations (Traversing, Insertion, Deletion) of Double
Linked List
Implementation of Linked Lists in a Programming
Language •
9th Week:
Trees
• Introduction
• Binary Tree, Full Binary Tree, and Extended Binary Tree
• Complete Binary Tree and Binary Search Tree (BST)
• Constructing Binary Search Tree Representation of Binary
Tree inside Compute
10th Week:
Trees
• Operation (Insertion, Searching, Deletion) of Binary Tree
• Traversing (Pre-Order, In-Order, Post-Order) Operations
• Implementation of Trees in a Programming Language
11th Week:
Graphs
• Introduction
• Directed Graph, Undirected Graph, and Weighted Graph
• Degree (Out Degree, In Degree) of Node, Source, and Sink
Nodes
• Path and Length of Graph
• Loop Edge, Multiple Edge, Complete Graph, Cycle, and
Acycle
• Representation of Graph
12th Week:
Graphs
• Adjacency List, Adjacency Matrix, List vs. Matrices
• Traversing Graph
• Breadth- First Search (BFS)
• Depth-First Search (DFS)
13th Week:
Hashing
• Hashing Concepts
• Collision and Collision Resolution
• Hash Function
• Memory Representation
14th Week:
Hashing
• Chained Hashing
• Open Addressing
• Linear Probing
• Double Hashing
• Implementation of Hashing in a programming language
15th Week:
Time and Space Complexity in Data Structure
• Algorithms Analysis, Methods, and Types
• Algorithms Complexity
• Big-O Notation
• Space Complexity Analysis
• Time Complexity Analysis
16th Week:
Final Exam
Pre-requisite OOP programming.
None
Related Courses
SCL activities, Lectures, project, practical work and
Teaching and Learning methods assignments.
High Computer Knowledge
Computer Knowledge
Text Books:
1- Karumanchi, N. (2011). Data Structures and
Algorithms Made Easy in Java: Data Structure and
Course Materials and References
Algorithmic Puzzles. CreateSpace.
2- Tauqueer , M. (2014). Data Structure in C++.
Lahore: Aikman Book Corporation.
. 3- Goodrich, M. T., Tamassia, R., & Goldwasser, M. H.
(2014). Data structures and algorithms in Java. John
Wiley & Sons.
Assignments and Practical work (20%), Mid-term (20%) and Final
Evaluation Method(s)
Exam (60%).
Time Distribution: As per teaching and learning method, the
o Lectures 40% instructor is supposed to distribute and manage the time
25% according to the pace of coverage of the theory and the
o Tutorials/exercises
5% practice.
o Visual aids (Educational Videos)
5%
o Case study
25%
o Home study
Lecture Signature/date Department Approval Faculty Approval
Course Policies:
1. Time Policy: Teacher and students should attend lecture classes without distractions. The
classes start from 10:00 AM to 11:30 AM . They should try to come to the class within 10
minutes of starting time otherwise will be counted as absent.
Remember: Phone is not allowed during entire session in the class.
2. Assignments & Class-work Policy: Student should do work on the assignments each
time given, and they must hand over the assignments within the given time, late
assignments are not accepted. As well they should practically work on the project. All
assignments and practical work have 20% of the final marks
3. Scoring Policy: Scoring policy is as followings:
o 20% Assignment and practical work
o 20% Midterm
o 60% Final exam
Remember: Students must acquire 55 marks for passing otherwise will be considered fail.
4. Attendance Policy: Attending 75% of the class is to get the chance to final exam
otherwise will be counted as failure in the exam.
5. What should students do/ what should they want from the lecturer: Students in
their point of responsibilities should perform their activities on time, present classes
regularly, follow the regulations, participate in workshops, use library and Internet in
learning, and work collaboratively with faculty to achieve the goals and objectives of
the faculty.
Take benefit of the lecturer in learning issues, ask any kind of questions in the relevant
course, and share their suggestions and comments about the lectures, teaching
method and course assessment.
6. What should the lecturer do and what he wants from the students: The lecturer
should prepare reliable materials in lectures for better understanding of the students,
have a friendship environment with students to allow them ask any kind of questions
without any hesitation, attend classes on time, take students suggestions about their
views and understanding, and motivate them about the course/study materials.
The students must study, follow the lectures, attend lectures and manage the time,
do assignment, participate in practical classes, and follow the course/class policy
introduced in the course.
Thank you
Khalid Ahmad Ghiasi