Data Structures and Algorithms Handbook
Data Structures and Algorithms Handbook
COURSE HANDBOOK
This module will introduce students to the fundamental concepts of Data structures, and they
will study how to write efficient algorithms. Students will learn theoretical concepts about
different data structures, and the application of data structures to solve different problems. The
theoretical background will let students to implement those concepts in the lab keeping in mind
the real-world problems.
11 Learning Objectives
The aim of this course is to cover basic and in-depth concepts of Algorithms and Data Structures.
Students will learn how data structures are helpful to solve different problems. It will provide
foundation in learning advanced algorithm analysis course. Student can use C language for the
purpose of implementation, and they will learn generic concepts which will be used for
developing different software applications. The knowledge of C language is expected as strong
background.
Students should be able to:
● Basic and in-depth concepts of Data Structures and Algorithms to solve different software
problems.
● Selection of appropriate Data Structure and Algorithm for specified application.
● How appropriate Data Structures and algorithms impact performance of software?
● Solve different problems using Arrays, Stacks, Queues, Link Lists, Trees, Heaps, Hash
Tables and Graphs.
● Use of different sorting techniques and their efficiency.
● Students will be able to translate Algorithm ideas into working practical applications.
12 Course Contents
The module consists of theory and practical portion. Theory part will consist of class lecture that
will introduce theoretical concepts of Data Structures and Algorithms. The lab part will focus on
the practical application of the concepts delivered in class to solve different problems. Exercises,
assignments and projects assigned in lectures will be supervised in lab session. Students will be
encouraged to come up with their own ideas and concepts to solve different problems.
13 Lecture Schedule
Weeks Topic of Lecture Reading Assignment
Week 1 ● Course Overview, Introduction to Different Book+ Handouts
Data Structures. Memory Management of
basic data types.
Week 2 ● Algorithms, flow charts, pseudocodes
Week 3 ● Arrays, Insertion and Deletion in Arrays, Book + Handouts
row major order, column major order,
Two-dimensional Arrays, Multi-dimensional
Arrays.
Week 4 ● Stacks, Operations on stacks, Infix, Postfix Book+ Handouts
and Prefix notations, Infix to Postfix
conversion, postfix evaluation, Tower of
Hanoi
Theory Part
The minimum pass marks for each course shall be 50%. Students obtaining less than 50% marks
in any course shall be deemed to have failed in that course. The correspondence between letter
grades, credit points, and percentage marks at CUI shall be as follows:
Grades Letter Grade Credit Points Percentage Marks
Code will be submitted in text files that can be compiled with specified programming language
compiler.