CSE220

Data Structure

CSE220: Data Structure

Offered:

Pre-requisite: CSE111


This course is an introduction to data structures, where the students will study the elementary data structures such as arrays, lists, stacks, queues, trees, etc. These data structures will be used to study and implement different algorithms such as sorting, searching, tree traversal, etc. The course includes a 3 hour mandatory laboratory per week as CSE220L. In the laboratory, the students will use a standard programming language, usually Java, to implement the various data structures and algorithms learned in the theory component of the course.

Course Objectives

Teach students the basics of circular array and advantage(s) of it over a linear array
Demonstrate the construction and manipulation of different types of linked lists
Introduce the students to stack and queue data structures and explain how they are implemented
Discuss the fundamental concept of recursion so that they can build recursive models for simple problems.
Discuss trees and explain related algorithms

List of Books

1. Algorithms in Java, Robert Sedgewick and Kevin Wayne, 2011, 4th Edition, Addison-Wesley, ISBN-10: 032157351X, ISBN-13: 9780321573513

2. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, 2009, 3rd Edition, MIT Press, ISBN-10: 0262033844, ISBN-13: 9780262033848

Course Materials

Text and Reference Books

Course Outcome

# Description Weight Edit

CO1

Show different operations such as insertion, removal, rotation, shifting, etc. on linear arrays, circular arrays, linked lists, Stack, Queue and Tree data structures.

25

CO2

Demonstrate basic algorithms related to searching and tree traversal using various data structures.

25

CO3

Compare the suitability and merits of various data structures and basic algorithms when given certain requirements or constraints.

10

CO4

Apply concepts of recursion to solve programming problems.

15

CO5

Construct general-purpose data structures and basic algorithms for solving programing problems.

25

Course Lectures

Week Lecture CO Map

Week 1

Arrays and Circular Arrays

CO1

CO3

CO5

Week 2

Arrays, Circular Arrays and Linked lists

CO1

CO3

CO5

Week 3

Arrays, Circular Arrays and Linked lists

CO1

CO3

CO5

Week 4

Arrays, Circular Arrays and Linked lists

CO1

CO3

CO5

Week 5

Stacks (using arrays and linked lists)

CO3

CO5

CO1

Week 6

Queues (using arrays and linked lists)

CO5

CO3

CO1

Week 7

Recursion

CO1

CO3

CO5

Week 8

Hash table and Hashing

CO3

CO5

CO2

Week 9

Introduction to Trees and BST

CO1

CO2

CO5

Week 10

Introduction to Heap

CO1

CO5

CO2

Lab Lectures

Week Lecture CO Map

Week 1

Linear array, Circular array

N/A

Week 2

Singly Linked List (basic)

N/A

Week 3

Singly Linked List (basic) Continuation

N/A

Week 4

Dummy headed circular doubly linked list

N/A

Week 5

Build a stack using List Use the stack for parentheses checking

N/A

Week 6

Build a queue using a circular array. Apply the queue in a problem

N/A

Week 8

Recursion

N/A

Week 9

Searching, Sorting

N/A

Week 10

Key-indexing, Hashing

N/A

Week 11

Tree, graph

N/A

Course Coordinator

Mr. Zaber Mohammad


©2024 BracU CSE Department