Operating systems courses describe best practices for tasks such
as allocating memory and scheduling processes. Typically, the values
of key parameters for those tasks are
chosen through experience. But with
ML the parameter values, and sometimes the whole approach, can be allowed to vary depending on the tasks
that are actually running, enabling
systems that are more efficient and
more adaptable to changing work
loads, even ones not foreseen by
their designer. Future OS coursework
may need to include the study of ML
techniques for dynamically optimizing system performance. 3
Changes to Prerequisite and Concurrent Expectations. It is typical for
CS curricula to require coursework outside of CS departments, such as courses
in mathematics and physics. In many
cases, and especially when CS programs
are housed within schools of engineering, these requirements emphasize
calculus coursework. Many programs
include coursework in probability and
statistics, though notably the authors of
ACM and IEEE’s joint Computing Curricula 2013 “believe it is not necessary for
all CS programs to require a full course
in probability theory for all majors.” 4
Are these recommendations still
appropriate? Many programs require coursework in probability and
statistics, which we enthusiastically
encourage, as they are crucial for engaging with the theory behind ML
algorithm design and analysis, and
for working effectively with certain
powerful types of ML approaches. Linear algebra is essential for both ML
practitioners and researchers, as is
knowledge about optimization. The
set of foundational knowledge for ML
is thus both broad and distinct from
that conventionally required to obtain
a CS degree. What, therefore, should
be considered essential to the training
of tomorrow’s computer scientists?
The ACM-IEEE Computer Science
Curricula 20134 identifies 18 differ-
ent Knowledge Areas (KAs), including
Algorithms and Complexity, Archi-
tecture and Organization, Discrete
Structures, and Intelligent Systems.
The definitions and recommended du-
rations of attention to the KAs reflect
a classic view of CS; ML is referred to
exclusively within a few suggested
elective offerings. We believe the rapid
rise in the use of ML within CS in just
the past few years indicates the need to
rethink guiding documents like this,
along with commensurate changes in
the educational offerings of comput-
In addition, research on how people learn ML is desperately needed.
Nearly the entirety of the published
computing education literature
pertains to classical approaches to
computing. As we have mentioned
earlier in this column, ML systems
are fundamentally different than
traditional data structures and algorithms, and must, therefore, be reasoned about and learned differently.
Many insights from mathematics and
statistics education research are likely to be relevant to machine learning
education research, but researchers
in these fields only rarely intersect
with computing education researchers. Therefore, we call upon funding
agencies and professional societies
such as ACM to use their convening
power to bring together computing education researchers and math
education researchers in support of
developing a rich knowledge base
about the teaching and learning of
1. Aho, A. V. Computation and computational thinking.
The Computer Journal 55, 7 (July 2012), 832–835.
2. Boulay, B.D., O’Shea, T., and Monk, J. The black box
inside the glass box: Presenting computing concepts
to novices. International Journal of Man-Machine
Studies 14, 3 (Apr. 1981), 237–249; https://doi.
3. Dean, J., Patterson, D., and Young, C. A new golden
age in computer architecture: Empowering the
machine-learning revolution. IEEE Micro 38, 2 (Mar./
Apr. 2018), 21–29.
4. Joint Task Force on Computing Curricula, Association
for Computing Machinery, IEEE Computer Society
(2013). Computer science curricula 2013; https://bit.
5. Langley, P. Machine learning as an experimental
science. Machine Learning 3, 1 (Jan. 1998), 5–8.
6. Wing, J.M. Computational thinking. Commun. ACM 49,
3 (Mar. 2006), 33–35.
R. Benjamin Shapiro ( firstname.lastname@example.org) is an
assistant professor in the ATLAS Institute, the Department
of Computer Science, and (by courtesy) the School of
Education and the Department of Information Science at
the University of Colorado, Boulder, USA.
Rebecca Fiebrink ( email@example.com) is a senior
lecturer in the Department of Computing at Goldsmiths,
University of London.
Peter Norvig ( firstname.lastname@example.org) is Director of
Research at Google, Inc.
Copyright held by authors.
For further information
or to submit your
ACM Journal of
Providing Research and Tools
for Better Data
ACM JDIQ is a multidisciplinary journal
that attracts papers
to algorithmic solutions
to empirical research
mission is to publish
high impact articles
contributing to the
field of data and
information quality (IQ).