Feb 01, 2023
2020-2021 Course Catalog
 Select a Catalog 2022-2023 Course Catalog Student Handbook 2022-2023 2021-2022 Course Catalog [ARCHIVED CATALOG] 2020-2021 Course Catalog [ARCHIVED CATALOG] 2019-2020 Course Catalog [ARCHIVED CATALOG] 2018-2019 Course Catalog [ARCHIVED CATALOG] 2017-2018 Course Catalog [ARCHIVED CATALOG] 2016-2017 Course Catalog [ARCHIVED CATALOG] 2015-2016 Course Catalog [ARCHIVED CATALOG] 2014-2015 Course Catalog [ARCHIVED CATALOG] 2013-2014 Course Catalog [ARCHIVED CATALOG] DMACC Policies and Procedures
 HELP 2020-2021 Course Catalog [ARCHIVED CATALOG] Print-Friendly Page (opens a new window)

# CIS 154 - Computational Structures

Credits: 3
Lecture Hours: 3
Lab Hours: 0
Practicum Hours: 0
Work Experience: 0
Course Type: Open
Students learn the math and logic fundamentals required in the information technology industry. Students solve practical problems in mathematics for information technology, building a solid foundation in the mathematical skills that are used in a number of areas, such as networking, systems administration, programming, database management and web programming. The course develops concepts in discrete mathematics as applied to computer science including logic, proof techniques, set theory, relations, graphs, discrete probability and number theory.
Competencies
1. Recognize how formal tools of symbolic logic are used to model algorithms and real life situations
1. Apply formal methods of symbolic propositional logic
2. Use formal logic proofs and logical reasoning to solve problems
2. Perform the operations associated with sets, functions and relations
1. Explain with examples the basic terminology of functions, relations and sets
2. Use equivalence relations in solving problems
3. Apply proof techniques to solve problems in computer science, including software engineering, program semantics, and algorithm analysis
1. Outline the basic structure of and give examples of each proof technique
2. Discuss which type of proof is best for a given problem
4. Solve problems using permutations and combinations
5. Demonstrate basic counting principles, including uses of diagonalization and the pigeonhole principle
6. Apply the tools of discrete probability theory to computer science algorithms
7. Solve problems using recurrence relations
8. Model problems in computer science using graphs and trees
1. Examine different traversal methods for trees and graphs
2. Relate graphs and tree to data structures, algorithms, and counting
9. Apply principals of Boolean Algebras to computer science algorithms and circuits