Brief Description of Course Content
The course covers fundamental ideas from discrete mathematics, especially for computer science students. It focuses on topics that will be foundational for future courses including algorithms, artificial intelligence, programming languages, theoretical computer science, computer systems, cryptography, networks, computer/network security, databases, and compilers.
Specific Goals for the Course
We will build on the following 6 primary learning goals throughout the term:
- Understand and construct logical arguments and proofs using formal logic, truth tables, and proof techniques.
- Understand and use the basics structures of sets, functions, sums and matrices.
- Use and understand algorithms, number theory and cryptography
- Demonstrate and make arguments using counting, and probability.
- Use, develop, and analyze formal relations, and graph theory.
- Develop the skills of “Mathematical Maturity” including:
- The capacity to generalize from a specific example to broad concept.
- The capacity to handle increasingly abstract ideas.
- A significant shift from learning by memorization to learning through understanding
- The ability to recognize mathematical patterns and think abstractly.
- Read, write and critique formal proofs
- Teach yourself and fill in missing details.
- Proof techniques
- Modular Arithmetic
- Number theory
- Bayes Thm
Basic algebra, program entry requirements.
Return to Course List