Welcome to CS202: Discrete Structures
Specific information about this course and its requirements can be found below. For more general information about taking Saylor Academy courses, including information about Community and Academic Codes of Conduct, please read the Student Handbook.
Learn discrete mathematics in a way that combines theory with practicality. Major topics include single-membership sets, mathematical logic, induction, proofs, counting theory, probability, recursion, graphs, trees, and finite-state machines.
This provides a clear, accessible introduction to discrete mathematics that combines theory with practicality. Discrete mathematics describes processes that consist of a sequence of individual steps, as compared to forms of mathematics that describe processes that change in a continuous manner. The major topics we cover in this course are single-membership sets, mathematical logic, induction, and proofs. We will also discuss counting theory, probability, recursion, graphs, trees, and finite-state machines.
Understanding the terms "single-membership" and "discrete" are important as you begin this course. "Single-Membership" refers to something that is grouped within only one set and systems that can be in only one state at a time, at the same hierarchical level. Similarly, "discrete" refers to that which is individually separate and distinct. Each of anything can be in only one set or one state at a time. This is a result of Aristotelian philosophy, which holds that there are only two values of membership, 0 or 1. An answer is either no or yes, false or true, 0% membership or 100% membership, entirely in a set or state, or entirely not. There are no shades of gray. This is much different from Fuzzy Logic (due to Lofti Zadeh), where something can be a member of any set or in any state to some degree or another. Degrees of membership are measured in percentage and those percentages add to 100%. But, even in Fuzzy Logic (multiple-membership, multiple-state, non-discrete logic), one ultimately comes to a crisp decision so that some specific action is taken, or not. For this course, it is enough to understand the difference between single-state and multi-state logic.
As you progress through the units of this course, you will develop the mathematical foundation necessary for more specialized subjects in computer science, including data structures, algorithms, cryptology, and compiler design. Upon completion of this course, you will have the mathematical know-how required for an in-depth study of the science and technology that is foundational to the computer age.
This course includes the following units:
- Unit 1: Sets, Set Relations, and Set Functions
- Unit 2: Counting Theory
- Unit 3: Mathematical Logic
- Unit 4: Mathematical Induction and Proofs
- Unit 5: Probability
- Unit 6: Recursion
- Unit 7: Graphs
- Unit 8: Trees
- Unit 9: Finite-State Automata
Course Learning Outcomes
Upon successful completion of this course, you will be able to:
- formulate solutions for selected problem classes involving single-membership sets, classifiable situations, or identifiable event categories;
- apply objective mathematical reasoning to systems composed of discrete objects and events;
- assess the accuracy of probabilistic statements applied to specific situations;
- assess mathematical proofs claiming to show whether or not a condition Y holds, given a premise X;
- interpret situations that have a predetermined sequence of actions that depend on a limited sequence of events;
- describe sequences of events and mathematical results where the next event or result is a function of previous ones;
- explain systems of states (collections of variables describing a specific reality) that have an initial state (given values for each variable) and conditions for transitioning (changing values) from one state to another;
- categorize all possible outcomes for a series of events, or all possible collections of a set of objects;
- diagram hierarchical relationships between individual entities within a given situation; and
- apply networks of mathematical or system entities as tools in computer science to solve various real-world problems.
Throughout this course, you will also see learning outcomes in each unit. You can use those learning outcomes to help organize your studies and gauge your progress.
The primary learning materials for this course are articles, lectures, and videos.
All course materials are free to access and can be found in each unit of the course. Pay close attention to the notes that accompany these course materials, as they will tell you what to focus on in each resource, and will help you to understand how the learning materials fit into the course as a whole. You can also see a list of all the learning materials in this course by clicking on Resources in the navigation bar.
Evaluation and Minimum Passing Score
Only the final exam is considered when awarding you a grade for this course. In order to pass this course, you will need to earn a 70% or higher on the final exam. Your score on the exam will be calculated as soon as you complete it. If you do not pass the exam on your first try, you may take it again as many times as you want, with a 7-day waiting period between each attempt. Once you have successfully passed the final exam you will be awarded a free Course Completion Certificate.
There are also end-of-unit assessments in this course. These are designed to help you study, and do not factor into your final course grade. You can take these as many times as you want until you understand the concepts and material covered. You can see all of these assessments by clicking on Quizzes in the course's navigation bar.
Tips for Success
CS202: Discrete Structures is a self-paced course, which means that you can decide when you will start and when you will complete the course. There is no instructor or an assigned schedule to follow. We estimate that the "average" student will take 44 hours to complete this course. We recommend that you work through the course at a pace that is comfortable for you and allows you to make regular progress. It's a good idea to also schedule your study time in advance and try as best as you can to stick to that schedule.
Learning new material can be challenging, so we've compiled a few study strategies to help you succeed:
- Take notes on the various terms, practices, and theories that you come across. This can help you put each concept into context, and will create a refresher that you can use as you study later on.
- As you work through the materials, take some time to test yourself on what you remember and how well you understand the concepts. Reflecting on what you've learned is important for your long-term memory, and will make you more likely to retain information over time.
Suggested Prerequisites[If applicable]
In order to take this course, you should:
- have completed at least one of the following courses:
- understand the use of functions and procedures, conditional statements, loops, recursion, data types, and evaluation of expressions
- have skills in basic algebra and calculus
This course is delivered entirely online. You will be required to have access to a computer or web-capable mobile device and have consistent access to the internet to either view or download the necessary course resources and to attempt any auto-graded course assessments and the final exam.
- To access the full course including assessments and the final exam, you will need to be logged into your Saylor Academy account and enrolled in the course. If you do not already have an account, you may create one for free here. Although you can access some of the course without logging in to your account, you should log in to maximize your course experience. For example, you cannot take assessments or track your progress unless you are logged in.
For additional guidance, check out Saylor Academy's FAQ.
This course is entirely free to enroll in and to access. Everything linked in the course, including textbooks, videos, webpages, and activities, is available for no charge. This course also contains a free final exam and course completion certificate.