Overview of Course
We will focus on the fundamental mathematical structures and logical principles that
are relevant to the study of Computer Science. Students will be encouraged to develop
an understanding of how modern mathematics provides a sound foundation upon which
to build a deeper understanding of the nature of computing.
CMSC250 prepares students for continuing study in Computer Science by having students
read and construct a variety of proofs from number theory, combinatorics, algebra (sets
and functions), and, time permitting, generalized relations (graphs).
Texts, and other instructional materials
Note, the fourth edition of the Epp text was used in planning this course, but the third edition (which may be available through
online sources) is also usable.
Overview of course topics
This course provides students with an introduction to the essential elements of mathematics for computing:
formal logic, sets, relations and functions, standard theorem proving methods, with an emphasis on
induction, combinatorics and relations, and, time-permitting an introduction to graph theory. Topics discussed include, but are not
limited to:
- Logic: This topic includes the elements of formal logic, including propositional and quantificational forms.
- Circuits and binary arithmetic: We explore how propositional logic enables the design of circuits and in basic mathematical
operations in computing.
- Basics from Number Theory: We explore the topics from number theory that are relevant to computing: divisibility, prime factorization,
modular arithmetic, and commonly used proof techniques, including direct and indirect proof, and proof by induction.
- Summations, recurrences and mathematical induction: Special emphasis is placed on developing student facility with
weak, strong, constructive and structural induction.
- Sets: Arguably, sets are the basis for structure in mathematics. Students will construct proofs over both finite and
infinite sets.
- Functions and relations: Students are given a brief introduction to a modern perspective on functions as
mathematical objects with an emphasis on cancellation properties and various binary relations.
- Relations and Combinatorics: Various counting schemes are proved and employed, such as permutations and combinations,
with and without replacement with an emphasis on how these appear in computing contexts.
- (Time Permitting) Graph Theory: An introduction to graphs and their properties as they commonly occur in
Computer Science.
Web Accessibility