Infolink College
Department of Computer Science
Course Name: Data Structure and Algorithm
Course Description:
This course focuses on the study of data structures, algorithms and program efficiency. Topics
include: analysis of time and space requirements of algorithms; program efficiency improving
techniques, abstract data types such as linked lists, stacks, queues, trees (traversal,
implementations); simple searching algorithms (linear search, binary search), simple sorting
algorithms.
Course Goals /Course objectives/:
The course objectives: -
To introduce the most common data structures like stack, queue, linked list
To give alternate methods of data organization and representation
To enable students, use the concepts related to Data Structures and Algorithms to solve real world
problems
To practice Sorting, and Searching on the different data structures
To implement the data structures with a chosen programming language
Implements linked lists, stacks, queues, and trees.
1|Page
Topics Assessments
Chapter 1: Introduction to Data Structures
1 Introduction
1.1 Primitive vs Abstract Data structure type
1.2 Properties of Algorithm Assignment I
1.3 Analysis of Algorithm
1.4 Time and Space complexity of an algorithms
1.5 Asymptotic Notation
Chapter 2: Simple Sorting and Searching Algorithms
2.1 Sorting
2.2 Selection Sort
2.3 Bubble Sort
2.4 Insertion Sort
2.2 Searching
2.1 Linear/Sequential Searching
2.2 Binary Searching Quiz I-15%
2.3
Chapter 3: Linked Lists
3.1 Singly Linked Lists
3.2 Doubly Linked Lists
3.3 Circular Linked Lists
3.4 Implementation of Linked Lists
Chapter 4: Stacks and Queues
2.4 Introduction to Stack and Queue data structure
2.5 Basic Queue and Stack Operations Quiz II-10%
2.6 Implementation of Stacks and queues
Chapter 5: Tree Structures
5.1.1 Binary Trees and Binary Search Trees
5.1.2 Basic Tree Operations
5.1.3 Traversing in a Binary Tree Assignment-II
5.1.4 Tree implementation
Chapter 6: Graphs
6.1 Introduction
6.2 Describing graphs
6.3 Directed Graphs
6.4 Traversing a graph
6.5 Graph implementation
Assessment Method:
Students will be assessed based on the programming and the written assignments given, and with 2 tests
given within the course period, in addition to the final examination executed at the end of the course
schedule. Class participation should also take as part of student evaluation.
2|Page
a) Continuous assessments:
Test 1 10%
Mid_Exam 20%
Assignments/Project 20%
Class and lab activity 10%
b) Final examination: 40%
Total mark 100%
References
Algorithms and Data Structures: The Science of Computing by Baldwin/Scragg. Charles
River Media. 2004.
Data Structures & Algorithms in Java by Robert Lafore. 2001
MichaelT.GoodrichandRobertoTamassia,“DataStructuresandAlgorithmsinJava”Wiley.
3|Page