Discrete Mathematics
MAD2104 — MAD2104
← Course Modules
Course Description
MAD2104 – Discrete Mathematics is a 3-credit lecture course that introduces the mathematical structures and reasoning techniques used throughout computer science, mathematics, and quantitative disciplines. Topics typically include propositional and predicate logic; methods of proof (direct, contradiction, contrapositive, mathematical induction); set theory; functions and relations; counting principles and combinatorics; discrete probability; recurrence relations and recursive definitions; modular arithmetic and number theory; graph theory and trees; and Boolean algebra. The course emphasizes mathematical reasoning: reading, writing, and constructing proofs, as well as applying discrete structures to computer-science problems.
The course sits within the Florida Statewide Course Numbering System (SCNS) under Mathematics > Discrete and Combinatorial Mathematics and is offered at approximately 21 Florida public institutions. MAD2104 is a required core course for computer science and computer engineering majors at all Florida SUS institutions. It is also required or strongly recommended for many electrical engineering, mathematics, and information technology programs. Some institutions accept MAD2104 as a general-education mathematics course; others list it as a major-required course beyond gen-ed.
MAD2104 differs significantly from the liberal-arts mathematics courses (MGF1106, MGF1107) and from the calculus track (MAC2311 etc.). Its focus on logic, proof, and discrete structures makes it the bridge between computational thinking and rigorous mathematics. The course is widely available in face-to-face, hybrid, and fully online formats, but is generally regarded as challenging and benefits from in-person discussion and office-hour support.
Learning Outcomes
Required Outcomes
Upon successful completion of MAD2104, students will be able to:
- Apply propositional logic: propositions and compound propositions; logical connectives; truth tables; logical equivalences (De Morgan's laws, distributive laws); valid arguments and rules of inference.
- Apply predicate logic: predicates and quantifiers (universal, existential); nested quantifiers; negation of quantified statements; valid arguments with quantifiers.
- Construct mathematical proofs using multiple methods: direct proof; proof by contraposition; proof by contradiction; proof by cases; existence and uniqueness proofs.
- Apply mathematical induction: principle of mathematical induction; strong induction; structural induction; using induction to prove statements about integers, sums, and discrete structures.
- Apply set theory: set notation; subsets; power sets; set operations (union, intersection, difference, complement); Cartesian products; identities; cardinality; countable and uncountable sets at an introductory level.
- Apply functions and relations: domain, range, image; one-to-one, onto, and bijective functions; composition; inverse functions; relations on sets; properties of relations (reflexive, symmetric, transitive, antisymmetric); equivalence relations and equivalence classes; partial orders.
- Apply counting principles: rules of sum and product; permutations; combinations; binomial coefficients and Pascal's triangle; the binomial theorem; combinations with repetition.
- Apply advanced counting techniques: the inclusion-exclusion principle; the pigeonhole principle and the generalized pigeonhole principle; recurrence relations and their solutions.
- Apply discrete probability at an introductory level: sample spaces; events; probability distributions; conditional probability; independence; expected value; the relationship between counting and probability.
- Apply number theory at an introductory level: divisibility; the division algorithm; modular arithmetic; primes and the fundamental theorem of arithmetic; the Euclidean algorithm; congruences; introduction to cryptographic applications.
- Apply graph theory: graphs and their representations; vertices, edges, and degree; paths and circuits; Euler and Hamilton paths/circuits; isomorphism; planarity; trees and tree traversals; spanning trees; basic graph algorithms.
- Apply Boolean algebra: Boolean expressions and functions; logic gates; Boolean identities and simplification; Karnaugh maps at an introductory level.
- Apply recursion and recursive definitions: recursive definitions of sequences, sets, and structures; recursive algorithms; relating recurrences to closed-form expressions.
- Apply discrete mathematics concepts to computer science problems: algorithm analysis at an introductory level; abstract data structures; logical specification of programs.
- Communicate mathematical ideas clearly through written proofs and explanations.
Optional Outcomes
- Engage with introductory algorithm analysis: time and space complexity; big-O notation.
- Engage with cryptography applications: RSA, modular exponentiation.
- Engage with finite state machines and automata at an introductory level.
- Apply generating functions for solving counting problems.
- Apply matrix algebra in graph theory and other discrete contexts.
Major Topics
Required Topics
- Foundations of Logic and Proof: Propositional logic; logical connectives and truth tables; logical equivalences; predicate logic; quantifiers; rules of inference; valid arguments.
- Methods of Proof: Direct proof; proof by contraposition; proof by contradiction; proof by cases; existence proofs; constructive vs. nonconstructive proofs; counterexamples.
- Mathematical Induction and Recursion: The principle of mathematical induction; strong induction; recursive definitions; structural induction; recursive algorithms.
- Set Theory: Sets and subsets; set operations; Venn diagrams; identities; power sets; Cartesian products; cardinality; countable and uncountable sets.
- Functions and Relations: Domain, codomain, image; one-to-one, onto, bijective functions; composition; inverse functions; sequences and summation; binary relations; equivalence relations and partitions; partial orders and Hasse diagrams.
- Counting and Combinatorics: Basic counting principles; permutations and combinations; binomial coefficients and Pascal's triangle; the binomial theorem; combinations with repetition; the pigeonhole principle; the inclusion-exclusion principle.
- Discrete Probability: Sample spaces and events; probability distributions; conditional probability and independence; expected value.
- Recurrence Relations: Linear recurrence relations; solving recurrences (iterative, characteristic equation methods); modeling problems with recurrences.
- Number Theory: Divisibility; the division algorithm; primes and the fundamental theorem of arithmetic; greatest common divisor and the Euclidean algorithm; modular arithmetic; introductory applications to cryptography (RSA at a survey level).
- Graph Theory: Graphs, multigraphs, and digraphs; representations; paths, circuits, connectedness; Euler paths/circuits; Hamilton paths/circuits; isomorphism; planar graphs; graph coloring; trees and rooted trees; tree traversals; spanning trees; minimum-cost spanning trees (Kruskal's, Prim's).
- Boolean Algebra: Boolean functions and expressions; logic gates and circuits; Boolean identities; sum-of-products and product-of-sums; Karnaugh maps and minimization.
- Algorithm Foundations: Algorithm description (pseudocode); growth of functions; basic algorithm analysis at an introductory level.
Optional Topics
- Big-O Notation and Algorithm Complexity: Asymptotic analysis at an introductory level.
- Cryptography: Symmetric and asymmetric cryptography; RSA implementation.
- Finite State Machines: Deterministic finite automata; nondeterministic finite automata; regular expressions.
- Generating Functions: Ordinary and exponential generating functions for solving counting problems and recurrences.
- Matrices in Discrete Math: Matrix arithmetic; Boolean matrices; matrix representation of relations and graphs.
Resources & Tools
- Most-adopted textbooks at Florida institutions: Discrete Mathematics and Its Applications by Kenneth H. Rosen (McGraw-Hill) — by far the most widely-adopted at FSU, USF, FIU and many others; Discrete Mathematics with Applications by Susanna S. Epp (Cengage) — known for clear treatment of proofs and logic; Mathematics: A Discrete Introduction by Edward Scheinerman.
- Open-access alternatives: Discrete Mathematics: An Open Introduction by Oscar Levin (free, discrete.openmathbooks.org) — increasingly adopted at Florida institutions as a zero-textbook-cost option; Book of Proof by Richard Hammack (free) — strong companion text for proof-writing.
- Online learning platforms: McGraw-Hill Connect (paired with Rosen); WebAssign; institution Canvas modules; zyBooks (interactive textbook with auto-graded exercises, increasingly adopted for MAD2104).
- Software tools: Most institutions allow scientific (non-graphing) calculators only on exams. Wolfram Alpha (free) and Sage (open source) for exploring discrete-math concepts.
- Reference and visualization tools: Wolfram MathWorld (free); the OEIS (Online Encyclopedia of Integer Sequences); Khan Academy modules on counting and probability.
- Tutoring and support: Institution math learning centers; Supplemental Instruction (SI) sessions; faculty office hours are particularly important for proof-writing instruction.
Career Pathways
- Computer Scientist / Software Engineer — Florida's substantial software-development sector; MAD2104 is required at every Florida CS bachelor's program.
- Computer Engineer — Florida engineering programs (UF, FSU/FAMU, USF, UCF, FIU).
- Cryptographer / Cybersecurity Analyst — Florida government, defense, and healthcare cybersecurity sector.
- Mathematician / Applied Mathematician — pathway through Florida math programs.
- Operations Research Analyst — combinatorial optimization in industry and government.
- Data Scientist / Data Analyst — discrete probability and counting are foundational.
- Algorithm Engineer / Quantitative Analyst — Florida's financial services and tech sectors.
- Computer Science Educator (K–12 or Higher Education) — Florida's expanding CS education programs.
Special Information
Articulation and Transfer
MAD2104 articulates to all Florida SUS institutions and is a required course for computer-science majors at every SUS institution. A grade of C or higher is typically required for the course to satisfy major prerequisites.
General Education vs. Major Requirement
- For computer-science majors: MAD2104 is a required core course; CS programs typically require it before sophomore-year algorithms and data-structures courses.
- For mathematics majors: MAD2104 (sometimes paired with MAD3105 Discrete Mathematics II) is required for most Florida math programs.
- For general-education math: MAD2104 is accepted as a gen-ed math course at some institutions but not all. Students seeking gen-ed math should also consider MAC1105, MAC2233, MGF1106, MGF1107, or STA2023.
Prerequisites
Prerequisites vary considerably by institution:
- MAC1105 (College Algebra) — sufficient at College of Central Florida and some institutions.
- MAC1140 (Precalculus Algebra) or MAC1147 — required at FSU and many SUS institutions.
- MAC2311 (Calculus I) — accepted as alternative at some institutions.
The choice can affect transfer to SUS programs. Students should consult their advisor.
Course Format and Workload
MAD2104 is typically a lecture-discussion course meeting three hours per week. Online formats are available but generally regarded as more challenging given the proof-writing emphasis. Expect: weekly textbook reading; regular problem-set assignments (often involving constructing proofs); 3–5 unit exams; a comprehensive final exam. Out-of-class workload typically runs 7–10 hours per week. The transition to proof-writing is the central challenge — many students find this requires a different study approach than computational courses (MAC2311 etc.).
MAD2104 vs. Other Discrete Math Courses
- MAD3105 — Discrete Mathematics II (continuation at FSU and some others; covers more advanced topics).
- COT3100 / COT3101 — Discrete Structures for Computer Science (similar content with stronger CS focus at some institutions).
Course Code Variations
Florida institutions consistently use MAD2104 for this course, titled "Discrete Mathematics," "Discrete Mathematics I," or "IT Discrete Mathematics" (USF). The course is consistently 3 credits across institutions.