IT3206 - Data Structures and Algorithms
IT3206 - Data Structures and Algorithms
Semester III
Course Code: IT3206
Credit Value: 3
Core/Optional Core
Independent
Theory
Hourly Breakdown Learning
45 hrs. 105 hrs.
Course Aim:
This course module provides fundamental knowledge in the application of different data structures
and algorithmic processes. Further, this provides knowledge in the sorting and searching algorithms.
Finally provides skills to use data structures and algorithms for problem solving activities.
Intended Learning Outcomes:
After successfully completing this course, students should be able to
Topic Theory
(Hrs)
1. Introduction to Data Structures 03
2. Arrays and Linked Lists 05*
3. Stacks and Queues 05*
4. Recursion 04*
5. Trees 08*
6. Graphs 08*
7. Analysis of Algorithms 05*
8. Sorting and Searching Algorithms. 07*
Total 45
* Students are expected to do practical and tutorials to strengthen their knowledge of these sections
Section 1: Introduction to Data Structures (03 hours)
3.1. Stacks
3.1.1. Intoduction to Stacks [Ref 4:pg.163-165,Ref 2:pg.232]
3.1.1.1. Array based Stack implementation [Ref 4:pg.165-167, Ref 3:pg. 116-123, Ref 1:pg.596-
599, Ref 2:pg.233-234]
3.1.1.2. Linked List based Stack implementation [Ref 4:pg.171-175, Ref1:pg.606-609]
3.1.2. Applications of Stacks [Ref 4:pg.165, Ref 4:pg.174-185]
3.2. Queues
3.2.1. Introduction to queues [Ref 4:pg.205-206, Ref 2:pg.234]
3.2.1.1. Array based Queue implementation [Ref 1:pg.260-261, pg.600-604, Ref 3:pg.132-142,
Ref 2:pg.235]
3.2.1.2. Linked List based Queue implementation [Ref 4: pg. 212-213, Ref1:pg.609-612]
3.2.2. Applications of queues [Ref 4:pg.207]
3.2.3. Circular queue [Ref 4:pg.207-208, Ref 3:pg.36-137]
3.2.4. Priority queue [Ref 4:pg.369-371, Ref 1:pg.274-276, Ref 3:pg.143-149]
Section 4: Recursion ( 4 hours)
7.1. Introduction to analysis of algorithms [Ref 1: pg.188-192, Ref 4: pg.19-23, Ref 2: pg.23-29]
7.2. Types of analysis [Ref 4: pg.23-24, Ref 2: pg.43-44]
7.3. Big-O notation [Ref 1: pg.201-205, Ref 4: pg.24-26, Ref 2: pg.47-48]
Assessment Strategy:
Continuous Assessments/Assignments:
The assignments consist of two quizzes, assignment quiz 1 (It covers the first half of the syllabus) and
assignment quiz 2 (It covers the second half of the syllabus). The maximum mark for a question is 10 and the
minimum mark for a question is 0 (irrespective of negative scores). Final assignment mark is calculated
considering both assignments, and students will have to obtain at least 40% for each assignment. Students
are advised to complete online assignments before the given deadline. It is compulsory to pass all online
assignments to qualify to obtain the Level II, Higher Diploma in IT (HDIT), certificate.
In the course, case studies/Lab sheets will be introduced, and students have to participate in the learning
activities.
Final Exam:
Final examination of the course will be held at the end of the semester. The course is evaluated using a two
hour question paper which consists of 25 MCQ (1 hour) and 2 Structured Questions (1 hour).
Main references
Ref 1: Data Structures and Problem solving using Java by Mark Allen Weiss, 4th Edition, ISBN
9780321541406
Ref 2: Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and
Clifford Stein, The MIT Press, 3rd edition,ISBN 978-0262033848
Ref 3: Data Structures and Algorithms in Java by Robert Lafore, GC Join for Techmedia, 2nd edition,
ISBN 978-0672324536
Supplimentry references
Ref 4: Data Structures and Algorithms Made Easy, by Narasimha Karumanchi, 5th Edition, [Online
source : https://bit.ly/data-structures-and-algorithms-narasimha-karumanchi-pdf]
Ref 5: Data Structures and Algorithms in Java by Adam Drozdek, Cengage Learning Asia, 3rd edition.
ISBN 978-9814239233
**Note : Ref 5 should be updated with 4th edition and page numbers should be updated accordingly.