Aug 05, 2026  
2026-2027 IHCC Catalog 
  
2026-2027 IHCC Catalog

CS 2300 - Algorithms and Data Structures



4 Credits
Introduces procedural and data abstraction. Includes elementary abstract data types including lists, stacks, queues, and their applications. Includes intermediate abstract data types including trees, priority queues, heaps, hash tables, and their applications. Topics also include recursion and graph theory.

Pre-Requisites CS 2200  

Major Content Areas
Static & dynamic implementations of: linked lists, stacks, and queues (22%)

Introduction to object-oriented programming (7%)

Graph theory (7%)

Abstract Data Types (6%)

Generic Objects (7%)

Recursion (7%)

Sorting: quicksort, merge sort, heap sort, shell sort, and radix sort (10%)

Hashing and collision strategies (7%)

Trees, traversals, and heaps (20%)

Algorithm analysis (7%)

Learning Outcomes
Identify appropriate use of and implement statically allocated data structures.

Implement recursive and iterative algorithms over appropriate data structures (e.g., tree traversal, pre-order, and post-order)

Analyze recursive and iterative algorithms for space-time complexity

Identify appropriate use of and implement dynamically allocated data structures.

Develop and implement a dictionary data type incorporating hashing algorithms and collision avoidance.

Implement algorithms and underlying data structures utilizing standard object oriented design principles.

Write programs that use each of the following data structures: arrays, records/structs, strings, linked lists, stacks, and queues