Role Of Mathematics In Science Pdf
There is evidence that the day-to-day practice of computer science involves little if any use of mathematics, despite numerous connections between the disciplines. This gap between math's practical and intellectual roles in computer science leads to an awkward place for mathematics in undergraduate computer science curricula--required mathematics courses align poorly with the needs of computer science, and students study lots of math but relatively few computer science courses use it. Computer science graduates are therefore unwilling and unable to apply mathematics on the job. Fortunately, small local changes can strike directly at major contributors to the problem.
Figures - uploaded by Peter B. Henderson
Author content
All figure content in this area was uploaded by Peter B. Henderson
Content may be subject to copyright.
Discover the world's research
- 20+ million members
- 135+ million publications
- 700k+ research projects
Join for free
comprehensive articles
74 acm Inroads 2013 December • Vol. 4 • No. 4
INTRODUCTION
Scientific and engineering disciplines generally are closely coupled to
mathematics. The natural sciences make mathematical models of the phe-
nomena they study; both the natural and social sciences rely on statis-
tics to tease meaning out of raw data; engineers depend on mathematical
models at all stages of system design, construction, and maintenance. The
one pair of exceptions to this rule appears to be computer science and soft-
ware engineering. Practicing software developers make little use of math-
ematics [20, 31], and conventional wisdom says the same of computer
science students. Yet it would be very strange if the relationship between
computer science, software engineering, and mathematics were really as
loose as it seems. At the very least it would be suspicious for computer sci-
ence and software engineering to be the only non-mathematical members
of the science and engineering family; at the worst it would be downright
dangerous for the disciplines to reject methods that characterize the fields
whose names they use.
This paper argues that, although the day-to-day practice of computing
often requires little if any mathematics, there are nonetheless important
connections between computer science, software engineering, and math-
ematics. The next section discusses the roles mathematics plays in computer
science, including how specific mathematical topics interact with specific
computer science topics, and how mathematical reasoning complements
computer science reasoning. The third section explores the role mathemat-
ics plays in computer science education and analyzes the disparity between
its role in the general discipline and its role in education. A brief conclusion
then summarizes the main points and their implications for computer sci-
ence curricula.
Although the rest of the paper focuses on "computer science," we use
the term generically rather than to identify a single precise discipline: our
ultimate concern is with the education of computing professionals, most of
whom still receive that education through a program that identifies itself as
"computer science." Our argument and conclusions apply to software engi-
neering as well as to computer science.
The Roles of
Mathematics in
Computer Science
Douglas Baldwin • Henry M. Walker • Peter B. Henderson
T here is evidence that the day-to-
day practice of computer science
involves little if any use of mathematics,
despite numerous connections between
the disciplines. This gap between
math's practical and intellectual roles in
computer science leads to an awkward
place for mathematics in undergraduate
computer science curricula—required
mathematics courses align poorly
with the needs of computer science,
and students study lots of math but
relatively few computer science courses
use it. Computer science graduates are
therefore unwilling and unable to apply
mathematics on the job. Fortunately,
small local changes can strike directly
at major contributors to the problem.
comprehensive articles
2013 December • Vol. 4 • No. 4 acm Inroads 75
MATHEMATICS' ROLE
IN COMPUTER SCIENCE
Computer scientists use math in their professional lives in several
ways. First, mathematics provides the theoretical basis for many
subfields of computer science, and important analytic tools for oth-
ers; computer scientists thus apply specific mathematical topics to
specific computing problems. More generally, mathematics pro-
vides a framework for reasoning about computing and computing
problems, and even more broadly, provides a mental discipline for
solving those problems.
Specific Mathematical Topics
It is reasonably easy to identify individual pieces of mathematics
that find use in specific areas of computing (e.g., "Boolean alge-
bra can be used to manipulate conditional expressions"). What is
hard is identifying an appropriate level of detail at which to ana-
lyze computing's uses of mathematics, and imposing some stan-
dard of completeness on that analysis. In an attempt to do these
things, we used the 2012 ACM computing classification system
[19] as a guide to the subject matter that makes up "computer sci-
ence," and attempted to identify the
mathematics that is important in
each top-level category. To recog-
nize "important" mathematics, we
looked for references to mathematics
in the classification system itself, we
consulted books that are considered
definitive references within some of
the categories [7, 10, 14, 28], and we
drew on our own knowledge. Note
that we excluded the "general and
reference" category from our analysis
as orthogonal to that analysis, and
"mathematics of computing" because
our goal was essentially to match its
elements to the other categories. The
value of this approach is that it brings
some objectivity to the process of
aligning mathematics and computer
science; the price of that objectivity is
that everyone will no doubt see ways
in which the alignment differs from
their personal perceptions. We offer
the approach as a first step in devel-
oping a comprehensive understand-
ing of what math is important for
computer science, but certainly don't
expect our analysis to be the last word
on the subject.
Figure 1 shows our association
of mathematical topics (blue) with
computing classification system cate-
gories (yellow). We show associations
only where a mathematical topic occurs particularly prominently or
in multiple places within a category. Even so, because the catego-
ries are very broad, it is entirely possible to work within a category
without encountering all of the mathematics we associate with it.
This phenomenon is particularly pronounced in the "computing
methodologies" category, which includes a mathematically diverse
set of topics. On the other hand, as looking at ACM article classifi-
cations will show, the classification system is designed so that most
computing activities have multiple, intersecting, classifications.
Computer scientists thus seldom work within just one classifica-
tion category at a time, but more commonly work in several simul-
taneously, and therefore may draw on the mathematics associated
with several categories at once.
Figure 1 makes it clear that there are myriad connections be-
tween mathematics and computer science. However, the degree of
connectivity is not uniform. The most-connected mathematical
topic by far is probability and statistics, reflecting the widespread
appearance of performance and reliability analyses in many com-
puter science categories (and also see Sahami [25] for additional
reasons why probability is important in computer science). Other
highly connected mathematical topics include propositional/predi-
cate logic (which we consciously lump together because it is hard
Figure 1: Mathematics associated with computer science areas. (Note 1: We include in "set theory" functions
and relations as associations between sets, as well as the basic definitions of and operations on sets.
Note 2: "Counting" includes standard combinatorics concepts such as combinations and permutations, as
well as such techniques for evaluating counts as summations and recurrence relations.)
comprehensive articles
The Roles of Mathematics in Computer Science
76 acm Inroads 2013 December • Vol. 4 • No. 4
to separate them in the computing classification system) and proof
methods. Many of the associations involving these two topics arise
because formal approaches to specification or verification are per-
vasive in the computing classification scheme - for specification or
verification of network protocols, software designs and implemen-
tations, security properties, etc. These formal techniques lead to
associations with logic, proofs, or set theory according to how the
formal tools are used.
Certain computing topics also have much higher connectiv-
ity than others. Not surprisingly, "theory of computation," which
includes mathematical models of computation plus analysis of
algorithms, is connected to many mathematical topics. The high
connectivity of "computing methodologies" is perhaps more sur-
prising - it is due to the category being a broad one that contains
many subtopics.
Further comments seem appropriate for the "domain mathe-
matics" topic linked to "applied computing." All applied computing
is in some domain that has its own mathematical tools or founda-
tions, and at some level the people involved in any applied comput-
ing project have to understand that mathematics.
In reviewing Figure 1, note that no attempt is made to de-
fine the depth of mathematical ability required to work in each
computing category. Different people with dramatically different
degrees of mathematical skill can work in the same category, and
the same person may deploy different skills on different tasks in
a category. At the low-math end of the scale, writing code from
classic algorithms or external specifications likely requires only
broad familiarity with the terminology and overall concepts of a
mathematical area. Lethbridge's 1998 survey of the knowledge re-
quired by software engineers [20], supported by Surakka's smaller
survey five years later [31], suggests that many productive software
professionals operate near this level of mathematical knowledge.
However, people who create new algorithms or designs need some
ability to independently apply mathematical techniques, and at the
high-math end of the spectrum, those who conduct research in an
area need a deep ability to work with its mathematics.
Mathematics and Reasoning
Many activities within computing require practitioners to analyze
problems and potential solutions logically and carefully - often ap-
plying tools and techniques from mathematics. For example,
■ Whenever problems are put forward or solutions proposed,
users should ask what assumptions are being made and how
those assumptions might impact any results obtained or
program behaviors.
■ When an algorithm is proposed as a solution to a problem,
developers and researchers must determine whether the
algorithm is correct and uses resources efficiently.
■ When programs are put forward as implementations of
algorithms, testing organizations and users may formally as
well as empirically verify that the software behaves according
to identified specifications. (Instances of required formal
verification do exist - for example electronic gambling
devices are subject to mathematically defined fairness
requirements in some jurisdictions [22]; one of the authors
recently saw a position announcement from a gaming
company seeking someone to "create, test, and analyze new
games" but also to "compose ... mathematical proofs for
game submissions to ... regulators" [27].)
■ When several potential solutions are suggested for a
problem, practitioners should be able to analyze the relative
advantages and disadvantages of those solutions under
varying assumptions.
Bruce [5] provides several specific examples of mathematical
reasoning in these and other computing activities. The bottom line
is that computing professionals need to reason logically - not just
in hypothetical or classroom settings, but in real research and de-
velopment projects.
More abstractly, there are close connections between problem
solving in computer science and in mathematics. Devlin [9] ob-
serves that computer science is a mass of abstractions built on other
abstractions, and that mathematics is the age-old language and
practice of abstraction. Ralston [24] argues that even if comput-
ing professionals seldom use math explicitly, the logical thinking
central to mathematics is also central to computing. In her widely
cited "computational thinking" paper [35], Jeannette Wing devel-
ops this idea in depth. She credits computer science with a distinc-
tively powerful approach to problem solving, which, among other
defining characteristics, "complements and combines mathemati-
cal and engineering thinking." The term "computational thinking"
is broadly defined in her paper, and has since been applied by other
authors to almost any thought process remotely associated with
[P]eople who create new algorithms or designs
need some ability to independently apply mathematical
techniques, and at the high-math end of the
spectrum, those who conduct research in an area need
a deep ability to work with its mathematics.
comprehensive articles
2013 December • Vol. 4 • No. 4 acm Inroads 77
almost as often as discrete mathematics, and more often than prob-
ability and statistics. Lethbridge's survey [20] noted similar incon-
sistencies, in particular finding calculus to be one of the most taught
but least important subjects in the software engineers' repertoire.
The number of mathematics courses required by the programs
varies greatly, from a minimum of 1 to a maximum of 8, with a
mode of 5. Figure 2 shows the complete distribution. Programs at
the higher end of the distribution often require multiple courses
in calculus, linear algebra, and/or differential equations. Very few
programs require more than one course in discrete mathematics
or in probability and statistics. High numbers of required math
courses therefore do not indicate extensive study of the mathemat-
ics central to computer science.
The prominence of calculus in computer science programs is
puzzling. Some amount of calculus can be explained by the fact
that one or two calculus courses are a prerequisite for other mathe-
matics in most schools. However, many programs also require mul-
tivariable calculus, differential equations, etc., far exceeding what is
plausibly necessary to study the mathematics more central to com-
puter science. This amount of calculus may be due to programs be-
ing housed in schools of engineering, or being historically derived
from engineering programs, which traditionally require substantial
amounts of calculus.
computing. Yet the key point of her argument and that of others
remains: the general reasoning and problem solving skills charac-
teristic of computer science are powerfully effective and closely in-
terwoven with those of mathematics.
Altogether, computing researchers and practitioners must be
able to reason about problems and their solutions in both informal
and formal ways. This reasoning involves analysis, synthesis, and
evaluation - the three deepest levels of understanding and mastery
identified by Bloom [4]. In many cases, this level of reasoning is an
integral part of the creative problem-solving process that engages
computing professionals. Although some software developers may
seldom use math explicitly, there are rich connections between it
and computer science that can enhance this reasoning.
MATHEMATICS' ROLE
IN COMPUTER SCIENCE
EDUCATION
As seen in the previous section, the relationship between math-
ematics and computer science has two faces: many software engi-
neers perform well without relying on mathematics, while at the
same time there are rich connections between the fields that can be
exploited by those prepared to do so. How then does, and should,
mathematics fit into undergraduate computer science curricula?
The Current State of Mathematics
in Computer Science Curricula
As an indication of what strong undergraduate computer science
programs around the world consider appropriate mathematics con-
tent, we examined the mathematics requirements of 25 of the first
26 programs (we were unable to find an English description of one)
listed in US News and World Reports' best universities in comput-
er science in 2012 [34]. We emphasize that this is not a statistically
rigorous study of what "typical" computer science undergraduates
experience, but rather an effort to get an international selection
of high-quality programs that can provide a general sense of how
math is integrated into computer science education. However, the
amount of math in the high-quality programs is consistent with
the amount of math required in CAC-accredited US computer sci-
ence programs surveyed in the late 1990s [21], and our personal
experiences suggest that observations about the high-quality pro-
grams also apply to other programs.
Table 1 provides a summary of how many programs require what
sorts of math. The table shows a slight inconsistency between math-
ematics requirements and the actual connections between math and
computer science from Figure 1. Almost all the programs require
students to study discrete mathematics, which is appropriate as it
includes much of the foundational mathematics for computer sci-
ence (e.g., logic, some proof methods, set theory, etc.). Three pro-
grams, however, do not require this foundation. Furthermore, prob-
ability and statistics is the least commonly required of the topics
we looked for, despite its heavy use in computer science. Calculus,
which has relatively limited uses in computer science, is required
Figure 2: Number of mathematics courses in sample computer science
programs.
TABLE 1. MATHEMATICS REQUIREMENTS OF 25 HIGH-
QUALITY COMPUTER SCIENCE PROGRAMS.
Topic Number of Programs Requiring
Discrete Math 22
Probability and Statistics 15
Calculus 21
comprehensive articles
The Roles of Mathematics in Computer Science
78 acm Inroads 2013 December • Vol. 4 • No. 4
More important than the quantity or type of mathematics re-
quired in undergraduate computer science programs is its utiliza-
tion outside of mathematics courses. Folk wisdom among comput-
er science educators seems to be that there is little such utilization.
This is certainly our own sense from reading the computer science
education literature and talking to other educators, participating in
program reviews, etc. Further, Cohoon and Knight argue for better
integrating discrete mathematics and software engineering courses
by asserting (albeit without citing evidence) that…
The standard discrete mathematics courses provide
minimal motivation and material application. The
standard software engineering courses provide little if
any application of discrete mathematics, and the for-
mal method courses are usually optional and late in
the education of a Computer Science major. [6]
To a certain extent we can compare this folk wisdom to reality.
We have read course descriptions from some of the high-quality
computer science programs discussed above (specifically MIT,
Stanford, Oxford, the Hong Kong University of Science and
Technology, and the Ecole Polytechnique Fédéral de Lausanne),
as well as from one of our own institutions (Geneseo), and the
model course descriptions that accompany the 2001 ACM/IEEE
computer science curriculum guideline [17] and its 2008 update
[16]. Based on these sources, we observe certain patterns in the
utilization of math in computer science programs. Most strikingly,
the courses that visibly use mathematics concentrate in certain
subfields of computer science. Subfields taught with some refer-
ence to mathematics include algorithms and data structures, com-
puter graphics, artificial intelligence, and CS2-level courses to the
extent that they lay the groundwork for later study of algorithms
and data structures. Electrical engineering courses, when includ-
ed in computer science programs, are also heavily mathematical.
Courses with little evident use of mathematics tend to fall in such
subfields as introductory programming, computer systems (archi-
tecture, operating systems, networking), and software engineering.
This pattern reflects some, but not all, of the connections identi-
fied in Figure 1. In particular, the courses that use mathematics lie
in the heavily connected "theory of computation" and "computing
methodologies" categories, while the courses that make little use of
mathematics lie elsewhere. However, these non-mathematically-
oriented courses still lie in categories that have mathematical con-
nections (e.g., to probability and statistics or to logic), and those
connections are not evident in course descriptions. Numerically,
between ⅓ and ½ of the courses in each program seem to use math
(excluding courses whose main goal is to teach math), with oc-
casional programs extending as low as ¼ or as high as ¾. There
may be some geographical or cultural variation, with programs in
Europe perhaps making more use of mathematics, and programs
in the United States making less. Taken all together, these obser-
vations suggest that the actual use of mathematics in computer
science curricula is not as limited as the folk wisdom implies, al-
though it is far less than it could be.
Is There a Problem?
Computer science programs require students to take a reasonable
number of mathematics courses, but much of that mathematics is
of limited relevance to computer science as a whole. The remaining
mathematics is, on balance, under-utilized in the computer science
curriculum, with large sub-fields of the discipline being taught
with little, if any, reference to it. Such a curriculum produces gradu-
ates who are ill-equipped to use mathematics in their professional
careers, and who see little need to do so. At least on the surface, this
is not a problem—those graduates do, after all, get and keep jobs
in computing. However, at a deeper level, inability to apply math-
ematics to computing constrains graduates' long-term potential.
Within a learning environment, understanding typically starts
at the beginning levels of Bloom's taxonomy—knowledge of spe-
cifics (e.g., jargon, truth tables, formal rules of logic), comprehen-
sion (e.g., paraphrasing formal rules), and simple applications.
Computer science, whether in its mathematical aspects or not,
is no exception. Such foundational work is needed as a base for
reasoning about algorithms, programs, systems, etc. However, this
elementary level of reasoning and understanding is insufficient for
actually using computer science in the real world. Students must
learn much more than the mechanical application of routine steps.
Such learning happens when later courses build upon the founda-
tion laid by introductory ones and provide practice at deeper levels
of analysis in both structured and open-ended settings. Although
such analysis may not be part of every discussion of every topic in
upper-level courses, students need to experience it repeatedly and
in multiple contexts. When undergraduate computer science pro-
grams fail to do this with the mathematics they require, they limit
graduates' ability to use mathematics in either subsequent study or
employment.
In the workplace, mathematics and mathematical methods are
increasingly important in software development. For example, the
IEEE Computer Society's Certified Software Development As-
The prominence of calculus in computer science programs
is puzzling. Some amount of calculus can be
explained by the fact that one or two calculus courses are
a prerequisite for other mathematics in most schools.
comprehensive articles
2013 December • Vol. 4 • No. 4 acm Inroads 79
sociate/Professional (CSDA/CSDP) examinations [15] include
mathematics roughly equivalent to that in the 2001 ACM/IEEE
computer science curriculum recommendations [17], plus addi-
tional probability and statistics. Formal methods are slowly gaining
traction in the software industry; of particular note, programming
for concurrency is sweeping through the industry, and automatic
model checking is an increasingly vital tool for coping with the
subtle timing and synchronization bugs that concurrency brings
[18, 8]. While there is ample need for programmers who can write
code to given specifications, the more senior developers who pro-
duce those specifications often need facility with the mathematics
of the application domain [30]. Undergraduates who continue to
graduate school, particularly at the doctoral level, will find them-
selves in a world of mathematical sophistication unimaginable
from the undergraduate perspective - the most pronounced ex-
ample is probably the study of programming language theory as a
non-mathematical descriptive activity in undergraduate texts such
as [26], but as an entirely mathematical exercise in modeling lan-
guage semantics in such graduate texts as [33].
Are There Solutions?
A number of measures can be (and sometimes have been) tried
in order to close the gap between the role mathematics plays in
computer science and the way that role is conveyed in undergradu-
ate computer science education. None of these measures, however,
shows clear promise of success. For example…
■ Computer science educators can be alerted to the problem. Three
decades ago Ralston argued that undergraduate computer
science programs need mathematics support, and provided
a detailed list of mathematics topics [23]; a decade and
a half ago Lethbridge called attention to the amount of
inappropriate math covered in computer science curricula
[20]; at approximately the same time an informal working
group organized itself online to advocate for the importance
of math in computer science education [2]; a few years later
Tucker argued that computer science curricula were "math-
phobic" [32]. Although there have been some changes in
mathematics' treatment in computer science curricula over
this time, notably the incorporation of discrete structures
into the ACM/IEEE CS curriculum recommendations in
2001 [17], most of the above authors' criticisms are still valid
today. Raising awareness of the problem does not solve it.
■ Mathematics requirements can be used more efficiently.
Computer science curricula generally have room for a
number of mathematics courses, but few of those courses
actually teach mathematics that is central to computer
science. However, this inefficiency is difficult to correct.
Prerequisite structures in departments of mathematics may
require computer science students to take some amount
of foundational, but not directly applicable, math, and
computing programs in schools of engineering may be under
explicit or implicit pressure to include mathematics that is
traditional for the physical sciences even if not crucial to
computer science.
■ Mathematics can be integrated into computer science courses
and vice versa. Under-utilization of mathematics in the
computer science curriculum is the largest problem,
and there have been many attempts to address it. In the
1980s through 1990s Henderson evolved a first course for
computer science majors that emphasized mathematical
methods of reasoning and problem solving as the foundation
for studying computer science [12, 13]. During the early
1990s there were other efforts to integrate discrete math
concepts early in the computer science curriculum, notably
the two textbooks Foundations of Computer Science [1] and
A Logical Approach to Discrete Math [11]. In the later 1990s
and early 2000s Baldwin and Scragg developed a course that
introduced much of the discrete math needed by computer
scientists in the context of elementary design and analysis
of algorithms [3]; Cohoon and Knight independently
developed a similar set of courses for software engineers [6].
Currently, Sitaraman and his colleagues are promoting a
software engineering course that emphasizes mathematical
techniques for deriving correct programs [29]. None of
these efforts, however, has gained traction beyond their
developers. The computer science community has regarded
them as interesting, and perhaps even praise-worthy, but not
as paradigm-changers that must be adopted.
CONCLUSION
Computer science, like the physical sciences and traditional engi-
neering fields, widely uses mathematics to model the phenomena it
studies. Furthermore, computational and mathematical reasoning
are closely connected. Yet, paradoxically, many computer science
and software engineering graduates function quite well as profes-
sionals without consciously applying mathematics to their work.
This paradox leads mathematics to sit uncomfortably in under-
graduate computer science curricula: while most such curricula
include appropriate mathematics, they often also include much
mathematics that is not strongly connected to computing, and
while they teach some applications of math to computing, they
often overlook others. This awkward treatment of mathematics in
computer science education has been surprisingly resistant to cor-
rection, for a surprisingly long time. While the precise reasons dif-
fer from institution to institution, we believe that the overarching
one is that computer science faculty simply do not see the problem
as urgent. And indeed, as long as computer science graduates find
jobs or places in graduate schools in the field, and the field itself is
growing, the problem does seem minor.
However, taking a longer view, there is reason for concern.
Software development and testing are slowly adopting mathemati-
cal tools and methods, and today's graduates will need to adapt
to those tools and methods throughout their careers. As gradu-
ates advance through their careers, they will come into positions
where they have responsibility for system design, assessment of test
results or quality metrics, selection of architectures or algorithms,
and similar activities that require quantitative evaluation of data
and comparison of options.
comprehensive articles
The Roles of Mathematics in Computer Science
80 acm Inroads 2013 December • Vol. 4 • No. 4
In addition, computer science is a young discipline whose def-
inition is still in flux. It is arguably the one science that studies
artificial rather than natural phenomena. The distinction between
computer science and software engineering is not nearly as clear as
the distinction between other sciences and their related engineer-
ing fields; indeed, some would probably question whether there is a
distinction at all. The role of mathematics in computer science and
computer science education is therefore tied to larger questions of
where the "science" in computer science lies and what the scientific
basis for software engineering is or should be. The designers and
implementers of computer science curricula today will play a large
role in framing these questions for future generations and estab-
lishing the groundwork for answering them.
The time has come for all of us, as computer science and soft-
ware engineering educators, to reform the role of mathematics in
our curricula. The authors recommend incremental reform, since
past experience suggests that a sudden and universal leap in enthusi-
asm for mathematics in computing education is unlikely. However,
individual programs can make important improvements by pruning
from their requirements one or two math courses with limited ap-
plications to computer science, and replacing them with ones with
more relevance, or with electives that allow students to explore con-
nections they find pertinent. Programs, or even single instructors,
can ensure that more computer science courses use mathematics to
illuminate the computing material they present, even without creat-
ing new courses or changing the choices of topics studied. Individu-
ally these are small, local, and therefore relatively easy, changes; col-
lectively, pursuing both until they gain momentum would eliminate
two major reasons why our graduates lack the inclination and ability
to make math part of their professional toolkit. Ir
Acknowledgments
The original version of this paper was written at the invitation of the ACM/IEEE CS Curriculum 2013
committee as a position statement on the role of mathematics in undergraduate computer science
education. We thank members of the committee for comments on that version. The views stated in this
paper are those of the authors, and do not necessarily reflect the position of the committee or its mem-
bers. Thanks also to ACM
Inroads
' reviewers for helping us clarify several aspects of the present version.
References
[ 1] Aho, A. V. and Ullman, J. D.
Foundations of Computer Science
. (New York: Computer Science
Press, 1992).
[ 2] Baldwin, D. and Henderson, P. B. "A working group on integrating mathematical reasoning
into computer science curricula." http://www.math-in-cs.org/. Accessed 2013 April 30.
[ 3] Baldwin, D. and Scragg, G.
Algorithms and Data Structures: The Science of Computing
.
(Hingham, Massachusetts: Charles River Media, 2004).
[ 4] Bloom, B.
Taxonomy of Educational Objectives: Handbook 1: Cognitive Domain
. (Longmans,
Green and Company, 1956): 201-207.
[ 5] Bruce, K. et al. "Why math?"
Communications of the ACM
, 46, 9 (2003): 41- 44.
[ 6] Cohoon, J. P. and Knight, J. C. "Connecting discrete mathematics and software engineering"
in
Proceedings of the Thirty-Sixth ASEE/IEEE Frontiers in Education Conference
. (New York:
IEEE, 2006): M2F-13 - M2F-18.
[ 7] Cormen, T. et al.
Introduction to Algorithms
. 3rd ed. (Cambridge, Massachusetts: MIT Press,
2009).
[ 8] Desnoyers, M. "Proving the correctness of nonblocking data structures."
Communications of
the ACM
, 56, 7 (2013): 62-69.
[ 9] Devlin, K. "Why universities require computer science students to take math."
Communica-
tions of the ACM
, 46, 9 (2003): 37-39.
[ 10] Foley, J. et al.
Computer Graphics: Principles and Practice
. 2nd ed. (Reading, Massachusetts:
Addison-Wesley, 1990).
[ 11] Gries, D. and Schneider, F. B.
A Logical Approach to Discrete Math
, (New York: Springer
Verlag, 1993).
[ 12] Henderson, P. B. "Discrete mathematics as a precursor to programming." in
Proceedings of
the Twenty-First SIGCSE Technical Symposium on Computer Science Education
. (New York:
ACM, 1990): 17-21.
[ 13] Henderson, P. B. "The role of mathematics in computer science and software engineering
education."
Advances in Computers
, 65 (2005): 350-396.
[ 14] Hennessy, J. and Patterson, D.
Computer Architecture: A Quantitative Approach
. 3rd ed.
(Amsterdam: Morgan Kaufmann Publishers, 2003).
[ 15] IEEE Computer Society, "TechLeader OnCourse." http://www.computer.org/portal/web/certifi-
cation. Accessed 2013 April 30.
[ 16] IEEE Computer Society and Association for Computing Machinery Interim Review Task Force.
"Computer Science Curriculum 2008: An Interim Revision of CS 2001." http://www.acm.org/
education/curricula/ComputerScience2008.pdf. Accessed 2013 June 27.
[ 17] IEEE Computer Society and Association for Computing Machinery Joint Task Force on
Computing Curricula. "Computing Curricula 2001: Computer Science," http://www.acm.org/
education/education/education/curric_vols/cc2001.pdf. Accessed 2013 April 30.
[ 18] Jhala, R. and Majumdar, R. "Software model checking."
ACM Computing Surveys
41, 4
(2009). doi: 10.1145/1592434.1592438.
[ 19] Kedem, Z. et al. eds. "The 2012 ACM Computing Classification System." http://www.acm.
org/about/class/2012. Accessed 2013 April 20.
[ 20] Lethbridge, T. "Priorities for the education and training of software engineers."
Journal of
Systems and Software
, (2000): 53-71.
[ 21] McCauley, R. and Manaris, B. "Computer science education at the start of the 21st
century—a survey of accredited programs." in
Proceedings of the Thirty-Second ASEE/IEEE
Frontiers in Education Conference
. (New York: IEEE, 2002): F2G-10 - F2G-15.
[ 22] Nevada State Gaming Control Board Gaming Commission. "Regulation 14." http://gaming.
nv.gov/modules/showdocument.aspx?documentid=2921. Accessed 2013 July 17.
[ 23] Ralston, A. "The first course in computer science needs a mathematics corequisite."
Communications of the ACM
, 27, 10 (1984): 1002-1005.
[ 24] Ralston, A. "Do we need ANY mathematics in computer science curricula?"
inroads—the
SIGCSE Bulletin
, 37, 2 (2005): 6-9.
[ 25] Sahami, M. "A course on probability theory for computer scientists." in
Proceedings of
SIGCSE 2011, the Forty-Second Technical Symposium on Computer Science Education
(New
York: ACM, 2011): 263-268
[ 26] Sebesta, R.
Concepts of Programming Languages
. 9th ed. (Boston: Addison-Wesley, 2010).
[ 27] SHFL Entertainment. "Game Designer / Mathematician." http://www.creativeheads.net/
job/12078/game-designer--mathematician-in-las-vegas. Accessed 2013 July 17.
[ 28] Sipser, M.
Introduction to the Theory of Computation
. 3rd ed. (Boston: Cengage Learning, 2013).
[ 29] Sitaraman, M. et.al. "Building a push-button RESOLVE verifier: progress and challenges."
Formal Aspects of Computing
, 23, 5 (2011): 607-626.
[ 30] Stringer, M. Personal communication to Douglas Baldwin. Sept. 2012.
[ 31] Surakka, S. "What subjects and skills are important for software developers?"
Communica-
tions of the ACM
, 50, 1 (2007): 73-78.
[ 32] Tucker, A., Kelemen, C., and Bruce, K. "Our curriculum has become math-phobic!" in
Pro-
ceedings of the Thirty-Second SIGCSE Technical Symposium on Computer Science Education
.
(New York: ACM, 2001): 243-247.
[ 33] Turbak, F. and Gifford, D.
Design Concepts in Programming Languages
. (Cambridge, Mas-
sachusetts: MIT Press, 2008).
[ 34] US News and World Report. "World's Best Universities: Computer Science." http://www.
usnews.com/education/worlds-best-universities-rankings/best-universities-computer-science.
Accessed 2013 April 28.
[ 35] Wing, J. "Computational Thinking."
Communications of the ACM
, 49, 3 (2006): 33-35.
DOUGLAS BALDWIN
Department of Mathematics
SUNY Geneseo
Geneseo, New York 14454 USA
baldwin@geneseo.edu
HENRY M. WALKER
Department of Computer Science
Grinnell College
Grinnell, Iowa 50112 USA
walker@cs.grinnell.edu
PETER B. HENDERSON
Department of Computer Science and Software Engineering
Butler University
Indianapolis, Indiana 46208 USA
phenders@butler.edu
Categories and Subject Descriptors: K.3.2 [Computers and Education]: Computer and
Information Science Education—Computer Science Education; G.0 [Mathematics of Computing]:
General.
General terms: Design
Keywords: Mathematics, Computer Science Education, Software Engineering Education
DOI: 10.1145/2537753.2537777 © 2013 ACM 2153-2184/13/12 $15.00
... Finally, the study of CS goes well beyond programming and progresses into theory, where connections to advanced mathematical ideas are explicit [8]. De-emphasizing advanced mathematics for CS majors potentially limits students' advancement in understanding the field and could do students a disservice [5]. ...
... On the other hand, opponents argue that typical advanced mathematics courses are not wellaligned with a CS program, and that mathematics requirements sometimes present an unnecessary barrier for students who might otherwise consider a major in CS. In particular, calculus is unconnected to concepts CS majors encounter in their beginning courses (and even subsequent ones), yet most of the top CS programs required students to take calculus [5]. Instead of a calculus requirement, many educators advocate for courses in discrete mathematics and point to a need for a greater emphasis on problem-solving [5,49,50]. ...
... In particular, calculus is unconnected to concepts CS majors encounter in their beginning courses (and even subsequent ones), yet most of the top CS programs required students to take calculus [5]. Instead of a calculus requirement, many educators advocate for courses in discrete mathematics and point to a need for a greater emphasis on problem-solving [5,49,50]. ...
Success in an introductory college computer science (CS) course encourages students to major and pursue careers in computer science and many other STEM fields, whereas weak performance is often a powerful deterrent. This article examines the role of high school course taking (AP, regular, or none) in mathematics and in CS as predictors of later success in college introductory computer science courses, measured by students' final grades. Using a sample of 9,418 students from a stratified random sample of 118 U.S. colleges and universities, we found that the observed advantage of taking AP calculus over taking AP CS, seen in an uncontrolled model, was largely confounded by students' background characteristics. After applying multinomial propensity score weighting, we estimated that the effects of taking AP calculus and AP CS on college CS grades were similar. Interestingly, enrollment in both AP calculus and AP CS did not have any additional positive effect, suggesting that both AP calculus and AP CS strengthened similar skills that are important for long-term CS achievement. Taking regular CS did not have a significant effect; taking regular calculus had a positive effect, about half the size of taking AP calculus or AP CS. Thus, the study showed that simply exposing students to any kind of CS course before college does not appear to be sufficient for improving college CS performance; and that advanced CS and advanced calculus in high school may substitute for each other in the preparation of college CS.
... [21] : Everyone has heard of J. V Narlikar, but what about his mathematician wife? [22] : On the interface of Computer Science and Math. ...
... Adicionalmente, son varios los autores que sostienen que gran parte de la estrecha relación que se establece entre matemática e informática se encuentra en la resolución de problemas, siendo esta una habilidad implicada en la enseñanza de ambas materias (Baldwin et al., 2013;Mohaghegh & McCauley, 2016). Según estos autores, "la informática comparte muchas características con las matemáticas y, por lo tanto, está implícito que también compartirá problemas y técnicas de resolución de problemas" (p.1524). ...
- Delfina D'Alfonso
- Nyasha Warren
- Estefany González
- Nadia De León
Prácticas docentes de aula en la enseñanza del pensamiento computacional en escuelas medias oficiales y particulares de la región metropolitana de la Ciudad de Panamá. Este estudio describe y evalúa las prácticas pedagógicas de aula de los docentes en la enseñanza de informática y el pensamiento computacional (PC) en educación media oficial y particular de la región metropolitana de la Ciudad de Panamá, en comparación con referencias internacionales, como la Sociedad Internacional de Tecnología en Educación (ISTE) y otras referencias de la literatura relevante en pedagogía. Se analizaron datos de una muestra de conveniencia conformada por 14 escuelas de nivel medio participantes en las Olimpíadas Nacionales de Informática 2019, abiertas y ampliamente divulgadas. Los datos fueron recolectados por medio de observaciones en aula. Se observó poca evidencia de la utilización de prácticas docentes reconocidas como mejores prácticas para la enseñanza de informática y PC. Hubo algo más de evidencia para el uso de prácticas construccionistas, que para las relacionadas al PC; y aún menos para el uso de prácticas relacionadas al aprendizaje por experiencias. Así mismo son notables las diferencias entre las escuelas oficiales y particulares en cuanto al uso de estas prácticas. Adicionalmente, los hallazgos indicaron un nivel importante de inequidad en el sistema, ya que los puntajes se encontraban polarizados entre escuelas con mucha evidencia y escuelas con poca o ninguna evidencia, y pocas escuelas en el medio. Palabras clave: prácticas pedagógicas, informática, pensamiento computacional, construccionismo, aprendizaje por experiencias.
... Much of the literature discussing the role of mathematics in Computer Science or Business Administration has been written often from the perspective of faculty members focusing on questions like "What mathematics do computer scientists or business administrator need?" (Baldwin 2013). Only a few works highlight students' perspective on the challenges they face in learning mathematics. ...
This paper attempts to explore the most important difficulties facing students of Prince Sattam bin Abdulaziz University in the Kingdom of Saudi Arabia while studying mathematics courses, through the sampling of male and female students in the College of Sciences and Humanities at Al-Sulail. For this research, the referendum was not limited to students of the mathematics department only, but also included the departments of Computer Science and Business Administration, because their study plan contains basic courses in mathematical science, and it is hoped that the results of the completion of the survey will support decision-makers and teachers of courses in improving and diversifying the learning of mathematical content. This enhances the learning goals that the students achieve.
We report on a case study of eight grade 5 to 6 students (ages 12–14) involved in a three-day "digital-making summer camp" focused on mathematical problem-solving through block-based programming combined with programmable electronics. Data analysis focused on the computational thinking (CT), mathematics, and problem-solving challenges that surfaced during the activities and on the students' developing perspectives about themselves as computational thinkers and problem solvers. Our results suggest the students developed various CT and problem-solving competences and dispositions during the digital-making activities. However, they experienced difficulties with ill-structured problems. This study supports the creative uses of digital making as complementary to K-12 mathematics learning.
In this chapter, we investigate the integral solution of the Hyperbolic Diophantine Equation representing hyperbolic curve given by DE: x^2−156y^2−50x+624y=0 is analyzed for its non-zero singular integer points lying on it. A small number of dissimilar patterns of integer points agreeable the curve under deliberation is obtained.
This paper reports on a design-based study within the context of a 3-day digital making (DM) summer camp attended by a group of students (aged 11–13) in grades 5 and 6. During the camp, students were presented with a set of mathematical problems to solve in a block-based programming environment, which was connected to various physical input sensors and output devices (e.g., push buttons, LED lights, number displays, etc.). Students' code fles, and screen captures of their computer work, were analyzed in terms of their developed computational problem-solving practices and any computational concepts that emerged during the problem-based DM. The results suggested that the designed tasks consistently supported the students' modeling and algorithmic thinking, while also occasioning their testing and debugging practices; moreover, the students utilized computational abstractions in the form of variables, and employed different approaches, to formulate mathematical models in a programming context. This study contributes to the 'big picture' of how using computers might fundamentally change mathematics learning, with an emphasis on mathematical problem-solving. It also provides empirically grounded evidence to enhance the potential of computational thinking as a new literacy, and problem-solving as a global competence, in formal school settings.
This research paper is a theoretical as well as a practical study of the connection between Mathematics and other disciplines. It studies the significance of teaching Mathematics to the students of other departments. But, the research doesn't limit here. It also studies various teaching strategies in Mathematics teaching. In Prince Sattam bin Abdulaziz Language and Literature, Islamic Studies, Educational Sciences and Psychology have been taught. Mathematics and its skills are is the basics of many subjects. So, the students should gain mathematical knowledge and use it in other subjects, so as to understand other subjects easily and establishing relationships. In light of the above characteristics, this research paper will study the significance and teaching strategies of Mathematics and its skills to the students of other departments.
-
Jeannette M. Wing
Various aspects of computational thinking, which builds on the power and limits of computing processes, whether they are executed by a human or by a machine, are discussed. Computational methods and models are helping to solve problems, design systems, and understand human behavior, by drawing on concepts fundamental to computer science (CS). Computational thinking (CT) is using abstraction and decomposition when attacking a large complex task or designing a large complex systems. CT is the way of thinking in terms of prevention, protection, and recovery from worst-case scenarios through redundancy, damage containment, and error correction. CT is using heuristic reasoning to discover a solution and using massive amount of data to speed up computation. CT is a futuristic vision to guide computer science educators, researchers, and practitioners to change society's image of the computer science field.
-
David Gries
- Fred B. Schneider
This chapter concerns combinatorial analysis: the branch of mathematics that deals with permutations of a set or bag and combinations of a set. These ideas lead to binomial coefficients and the Binomial theorem. The first two sections of this chapter introduce the theory, with just enough examples to make clear the points being made. The third section illustrates the power of the theory through a variety of examples.
-
David Gries
- Fred B. Schneider
The set ℕ of natural numbers {0, 1, 2,...} is infinite Proving properties of such an infinite set often requires a technique that is of fundamental importance in mathematics and computer science: mathematical induction. We explore this technique in this chapter. We also investigate induction over sets other than ℕ. We show how properties of an inductively defined function can be proved using induction, and we show how a loop can be analyzed using induction.
The paper [2] argued that mathematical ideas play an important role in the computer science curriculum, and that Discrete Mathematics needs to be taught early in the computer science curriculum. In this follow-up paper, we present evidence that computer science curricula are drifting away from a fundamental commitment to theoretical and mathematical ideas. We propose some actions that can be taken to help reverse this drift.
- Mathieu Desnoyers
Experts suggest that nonblocking synchronization can yield astonishing results in terms of scalability and real-time response while compromising verification state space. Nonblocking data structures can be used to communicate between threads without using mutual exclusion or other synchronization that would make a thread block awaiting another thread. Experts examine what makes nonblocking data-structure design and implementation challenging, and survey modeling techniques and verification tools that can provide valuable feedback on the correctness of those algorithms. There are many aspects to consider when programming nonblocking data structures, including the language and architecture memory models, atomicity, ordering, linearizability, and performance. Many optimizing compilers internally use models to represent dependencies between statements to achieve these objectives.
Role Of Mathematics In Science Pdf
Source: https://www.researchgate.net/publication/259669422_The_Roles_of_Mathematics_in_Computer_Science
Posted by: ingramguat1950.blogspot.com

0 Response to "Role Of Mathematics In Science Pdf"
Post a Comment