Skip to content

CS285 - Discrete Math for Computing

CS285 introduces mathematical logic and fundamental discrete structures used in computing. The course covers propositional logic, predicates, sets, functions, sequences, summations, matrices, number theory, cryptography, induction, recursion, counting, recurrence relations, and relations.

The course prepares students for higher-level computing courses where discrete structures and proof techniques are fundamental.


Course project

I created and documented a CS285 cryptography project for this course. You can view the portfolio entry and open the project here: Project portfolio · Project site · Repository


Course Information

Item Details
Course code CS285
Course title Discrete Math for Computing
Credits/contact hours 3 credits and 4 contact hours: lectures 3, tutorials 1
Prerequisite CS101
Main textbook Kenneth H. Rosen, Discrete Mathematics and its Applications, 7th ed.
Course role Required core course for CS, SE, and IS programs

Course Learning Outcomes

By the end of CS285, students should be able to:

  1. Describe basic concepts of propositional logic, sets, sequences, functions, sums, number theory, recurrences, and counting.
  2. Apply proof techniques using propositional logic, rules of inference, and induction.
  3. Perform operations on integers, matrices, sets, functions, sequences, sums, number theory, relations, propositional logic, and proof techniques.
  4. Apply counting principles and recurrence relations to counting problems.
  5. Use basic cryptography algorithms.
  6. Collaborate ethically and communicate clearly when developing cryptographic solutions.

Course Content

  • Logic, Sets, and Functions


    Propositional logic, applications of propositional logic, logical equivalences, predicates, quantifiers, and rules of inference.

  • Basic Structures


    Sets, set operations, functions, sequences, summations, and matrices.

  • Number Theory and Cryptography


    Integers and division, primes, greatest common divisors, and introductory cryptographic algorithms.

  • Induction and Recursion


    Mathematical induction, recursive definitions, and structural induction.

  • Counting


    Basic counting rules, permutations, combinations, and binomial coefficients.

  • Advanced Counting Techniques


    Recurrence relations and methods for solving recurrence relations.

  • Relations


    Relation properties, representing relations, closures of relations, and equivalence relations.


Assessments

Assessment Weight
Major exam 20%
Project 10%
Assignments 5%
Attendance 5%
Quizzes 20%
Final exam 40%

Current Site Coverage

Syllabus topic Current site material Status
Logic, sets, and functions Chapter 1 notes and slides Covered
Basic structures Chapter 2 notes and slides Covered
Number theory and cryptography Chapter 4 notes and slides Covered
Induction and recursion Chapter 5 notes, slides, and handout Covered
Counting Chapter 6 notes and slides Covered
Advanced counting techniques Chapter 8 notes and slides Covered
Relations Chapter 9 notes and slides Covered
Cryptography project support Covered inside number theory/cryptography material Covered

Study Path

  1. Begin with propositional logic, predicates, sets, and functions.
  2. Move into number theory and cryptography after the basic structures.
  3. Study induction and recursion carefully because they support later proofs.
  4. Work through counting, advanced counting, and recurrence relations.
  5. Finish with relations and their properties.
  6. Use the cheat sheet only after practicing proof and counting problems by hand.

Source

This overview was updated from the CS285 course syllabus and the current files in the CS285 section of this site.