Mar 18, 2026  
2025-2026 Catalog SVC 
    
2025-2026 Catalog SVC

CS 302 - Discrete Structures II


Credits: 5
Variable Credit Course: No

Lecture Hours: 55
Lab Hours: 0
Worksite/Clinical Hours: 0
Other Hours (LIA/Internships): 0

Course Description: Introduction to ideas and techniques from discrete mathematics that form the basis of data structures and algorithms used in Computer Science. Learn the fundamentals of graph theory, set theory, relations, enumeration, and recursive structures.

Prerequisite: CS 202 and CS 301 both with a grade of C or higher. Admission to BSCS program and Dept. Chair permission.
Meets FQE Requirement: No
Integrative Experience Requirement: No

Student Learning Outcomes
  1. Evaluate time and space complexity using industry standard notation (e.g., Big-O).
  2. Develop a solution using recursive data structures.  
  3. Differentiate tree structures with basic operations on a tree structure.
  4. Apply set theory using basic operations on a set.
  5. Define data structures for implementing a set.
  6. Compare and contrast different types of graphs in the context of graph theory.
  7. Design algorithms which implement basic operations for use with a graph.
  8. Define data structures for implementing the various types of graphs.
  9. Examine various methods for calculating or estimating the computational complexity of an algorithm.

Course Contents
  1. Trees: Binary trees, binary search trees. Pre-order, in-order, post-order traversal. Generalized trees and Expression trees. Heaps. AVL, Splay, Red-Black trees.
  2. Set Theory: Hash table, structure, collision handling. Disjoint set.
  3. Graph Theory: Minimal spanning trees. Breadth first traversal and Depth first traversal. Kruskal’s and Prim’s algorithm. Euler and Hamiltonian circuit.


Instructional Units: 5