Course Outline:
Introduction: data structures, data structure operations, mathematical notations and functions, String Processing: basic terminology, strong strings, character data types, string operations, word processing; Linear Data Structures: arrays, records, pointers, linked lists, stacks, recursions, queues and their applications; Nonlinear Data Structures: trees, graphs and their applications; Sorting, Searching and Hashing. [Prerequisite: CIS 122].
Course Type: Lab
Objectives:
The primary objective of this course is to learn the fundamental data structures used in computer science, such as arrays, linked lists, stacks, queues, trees, graphs, and hash tables. Students are able to develop programming skills in languages like C, C++, Java, or Python to implement data structures and algorithms. Students should analyze the time and space complexity of algorithms and data structures to assess their efficiency. Apply data structures and algorithms to solve real-world problems and computational challenges. Moreover, students should learn debugging techniques and optimize code for better performance.
Assessment and Evaluation:
Grades will be calculated as per the university grading structure and individual student will be evaluated based on the following criteria with respective weights.