BSCS4-Data Structures-Courseoutlines
BSCS4-Data Structures-Courseoutlines
Algorithms
CSCP-2034
Program BSCS
Credit Hours 3
Resource Person
Course Description
This course familiarize students with concepts of creating, storing, retrieving, ordering, and
manipulation of data structures, abstract data types (ADTs), and the basics of analysis of
algorithms. The students will learn formal specification of data structures in depth.
Course Objectives
To introduce the students to basic data structures and their associated algorithms.
To introduce the theory of complexity and develop the skills to analyze time and space
requirements for a data structure and its associated algorithms.
To implementing data structures in C++
To determine, which data structures are appropriate in various situations.
Learning Outcomes
Understand the properties of Abstract Data Types and various data structures.
Understand the associated operations associated.
Identify the strengths and weaknesses of different data structures.
Design and employ appropriate data structures for solving computing problems.
Possess the knowledge of various existing algorithms.
Analyze and compare the efficiency of algorithms.
Class Conduct
Class attendance is mandatory. You may miss up to 6 class sessions. On the seventh absence,
you will be withdrawn from the course. As a courtesy to the instructor and other students, be
prepared to arrive at class and be in your seat on time. In addition, please note that each class
last for 90 minutes.
Also keep in mind some general rules as given below:
Cell phones should be powered off.
Eatables are not allowed in the class.
The teacher will not tolerate any disruptive behavior in the class.
The Dress Code has to be observed, no warnings will be given, and violators will be
asked politely to leave the class and consequently will be marked absent.
Participation
Students are required to attend all classes and read all the assigned material in advance of
class (although not necessarily with perfect comprehension). Advanced preparation and class
participation are crucial for periods in which we discuss cases. During discussion sessions,
the instructor generally keeps track of the insightful and useful comments students make.
(Any unproductive contribution is not rewarded)
Data Structures and Algorithm Analysis by Clifford A. Shaffer , Edition 3.2 Edition,
Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss , Fourth Edition
List ADT
Quiz 1
4 Linked Lists I
Singly linked lists
Linked Lists II
Doubly linked lists
Linked Lists III
5
Implementation of Stack and Queue using Link List
Linked Lists IV
6 Link List Iterators Assignment-2
Recursion I
Understanding the nature of problem
7 Why need recursion
Quiz-2
Identifying base case and terminating point
Stack trace and Recursive Tree
Recursion II
How to implement-two parts of a recursive function.
8
Examples: Factorial and its logic and memory model and stack trace.
9 MID TERM
Trees I
Tree Data Structure Definition and Basic terminologies
10
Tree II
Tree Traversal, Expression trees
Tree III Assignment-3
11 Binary Search Trees
Tree IV