MSF Version Beta
MSF Version Beta
Preamble
Methodology
The subcommittee’s recommendations are informed by receiving input from the mathematical
requirements in other Knowledge Areas (KAs), from the CS theory community, from various
reports (example: Park City report on data science) and, critically, two surveys, one to faculty
and one to industry practitioners. The first survey was issued to computer science faculty (with
nearly 600 faculty responding) across a variety of institutional types and in various countries to
obtain a snapshot of current practices in mathematical foundations and to solicit opinion on the
importance of particular topics beyond the traditional discrete mathematics. The second survey
was sent to industry employees (approximately 680 respondents) requesting their views on
curricular topics and components.
Changes since CS 2013: While the traditional discrete math course remains a mainstay of
computer science programs, what has changed is rising faculty concern about students’
mathematical preparation and attitude coming into computer science. The most striking change
from 2013, however, arises from considering the mathematical needs of the rapidly growing
areas of artificial intelligence, machine learning, robotics, data science, and quantum computing.
When survey’s respondents, which included (self-identified) experts in these areas, rated the
importance of a number of mathematical topics both for employment and graduate school, the
top five broad content areas were: precalculus, calculus I, linear algebra, probability, and
statistics.
1
seek. Even amongst faculty, there is recurring debate on whether calculus should be required of
computer science students, accompanied by legitimate concern about the impact of calculus
failure rates on computer science students. Yet, at the same time, the discipline has itself
undergone a significant mathematical change: machine learning, robotics, data science, and
quantum computing all demand a different kind of math than what’s typically covered in a
standard discrete structures course. The combination of changing mathematical demands and
inadequate student preparation or motivation, in an environment of enrollment-driven strain on
resources, has become a key challenge for CS departments.
Summary of recommendations
● Standardize the prerequisites to discrete math. The faculty survey shows that
institutional variation in discrete-math prerequisites distributes nearly evenly across
algebra, precalculus and calculus, suggesting differing approaches to the mathematical
maturity sought. Requiring precalculus appears to be a reasonable compromise, so that
students come in with some degree of comfort with symbolic math and functions.
● Include applications in math courses. Studies show that students are motivated when
they see applications. We recommend including minor programming assignments or
demonstrations of applications to increase student motivation. While computer science
departments may not be able to insert such applications into courses offered by other
departments, it is possible to include applications of math in the computer science
courses that are co-scheduled with mathematical requirements, and to engage with
textbook publishers to provide such material.
● Apply available resources to enable student success. The subcommittee
recommends that institutions adopt remedial options to ensure sufficient preparation
without lowering standards in discrete mathematics. Theory courses can be moved
further back in the curriculum to accommodate freshmen-year remediation, for example.
And, where possible, institutions can avail of online tutoring systems (such as ALEKS)
alongside regular coursework.
● Expand core mathematical requirements to meet the rising demand in new growth
areas of computer science. What is clear, looking forward to the next decade, is that
exciting high-growth areas of computer science require a strong background in linear
algebra, probability and statistics (preferably calculus-based). Accordingly, we
recommend including as much of this material into the standard curriculum as possible,
● Send a clear message to students about mathematics while accommodating their
individual circumstances. Faculty and institutions are often under pressure to help
every student succeed, many of whom struggle with math. While pathways, including
computer science-adjacent degrees or tracks, can be created to steer students past
math requirements towards software-focused careers, faculty should be equally direct in
explaining the importance of sufficient mathematical preparation for graduate school and
for the very topical areas that excite students.
● Adapt to institutional mission and student context. Faculty often advise our students
with a version of "the more math you take, the better" and, for plenty of students,
particularly those bound for graduate school, that advice is sound; for others, it is
unhelpful or even off-putting. Yet, institutions and students differ, with positive
consequences for society. Some of these differences arise from the diversity of systems
2
of higher education, within and across countries; some arise from varying goals for
particular programs, for example adopting a more pre-professional curricular outlook or
adopting a more foundational one. Liberal-arts colleges, for example, are severely
constrained in how many technical courses they can require; yet, their student success
validates their unique approach. Accordingly, we recommend that institutions creatively
adapt these recommendations to their local context and strengths.
Core Hours
Basic Logic 9
Proof Techniques 10 1
Basics of Counting 5
Discrete Probability 6 2
Statistics TBD
Total 34 4
Knowledge Units
MSF/PreCalculus
[Considered pre-requisites, not part of CS core]
Topics:
Algebra: adding fractions, rules of exponents, solving linear or quadratic equations with
one or two variables
Functions: function notation, drawing and interpreting graphs of functions
Exponentials and logarithms: a general familiarity with the functions and their graphs
Geometry: distances between points, areas of common shapes
Trigonometry: familiarity with basic trigonometric functions and the unit circle
3
o Venn diagrams
o Union, intersection, complement
o Cartesian product
o Power sets
o Cardinality of finite sets
Relations
o Reflexivity, symmetry, transitivity
o Equivalence relations, partial orders
Functions
o Surjections, injections, bijections
o Inverses
o Composition
Learning Outcomes:
1. Explain with examples the basic terminology of functions, relations, and sets.
2. Perform the operations associated with sets, functions, and relations.
3. Relate practical examples to the appropriate set, function, or relation model, and
interpret the associated operations and terminology in context.
MSF/Basic Logic
[9 CS Core hours]
Topics:
Propositional logic (cross-reference: Propositional logic is also reviewed in AI/Knowledge
Based Reasoning)
Logical connectives
Truth tables
Normal forms (conjunctive and disjunctive)
Validity of well-formed formula
Propositional inference rules (concepts of modus ponens and modus tollens)
Predicate logic
o Universal and existential quantification
Limitations of propositional and predicate logic (e.g., expressiveness issues)
Learning Outcomes:
1. Convert logical statements from informal language to propositional and predicate logic
expressions.
2. Apply formal methods of symbolic propositional and predicate logic, such as calculating
validity of formulae and computing normal forms.
3. Use the rules of inference to construct proofs in propositional and predicate logic.
4. Describe how symbolic logic can be used to model real-life situations or applications,
including those arising in computing contexts such as software analysis (e.g., program
correctness), database queries, and algorithms.
4
5. Apply formal logic proofs and/or informal, but rigorous, logical reasoning to real
problems, such as predicting the behavior of software or solving problems such as
puzzles.
6. Describe the strengths and limitations of propositional and predicate logic.
MSF/Proof Techniques
[10 CS Core hours, 1 KA Core hour]
Topics:
[CS Core]
Notions of implication, equivalence, converse, inverse, contrapositive, negation, and
contradiction
The structure of mathematical proofs
Direct proofs
Disproving by counterexample
Proof by contradiction
Induction over natural numbers
Structural induction
Weak and strong induction (i.e., First and Second Principle of Induction)
Recursive mathematical definitions
[KA Core]
Well orderings
Learning Outcomes:
[CS Core]
1. Identify the proof technique used in a given proof.
2. Outline the basic structure of each proof technique (direct proof, proof by contradiction,
and induction) described in this unit.
3. Apply each of the proof techniques (direct proof, proof by contradiction, and induction)
correctly in the construction of a sound argument.
4. Determine which type of proof is best for a given problem.
5. Explain the parallels between ideas of mathematical and/or structural induction to
recursion and recursively defined structures.
6. Explain the relationship between weak and strong induction and give examples of the
appropriate use of each.
[KA Core]
7. State the well-ordering principle and its relationship to mathematical induction.
MSF/Basics of Counting
[5 CS Core hours]
Topics:
Counting arguments
o Set cardinality and counting
5
o Sum and product rule
o Inclusion-exclusion principle
o Arithmetic and geometric progressions
The pigeonhole principle
Permutations and combinations
o Basic definitions
o Pascal’s identity
o The binomial theorem
Solving recurrence relations (cross-reference: AL/Basic Analysis)
o An example of a simple recurrence relation, such as Fibonacci numbers
o Other examples, showing a variety of solutions
Basic modular arithmetic
Learning Outcomes:
1. Apply counting arguments, including sum and product rules, inclusion-exclusion principle
and arithmetic/geometric progressions.
2. Apply the pigeonhole principle in the context of a formal proof.
3. Compute permutations and combinations of a set, and interpret the meaning in the
context of the particular application.
4. Map real-world applications to appropriate counting formalisms, such as determining the
number of ways to arrange people around a table, subject to constraints on the seating
arrangement, or the number of ways to determine certain hands in cards (e.g., a full
house).
5. Solve a variety of basic recurrence relations.
6. Analyze a problem to determine underlying recurrence relations.
7. Perform computations involving modular arithmetic.
MSF/Discrete Probability
[6 CS Core hours, 2 KA Core hour]
Topics:
[CS Core]
Finite probability space, events
Axioms of probability and probability measures
Conditional probability, Bayes’ theorem
Independence
Integer random variables (Bernoulli, binomial)
Expectation, including Linearity of Expectation
[KA Core]
Variance
Conditional Independence
Learning Outcomes:
6
[CS Core]
1. Calculate probabilities of events and expectations of random variables for elementary
problems such as games of chance.
2. Differentiate between dependent and independent events.
3. Identify a case of the binomial distribution and compute a probability using that
distribution.
4. Apply Bayes theorem to determine conditional probabilities in a problem.
5. Apply the tools of probability to solve problems such as the average case analysis of
algorithms or analyzing hashing.
[KA Core]
6. Compute the variance for a given probability distribution.
7. Explain how events that are independent can be conditionally dependent (and vice-
versa). Identify real-world examples of such cases.
Learning Outcomes:
[CS Core]
1. Illustrate by example the basic terminology of graph theory, and some of the properties
and special cases of each type of graph/tree.
2. Demonstrate different traversal methods for trees and graphs, including pre, post, and
in-order traversal of trees.
3. Model a variety of real-world problems in computer science using appropriate forms of
graphs and trees, such as representing a network topology or the organization of a
hierarchical file system.
4. Show how concepts from graphs and trees appear in data structures, algorithms, proof
techniques (structural induction), and counting.
[KA Core]
5. Explain how to construct a spanning tree of a graph.
6. Determine if two graphs are isomorphic.
7
MSF/Calculus
[KA Core]
Topics:
Sequences, series, limits
Single-variable derivatives: definition, computation rules (chain rule etc), derivatives of
important functions, applications
Single-variable integration: definition, computation rules, integrals of important functions,
fundamental theorem of calculus, definite vs indefinite, applications (including in
probability)
Parametric formulation, polar representation
Taylor series
Multivariate calculus: partial derivatives, gradient, chain-rule, vector valued functions,
applications to optimization, convexity, global vs local minima
ODEs: definition, Euler method, applications to simulation
MSF/Linear Algebra
[KA Core]
Topics:
Matrices, matrix-vector equation, geometric interpretation, geometric transformations
with matrices
Solving equations, row-reduction
Linear independence, span, basis
Orthogonality, projection, least-squares, orthogonal bases
Linear combinations of polynomials, Bezier curves
Eigenvectors and eigenvalues
Applications to computer science: PCA, SVD, page-rank, graphics
MSF/Statistics
[KA Core]
Topics:
Basic definitions and concepts: populations, samples, measures of central tendency,
variance
Univariate data: point estimation, confidence intervals
Multivariate data: estimation, correlation, regression
Data transformation: dimension reduction, smoothing
Statistical models and algorithms
Professional Dispositions
Meticulous: Students must pay attention to detail when applying math to problems
Persistent: Students need to be persistent to both learn and apply math.
8
Shared Concepts and Crosscutting Themes
Shared concepts:
MSF/Graphs and Trees is shared with AL/Fundamental Data Structures and Algorithms
Every department faces constraints in delivering content which precludes merely requiring a
long list of courses covering every single desired topic. These constraints include content-area
ownership, faculty size, student preparation, and limits on the number of departmental courses
a curriculum can require. We list below some options for mathematical foundations,
combinations of which might best fit any particular institution:
● Traditional course offerings. With this approach, a computer science department
requires students to take math-department courses in the six broad mathematical areas
listed above, for a total of 8 courses including Precalculus.
● A “Continuous Structures” analog of Discrete Structures. Many computer science
departments now offer courses that prepare students mathematically for AI and machine
learning. Such courses can combine just enough calculus, optimization, linear algebra
and probability; yet others may split linear algebra into its own course. These courses
have the advantage of motivating students with computing applications, and including
programming as pedagogy for mathematical concepts.
● Integration into application courses. An application course such as machine learning
can be spread across two courses, with the course sequence including the needed
mathematical preparation taught just-in-time. This may have the advantage of mitigating
turf issues and helping students see applications immediately after encountering math.
● Specific course adaptations. For nearly a century, physics and engineering needs
have driven the structure of calculus, linear algebra, and probability. Computer science
departments can collaborate with their colleagues in math departments to restructure
math-offered sections in these areas that are driven by computer science applications.
For example, calculus could be reorganized along the lines described above, with all the
computing needs fitted into two calculus courses, leaving later calculus for engineering
and physics students.
Committee
Members:
Richard L. Blumenthal, Regis University, Denver, CO, USA
Marc Deisenroth, University College, London, UK
Michael Goldweber, Xavier University, Cincinnati, OH, USA
Cynthia Bailey Lee, Stanford University, Palo Alto, CA, USA
David Liben-Nowell, Carleton College, Northfield, MN, USA
9
Jodi Tims, Northeastern University, Boston, MA, USA
10