0% found this document useful (0 votes)
24 views4 pages

Fall 2021 Data Structures BS (CS) - III

This document outlines a course on data structures and algorithms. It provides information on course objectives, topics covered each week including arrays, linked lists, queues, stacks, trees and graphs. It also lists textbooks, learning outcomes and course approvals.

Uploaded by

Mohsin Soomro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views4 pages

Fall 2021 Data Structures BS (CS) - III

This document outlines a course on data structures and algorithms. It provides information on course objectives, topics covered each week including arrays, linked lists, queues, stacks, trees and graphs. It also lists textbooks, learning outcomes and course approvals.

Uploaded by

Mohsin Soomro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

CSC-222: Data Structures (Theory)

General Information

Course Number CSC-222


Credit Hours 3+1 (Theory Credit Hour = 3, Lab Credit Hours = 1)
Prerequisite CSC-102, Programming Fundamentals
Course Coordinator Not Specified

Course Objectives
The objective of this course is to make students familiar with the concepts of the way data is stored
inside the computer and its manipulation using different algorithms. Students will learn different data
structures such as an array, stack, queue, link list, trees, graphs, sorting algorithm, etc. Since
Programming fundamentals is the pre-requisite of this course, therefore, in class we would be using
java language to implement all the data structures. However, students may use any programming
language
Catalog Description

CSC-222

Course Content
Week Chapters
No 1. Topics
1 • Introduction to the course
• Elementary data structures
• Arrays
o Review of single-dimension arrays
o Concept and implementation of 2D
arrays
▪ Manipulating matrices using
arrays
o Basic concepts of Multi-dimensional
arrays
• What is the data structure?
o Need for data structures
o What are the limitations of Arrays?
2 • Linked lists
o Arrays vs. Linked list
• Types of linked list
o Singly-linked list
o Circular singly linked list
o Doubly linked list
o Circular doubly linked list
• Defining the Node class
• Linked Lists Functions
Printing linked list in reverse order using recursion
3-4 • Applying dictionary operations on linked lists
o Traversing a linked list
o Inserting new node
▪ at the head
▪ at any location
o Searching a node
o Removing a node
▪ from the head
▪ from anywhere
• Clearing a linked list
5 • Introduction to Queues
• The Queue data structure
• Application of queues
• Array Representation of Queue
o Algorithm for the Addition of an Element
to the Queue
o Algorithm for Deletion of an Element to
the Queue
• Dynamic Representation of Queues Using
Linked Lists
• Circular Queue-Array Representation
6 • The FIFO structure
• Queue operations
• Extended queue operations
• Dictionary operations on queues
• The priority queues
• The LIFO structure
• Introduction to the stack data structure
• Applications of stack
• Stack operations
• Stack specifications
o List and arrays
o Stacks
o Reversing a list
• Stack implementation
o Using arrays
o Using linked list
• Methods of stack
o Push
o Pop
• Push down stack
First Mid Term Examination
7 • What is algorithm?
• Complexity of algorithm
o Time complexity
o Space complexity
• Analysis of algorithms
• Big O Notation
o Best-case analysis
o Worst-case analysis
• Average-case analysis
8-9 • Trees Introduction
• Tree terminology
• Tree Traversal
• Concept of Binary Trees
• Why use binary trees
• Basic Operations
• Complete Binary Tree
• Priority Queues: Heaps
• Max-Heap
10-11 • Concept of Binary Search trees and how they
work
• Finding a node in a binary search tree
• Inserting a node
• Recursively traversing the tree in In order,
Pre and Postorder
• Applications of tree traversing in sorting
12 • Deleting a node in a Binary Tree with all
three cases
• The efficiency of Binary Trees
• Handling duplicate nodes in BST
• Applications of BST
• Time complexity
Second Mid Term Examination
13 AVL Trees
• Balance Factor
• Cases(I,II,III, IV)
14 • Simple sorting
o Understanding why sorting is
important
o Bubble sort
o Selection sort
o Insertion sort
o Merge Sort
15 • Hashing
• Applications of Hashing
• Direct Address
• Chain based Scheme
• Hash Tables
Introduction to Graph data structure
• BFS
16 • DFS
• Spanning Tree

Text Book

1. Data Structures & Algorithms in Java by Robert Lafore

Reference Material
1. C++ Plus Data Structures, 3rd edition, Nell Dale.
2. Think Data Structures: Algorithms and Information Retrieval in Java by Allen B. Downey

Course Learning Outcomes


Course Learning Outcomes (CLO)
Demonstrate the knowledge of linear and non-linear data structures such as an array, list,
1
queue, stack, trees, and graphs.
2 Implement algorithms for the efficient representation and manipulation of data.
Analyze different data structures to identify errors and predict the output.
3

CLO-SO Map
SO IDs
CLO ID GA1 GA2 GA3 GA4 GA5 GA6 GA7 GA8 GA9 GA10 GA11 GA12
CLO 1 1 0 0 0 0 0 0 0 0 0 0
CLO 2 0 0 1 0 0 0 0 0 0 0 1
CLO 3 0 1 0 1 0 0 0 0 0 0 0

Approvals
Prepared By Syed Muzamil Hussain Shah
Approved By Not Specified
Last Update 09/10/2021

You might also like