IFTS2201 - Data Structures and Algorithms
Overview
This course introduces fundamental concepts of data structures and algorithms using Java programming. Students will learn algorithm design, complexity analysis, recursion, linear and non linear data structures, searching, sorting, and text processing techniques. The course emphasizes problem solving, coding implementation, and project based algorithm development. The curriculum covers Java primer (syntax, OOP basics), fundamental data structures (arrays, objects, references, ADT), algorithm analysis (Big O notation, time/space complexity), recursion (recursive methods, tree visualization), stacks, queues, deques, lists (ArrayList, LinkedList, iterators), trees and binary search trees (BST, traversal), maps, hash tables, skip lists, sorting algorithms (bubble, selection, insertion, merge, quick), selection algorithms, and text processing (pattern matching, text searching). Through hands on coding labs and a project based approach, students will gain practical skills to implement efficient data structures and algorithms in Java.
Pre-requisites:
Learning Hours Composition:
- 42 hours face to face, consisting of 14 sessions of lecturing, tutorial or workshop.
- 28 hours of Structured Learning and Guided Group Discussions
- 65 hours of Independent, Project-Based Learning
Managing Faculty:
Credit Point:
3 Credit(s)
Learning Hours:
45 hours x 3 CPs = 135 hours

