University of Maryland Global Campus

CMSC 150: Introduction to Discrete Structures

A study guide to UMGC's CMSC 150, the course on sets, functions, relations, graphs, trees, logic and proofs that underpin computer science.

Updated October 2026 · 5 min read

CMSC 150 at the University of Maryland Global Campus introduces the discrete mathematics that supports reasoning and problem solving in computer science.

UMGC lists the topics as sets, functions, relations, graphs, trees and logic. Proof techniques are introduced as tools to verify properties of these structures, with emphasis on spotting and applying patterns, reasoning logically and communicating solutions clearly.

Students who are comfortable with programming are often surprised by this course. There is little code; instead you are asked to write arguments that hold for every case. Learning to write a clear, complete proof is the main hurdle.

Course at a Glance

ItemDetails
UniversityUniversity of Maryland Global Campus (UMGC)
Course codeCMSC 150 (3 credits)
LevelUndergraduate, lower level
Credit noteCredit for only one of CMSC 150 or CMSC 250
Subject areaDiscrete mathematics for computer science
Typical workProblem sets, short proofs, logic and graph exercises

What CMSC 150 Covers

TopicWhy it matters in computing
LogicConditions in code, circuit design and correctness arguments
SetsCollections of data, database queries, types
FunctionsMappings between inputs and outputs, hashing
RelationsOrdering, equivalence and database tables
GraphsNetworks, routes and dependencies
TreesFile systems, search structures and hierarchies
Proof techniquesShowing an algorithm or property always works

Key Concepts Explained

Implication and Its Contrapositive

"If P then Q" is logically equivalent to "if not Q then not P". It is not equivalent to "if Q then P" (the converse), a common mistake.

Example: "If a number is divisible by 4, it is even" is true. Its contrapositive, "if a number is not even, it is not divisible by 4", is also true. The converse, "if a number is even, it is divisible by 4", is false: 6 is a counterexample.

Proof by Induction

Prove a base case, then show that if the statement holds for n it holds for n + 1.

Example: Claim: 1 + 2 + ... + n = n(n + 1)/2. Base case n = 1: both sides equal 1. Inductive step: assume it holds for n; adding n + 1 gives n(n + 1)/2 + (n + 1) = (n + 1)(n + 2)/2, which is the formula for n + 1. So it holds for all positive integers.

Graphs and Trees

A tree is a connected graph with no cycles. A tree with n vertices always has exactly n - 1 edges, a fact that is useful when checking network designs.

Typical Assignments and How to Approach Them

Assignment typeWhat it testsHow to approach it
Logic problemsTruth tables and equivalencesWork systematically, row by row
Set and function exercisesUsing definitions preciselyWrite the definition first, then apply it
ProofsRigorous reasoningState what is given and what you must show
Graph problemsModeling and propertiesDraw the graph and label vertices and edges

Writing Proofs Clearly

UMGC's description stresses communicating solutions clearly, and proofs are where that counts most. A clear proof states what is assumed, names the technique (direct, contrapositive, contradiction or induction), and moves in short justified steps to the conclusion.

Write in full sentences, not just symbols. End by restating what has been shown. If a step feels obvious, add the reason anyway; markers cannot give credit for reasoning they cannot see.

Relations and Functions in Practice

Relations and functions appear throughout computing. A relation is any set of ordered pairs; a function is a relation where each input has exactly one output.

Example: The relation "has student ID" from students to numbers is a function if every student has exactly one ID. It is one-to-one if no two students share an ID, which is exactly the property a database primary key needs.

Properties such as reflexive, symmetric and transitive classify relations. A relation with all three is an equivalence relation, which groups items into classes, like grouping integers by their remainder when divided by 3.

Where Students Get Stuck

Study Tips for CMSC 150

How We Help with CMSC 150

Send the problem set, your working and the rubric. A tutor with a maths or computer science background can explain a concept, check your reasoning, or prepare fully worked solutions to similar problems so you can learn the method and then solve your own.

GradeEssays is independent of the University of Maryland Global Campus. Our help is tutoring and model material within UMGC's academic integrity policy; we never take quizzes or exams for students.

Make Sense of Discrete Structures

Share the problems and your attempts. A tutor prepares clear worked solutions to similar problems so you can learn the method.

Start My Discrete Maths Help

Free revisions · Full refund if late · Written from scratch for your order

Frequently Asked Questions

What topics does CMSC 150 cover?

UMGC lists sets, functions, relations, graphs, trees and logic, with proof techniques used to verify properties of these structures.

Can I take both CMSC 150 and CMSC 250?

No. UMGC states that students may receive credit for only one of CMSC 150 or CMSC 250.

Is there programming in CMSC 150?

The course is mainly mathematical reasoning rather than coding, though the topics support later programming courses.

Why is discrete maths needed for computer science?

Logic, graphs, trees and proofs underpin algorithms, data structures, databases and correctness arguments.

How do I get better at proofs?

Learn definitions precisely, study worked examples, try small cases first and write each step with its justification.

Can you do my CMSC 150 quiz?

No. We never take quizzes or exams. We explain methods and provide worked examples of similar problems.