CSC 251 Finite Structures

Course Goals

The primary goal of this course is to introduce students to the mathematical foundations of computer science. The material will provide the necessary preparation for successful study of upper level computer science topics such as data structures and analysis of algorithms. The course also facilitates life-long learning in computer science by providing the student with foundational material that continues to be applicable even as the discipline rapidly evolves.

Course Outcomes

A student who successfully completes this course should, at a minimum, be able to:

  1. be able to translate between symbolic logic and English, including quantifiers
  2. be able to design a minimized combinational Boolean circuit from a description
  3. know the formal definition of Big O and how to apply it to analyze algorithms
  4. be able to construct a mathematical proof using a variety of techniques
  5. be able to apply a variety of counting techniques
  6. be able to compute discrete probabilities
  7. be able to solve recurrence relations with various techniques
  8. know fundamental graph and tree definitions, theorems, representations, and algorithms
  Computer Science Student Outcomes
Course Outcomes #1 #2 #3 #4 #5 #6 #7
1         X    
2         X    
3         X    
4       X      
5       X      
6       X      
7       X      
8         X