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:
- Describe basic concepts of propositional logic, sets, sequences, functions, sums, number theory, recurrences, and counting.
- Apply proof techniques using propositional logic, rules of inference, and induction.
- Perform operations on integers, matrices, sets, functions, sequences, sums, number theory, relations, propositional logic, and proof techniques.
- Apply counting principles and recurrence relations to counting problems.
- Use basic cryptography algorithms.
- 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¶
- Begin with propositional logic, predicates, sets, and functions.
- Move into number theory and cryptography after the basic structures.
- Study induction and recursion carefully because they support later proofs.
- Work through counting, advanced counting, and recurrence relations.
- Finish with relations and their properties.
- 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.