55AA-007

Discrete Mathematics

Level
Undergraduate
Status
Under development

Note: this course is still being designed and calibrated; the page content is for reference and does not represent the final teaching version.

Syllabus

Course Overview

Discrete Mathematics provides proof, modeling, and abstraction skills for computing systems and security. The course covers logic, sets, relations, functions, induction, counting, graphs, trees, automata, and basic probability, tying topics to programs, protocols, cryptography, and system design.

This is the mathematical entry course for applied cryptography, compilers, program analysis, and protocol verification.

Prerequisites

  • High-school mathematics and basic programming experience.
  • Willingness to practice formal expression and rigorous proof.
  • No advanced mathematics background required.

Learning Outcomes

  • Use propositional and predicate logic to express computational properties.
  • Write direct, contradiction, induction, and constructive proofs.
  • Model system structures with graphs, relations, and automata.
  • Solve counting and basic probability problems.
  • Connect mathematical models to program correctness, protocols, and cryptographic applications.

Course Format

  • Two meetings per week: one for core concepts and one for labs, paper discussion, or project review.
  • The course proceeds over 16 weeks, each with a checkable assignment, lab, or project milestone.
  • Reproducibility is required: code, configuration, data, lab logs, and reports must be reviewable by staff or peers.

Weekly Plan

Week 2

Logic, propositions, and predicates: lab and review

Translate program properties into logical formulas. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 4

Proof methods and induction: lab and review

Prove correctness of a recursive program by induction. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 6

Sets, relations, and functions: lab and review

Model access control and equivalence relations. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 8

Counting and combinatorics: lab and review

Analyze key spaces and collision probabilities. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 9
Week 10

Graphs, trees, and traversal: lab and review

Represent dependencies, attack paths, or control flow as graphs. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 12

Recurrences, complexity, and asymptotics: lab and review

Analyze algorithm cost and protocol-state growth. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 14

Automata and formal languages: lab and review

Construct a lexical rule or protocol state machine. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 16

Probability models and randomized algorithms: lab and review

Complete a randomized experiment and security-parameter analysis. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Assessment

Individual assignments

Concept questions, reading responses, design tasks, and small programming or lab exercises.

25%
Labs and project

Proof assignments, modeling exercises, and a small mathematical application project.

40%
Participation and review

Participation in discussions, demos, code or paper reviews, and peer feedback.

10%
Final report and defense

Submit reproducible artifacts, a technical report, and a demo explaining methods, results, limitations, and future work.

25%

Course Project

Students model a computing or security topic with discrete structures and provide proof or experimental explanation, such as protocol state machines, access-control relations, control-flow graphs, or cryptographic parameter analysis.

Policies

  • AI tools are allowed, but generated code, lab notes, and design suggestions must be reviewed by the student and disclosed in the report.
  • Students may not submit code, proofs, configuration, or experimental results they cannot explain; each member must defend their own design, tests, and tradeoffs.
  • Late work affects iteration grades, but the course values reproducible, auditable, and maintainable results over last-minute accumulation.

Reference Courses

China 985 Universities