DSA Course Outline Spring 2020
DSA Course Outline Spring 2020
Course Description:
This course covers the concepts related to design, analysis and implementation of various data structures
and algorithms to solve real world problems using an object‐oriented programming language. Topics
include elementary data structures (including arrays, stacks, queues and lists), advanced data structures
(including trees and graphs), the algorithms used to manipulate these structures, and their applications to
solving practical engineering problems.
1. Implement various data structures and their algorithms, and apply them in implementing simple
applications.
2. Analyze simple algorithms and determine their complexities.
Course Assessment:
Reference Materials:
Marks Distribution:
Assignments: 5%
Quizzes: 5%
Final Lab: 20%
Midterm Exam: 20%
Final Exam: 50%
Total: 100%
WEEKLY LECTURE PLAN
S.No Topics
Week1 Data Structures and their Operations:
Introduction, Overview of Data Structures, Data Structure’s operations, Types of
Data Structures, Abstract data types
Week 3 Pointers:
Introduction, Pointer vs Arrays, Arrays of Pointer, Pointer to Pointer, Null pointer,
Void Pointer, Invalid Pointer, Dangling Pointer Reference Variable, Dynamic Array
(malloc, new, free, delete operators). Constructor in class, types of Constructor
(Null, Default, Parametric, Overloading, Copy Constructor)
Week 7 Stacks:
Introduction, Stack Model, Array & Link List representation of Stacks,
Representation of Stack through Class ,Recursion, Parenthesis Checking through
stack, Efficiency of Stack. Polish Notations, Prefix, Infix, Postfix
Week 8 Queues:
Introduction, Queue Model, Array & Link List implementation of Queues, Deques,
Priority Queues, Linked list & Array implementation of Priority Queues
S.No Topics
Week1 An overview of Data Structures and their Operations: Brief Revision of Array
Multidimensional Array
Week 3 Pointers:
Implementation of linked list with the help of algorithms for Insertion, Deletion and
Search an element
Week 7 Stacks:
Week 8 Queues:
Searching, Inserting, and Deleting in Binary Search Trees, Binary Heaps, Heap
creation and operations
Week 15 Revision