The Synergy of Computer
Science and Mathematics
Dr. Raymond Greenlaw Armstrong Atlantic State
University
Outline
• Introduction
• Influence of Math on Computer Science • Influence of Computer Science on Math • Computational Mathematics
Introduction
• Computer science and mathematics are currently extensively used in many fields • Both have influenced the other and led
to many advancements in each
• This synergy between the two have
even lead to the increase in interest in computational mathematics, a field that many consider to be the intersection
Influence of Math on C.S.
• Many computer science programs have spawned from mathematics departments • During their time under mathematics,
they slowly built up reputation and
students, with most eventually becoming their own department, then later, their
own school
• Many noted computer scientists have
Influence of Math on C.S.
Why do C.S. students need Math?
• Many people believe that mathematics is fundamental to computer science
• Real world problems are often
expressed mathematically and require problem solving skills
• Studies have shown that mathematical ability has a strong correlation with
Influence of Math on C.S.
• When the human brain is subjected to extended educational experience
permanent, physical changes occur, creating neural pathways which aid in learning new things
• The more repetitive the learning process, the strong and longer lasting the changes • The mind finds it extremely difficult to
accept formal abstractions, yet at some point, they seem very real and the
Influence of Math on C.S.
• Actual information learned in a class may go away, but the learning abilities are still there • True goal of education is to improve minds • Should enable the student to acquire
abilities and skills to accomplish new things • Main benefit of learning and doing
mathematics is to develop the ability to reason precisely and analytically about abstract structures, which is what
Influence of Math on C.S.
• ABET, the recognized accreditor for college and university programs in computing and other technological areas requires an accredited C.S.
program to include a minimum of 15 hours of mathematics
Influence of Math on C.S.
• An example of math playing a large role in computer science occurs when using
public key cryptography
• A published, publicly available key (the
public key) is provided in an open directory • The person keeps a private key
• To send an encrypted file or email
message, the sender encrypts using the recipient’s public key
Influence of Math on C.S.
• The keys are formed and secured based on the properties of prime numbers
• Basically, the public key is a product of two random, large primes
• The private key is the two primes themselves
• This algorithm is secure because of the almost impossible task of factorizing the large number into the two primes
Influence of Math on C.S.
Samples of Math in C.S. areas
• Relational Databases – Rely on the
ideas of set theory to understand usage • NP-Completeness – Heavy math basis
• Network – Topology of networks,
routing, and load analysis problems deal with graph theory
Influence of C.S. on Math
Computer algebra system (CAS)
• Software program that allows symbolic mathematics, the manipulation of
equations and expressions in symbolic format
• Typical CASs store expressions as
directed acyclic graphs, DAGs are also used in the parse trees for compilers
Influence of C.S. on Math
Maple
• General purpose CAS
• Developed in 1981 by a group at the University of Waterloo
• Sold commercially since 1988 • Interpreted, dynamically typed
language
Influence of C.S. on Math
MATLAB
• Numerical computing environment and programming language
• Has a toolbox to interface with Maple engine which turns it into a CAS
• Invented in late 1970s by Cleve Moler, chairman of computer science at the University of New Mexico
Influence of C.S. on Math
Mathematica
• CAS and powerful programming language • Written by Stephen Wolfram
• First version released in 1988
• Uses a kernel which does all calculations and feeds results to multiple front ends • Based on term rewriting
The Four Color Theorem
• Long standing conjecture proven with aid of the computer
• Originally posed in the 1850s
• Proven by Kenneth Appel and Wolfgang Haken in 1976
• States that the chromatic number (least
number of colors required to color a graph) of a planar graph is no greater than four
The Four Color Theorem
• Showed that if the theorem was false, a counterexample would have to exist in one of 1,936 reducible configurations (later reduced to 1,476)
• A later enhancement by Robertson,
Sanders, Seymour, and Thomas reduced that number to 633
• Many disproofs use one region touching all others, not realizing that the
Computational Mathematics
• Considered to be at the intersection of computer science and mathematics
• Application of computer methods to
simulate computer models and analyzing the results
• Historically, the software and models were developed by people already working in the application area (engineers, scientists, etc.) • Developing and analyzing these models
Computational Mathematics
• Deals with issues such as– the implications of finite precision arithmetic
– the efficiency, accuracy, and stability of numerical computations
– the development and maintenance of mathematical software
– the effects of modern developments in computer architectures and networks
Computational Mathematics
• Students in these programs study
– Asymptotics, analysis, numerical analysis, and signal processing
– Discrete mathematics, combinatorics, algorithms, computation geometry, and graphics
– Mechanics and field theories – Optimization
Computational Mathematics
• Sample applications from Waterloo include
– Tornado tracking for meteorologists – Numerical simulation of flow in
aeronautical engineering
– Derivative pricing in computational finance – Modeling breaking waves
Conclusions
• Computer science and mathematics have both influenced each other for many years
• A number of advancements in each
field can be directly linked to the other • Computational mathematics has
successfully combined the two fields
into one which is being used to produce quality software for many important
References
• Baldwin, Doug and Peter Henderson. “The Importance of Mathematics to the Software Practicioner.” IEEE Software. March/April 2002: 22-24.
• Beaubouef, Theresa. “Why Computer Science Students Need Math.” Inroads: SIGCSE Bulletin. December 2002: 57-59.
• Bruce, Kim, et al. “Why Math?” Communications of the ACM. September 2003: 41-44.
• “Computational Mathematics.” University of Waterloo. December 2005 <http://www.math.uwaterloo.ca/navigation/CompMath/>
• “Criteria for Accrediting Computer Science Programs (2005-2006).” ABET, Inc. • Devlin, Keith. “The Real Reason Why Software Engineers Need Math.”
Communications of the ACM. October 2001: 21-22.
• Devlin, Keith. “Why Universities Require Computer Science Students to Take Math.” Communications of the ACM. September 2003: 37-39.
• “PACM Graduate Program.” Princeton University. December 2005 <http://www.pacm.princeton.edu/graduate.html>
• Rosen, Kenneth. Discrete Mathematics and its Applications. United States of America: McGraw-Hill, 1999.