2025-2026 Undergraduate Catalog 
    
    May 26, 2026  
2025-2026 Undergraduate Catalog
Add to Personal Catalog (opens a new window)

CS 333 - Data Structures and Algorithms I



5.0 Credits
Students will explore and implement several structures commonly used for data storage. They will analyze these structures and their associated algorithms in order to identify the right structure for a task based on time and space performance. Completion of CS 202 and CS 301 with a grade of 2.5 or higher or instructor permission.
Prerequisite Admission in the Computer Science Bachelors of Science program is required to take this course.
Course-level Learning Objectives (CLOs)
Upon successful completion of this course, students will be able to:

  1. Apply the principles of algorithm complexity analysis, using common notation, to various data structures.
  2. Explain the advantages and disadvantages of array based and linked based structures.
  3. Explain the benefits of and implement various types of linear structures (linked lists, stacks, queues, priority queues, etc).
  4. Design and implement hash tables including collision handling strategies.
  5. Implement and compare multiple types of tree balancing techniques and identify where each is best used.
  6. Implement trees with different storage rules such as heaps and binary search trees, and the algorithms used with them.
  7. Evaluate, compare, and implement various sorting and searching algorithms for given real-world problems.


Course Typically Offered
Fall, Spring



Add to Personal Catalog (opens a new window)