CS 300 Data Structures • 5 Cr.


This course is an introduction to the fundamental concept of data structures. It explains how to organize and store data efficiently using data structures and how to select appropriate data structures. The course further focuses on understanding the fundamental algorithms and analyzing the time and space complexity of these algorithms. Prerequisite: CS 211 and admission to BS CS program, or permission of instructor.


After completing this class, students should be able to:

  • Distinguish the appropriate data structure for modeling a given problem and to provide justification for that selection 
  • Implement and use each of the following fundamental data structures: Lists, Stacks, Queues, Trees 
  • Explain the heap property and the use of heaps as an implementation of priority queues 
  • Compare alternative implementations of data structures with respect to performance 
  • Implement sorting, searching and hashing algorithms 
  • Explain the applications of graph algorithms 
  • Construct complex data structures using existing data types