CPSC 311 - Discrete Computational Structures

Catalog Description

Introduces computational implementations of the mathematical structures most frequently used in computing including sets, equivalence relations, functions, graphs, trees and standard logic. Also introduces automata, formal languages, countability, decidability and computational complexity, Markov and stochastic processes. The course will stress traditional programming and mathematical approaches to these structures such as the use of recursion, elementary data structure, and proof techniques to instantiate, parse, traverse, demonstrate correctness, or use these computational objects.

Prerequisite: MATH 125 (3 credits)

Course Outcomes

This course and its outcomes support the Computing Learning Outcomes of Problem Solving and Critical Thinking (PS&CT). These Computing Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Quantitative Reasoning.

Program Objectives Assessed in CPSC 311

Learning OutcomesAssessed Course Objectives
PS & CT a. Formulate project requirements and alternative solutions appropriate to the computing problems1. Relate graphs and trees to data structures, algorithms and counting.
PS & CT c. Perform critical analyses of the impacts of decisions based on mathematics2. Prove theorems concerning fundamental structures of discrete mathematics.
3. Define basic computational terms and perform computational operations associated with sets, functions, relations, trees, and graphs.
4. Apply formal methods of symbolic logic and proof techniques used to solve traditional computing problems.

Additional Course Objectives include:

The student will be able to:

  1. Apply the tools of probability to solve problems.
  2. Evaluate the run-time performance of alternative algorithms.
  3. Model problems in computing using graphs, trees and Markov chains.