Discrete Mathematics for Computer Science course introduces students to the mathematical principles that form the foundation of computer science. This course is an elective, and it's designed for high school students who have completed NC Math 3. It provides a solid alternative to a traditional pre-calculus or calculus track, preparing students for college-level studies and careers in technology, data science, and finance.
The curriculum is organized into five main conceptual categories:
Number and Quantity: Students learn to perform operations with matrices and vectors, and use them to solve problems like systems of equations. They also study set theory, including operations like unions, intersections, and complements, and learn about number theory, such as using the Euclidean Algorithm to find the greatest common factor.
Functions: This section focuses on sequences and series. Students learn to represent sequences using sigma notation, and determine if an infinite series converges or diverges. They also interpret the solutions to real-world problems involving arithmetic and geometric sequences.
Statistics and Probability: The course applies combinatorics concepts to problem-solving. Students learn the Fundamental Counting Principle and how to calculate permutations and combinations to find probabilities.
Graph Theory: Students learn to use vertex-edge graphs to model real-world situations. They test for Euler paths and Hamiltonian circuits, and apply algorithms like Kruskal's and Prim's to find the minimum spanning tree of a graph.
Logic: This category introduces students to mathematical logic. They construct truth tables, evaluate logical arguments to determine their validity, and use Boolean logic circuits to check the truth of statements.