0% found this document useful (0 votes)
30 views

Outline Dsa

This document outlines a course on data structures and algorithms. It provides information on course objectives, topics covered each week, textbooks, and learning outcomes. Over 16 weeks, students will learn about arrays, linked lists, stacks, queues, trees, searching, sorting, hashing, and graphs.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Outline Dsa

This document outlines a course on data structures and algorithms. It provides information on course objectives, topics covered each week, textbooks, and learning outcomes. Over 16 weeks, students will learn about arrays, linked lists, stacks, queues, trees, searching, sorting, hashing, and graphs.
Copyright
© © All Rights Reserved
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 computer and its manipulation using different algorithms. Students will learn different data
structures such as array, stack, queue, linked 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
No Topics Chapters
1 • Introduction to the course
• Elementary data structures
• Arrays
o Review of single-dimension arrays
o Concept and implementation of 2D
arrays See the chapter 3.1 in Michael T.
§ Manipulating matrices using Goodrich, Data Structures &
arrays Algorithms in Java
o Basic concepts of Multi-dimensional
arrays
• What is data structure?
o Need of data structures
o What are limitations of Arrays?
2 • Linked lists
o Arrays vs. Linked list See the chapter 3.2, 3.3, 3.4 in
• Types of linked list Michael T. Goodrich, Data
o Singly linked list Structures & Algorithms in Java
o Circular singly linked list
o Doubly linked list See the chapter 10.2 in [CLRS]
o Circular doubly linked list Thomas H. Cormen, Introduction
• Defining the Node class to Algorithms
• Linked Lists Functions
Printing linked list in reverse order using recursion
3 • Applying dictionary operations on linked lists
o Traversing a linked list Handouts
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
4 • Introduction to Queues
• The Queue data structure
• Application of queues See the chapter 6.2 in Michael T.
• Array Representation of Queue Goodrich, Data Structures &
o Algorithm for Addition of an Element to Algorithms in Java
the Queue
o Algorithm for Deletion of an Element to See the chapter 10.1 in [CLRS]
the Queue Thomas H. Cormen, Introduction
• Dynamic Representation of Queues Using to Algorithms
Linked Lists
• Circular Queue-Array Representation
5 • The FIFO structure
• Queue operations
• Extended queue operations
• Dictionary operations on queues
• The priority queues
• The LIFO structure
• Introduction to the stack data structure
See the chapter 6.1 in Michael T.
• Applications of stack
Goodrich, Data Structures &
• Stack operations Algorithms in Java
• Stack specifications
o List and arrays See the chapter 10.1 in [CLRS]
o Stacks Thomas H. Cormen, Introduction
o Reversing a list to Algorithms
• 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
Handouts
• Big O Notation
o Best-case analysis
o Worst-case analysis
• Average-case analysis
• Recursion
8-9 • Trees Introduction See the chapter 8 in Michael T.
• Tree terminology Goodrich, Data Structures &
• Tree Traversal Algorithms in Java
• Concept of Binary Trees
• Why use binary trees See the chapter 10.4 and 6 in
• Basic Operations [CLRS] Thomas H. Cormen,
• Complete Binary Tree Introduction to Algorithms
• Priority Queues: Heaps
• Max-Heap
10-11 • Concept of Binary Search trees and how they See the chapter 12 in [CLRS]
work Thomas H. Cormen, Introduction
• Finding a node in a binary search tree to Algorithms
• Inserting a node
• Recursively traversing the tree in In order, See the chapter 11.1 in Michael T.
Pre and Post order Goodrich, Data Structures &
• Applications of tree traversing in sorting Algorithms in Java
Second Mid Term Examination
12-13 • Deleting a node in a Binary Tree with all
three cases
• Efficiency of Binary Trees
See the chapter 11.3 in Michael T.
• Handling duplicate nodes in BST
Goodrich, Data Structures &
• Applications of BST
Algorithms in Java
• Coding a complete message
• Balanced and unbalanced trees
• The AVL trees Overview
14-15 • Simple sorting
o Understanding why sorting is See the chapter 7 in [CLRS]
important Thomas H. Cormen, Introduction
o Bubble sort to Algorithms
o Selection sort
o Insertion sort See the chapter 12 in Michael T.
o Merge Sort Goodrich, Data Structures &
o Quicksort Algorithms in Java
o Efficiency of Quicksort
16 • Hashing See the chapter 11 in [CLRS]
• Applications of Hashing Thomas H. Cormen, Introduction
• Direct Address to Algorithms
• Chain based Scheme
• Hash Tables See the chapter 10.2 in Michael T.
Goodrich, Data Structures &
Algorithms in Java
• Graphs See the chapter in Michael T.
o Introduction Goodrich, Data Structures &
o Searches (DFS & BFS) Algorithms in Java


Text Book

1. Introduction to Algorithms by Thomas H. Cormen, 3rd edition.
2. Data Structures & Algorithms in Java by Michael T. Goodrich, 6th edition.

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 array, list, queue,
1
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 0
CLO 2 0 0 1 0 0 0 0 0 0 0 0 0
CLO 3 0 1 0 0 0 0 0 0 0 0 0 0

Approvals
Prepared By Saif Hassan
Approved By Not Specified
Last Update 15/9/2020

You might also like