This 3 credit course focuses on data organization and manipulation using various data structures like lists, stacks, queues, trees and graphs. Students will learn how to create, manipulate and use these structures as well as different searching and sorting algorithms. The course aims to help students explain and compare data structures, model and implement abstract data types, and solve real-world problems using appropriate structures. Topics covered include recursion, sorting, searching, hashing and complexity analysis.