01
Feb 2023
I. INTRODUCTION
Since its inception students all over the world did not enjoy math, however,
after watching the news about a teenager who made millions of dollars by
selling his website students suddenly want to pursue computer science.
However, we have all asked ourselves this question if it’s that simple?
Unfortunately, it’s not and if you aren’t a fan of mathematics, life just got a little
bit worse for you. To tell you the truth mathematics and computer science and
quite closely connected. The debate about whether mathematics plays a vital
role in computer science still rages on. According to the University of Sheffield,
“Computer Science is built on Math” [1]. I guess we need to dive deeper to
figure out why.
II. WHY MATHEMATICS?
Mathematics is a discipline that “develops the ability to reason precisely and
analytically about formally defined abstract structures” [2]. An example can be
the Eiffel Tower and how much it relies on its foundation, if it did not have a
strong solid foundation it would collapse. Similarly, math teaches us how to
work with algorithms, accurately modeling real-world solutions, and can help
develop the logic required to understand computer science, enhance critical
thinking and reasoning, analytical skills for problem-solving, and much more,
which is crucial and the basis of computer science. Therefore, multiple
universities integrate mathematics into their computer science program for
example at Stanford University the undergraduate curriculum requires two CS
math classes: Mathematical Foundations of Computing (CS103) and
Introduction to Probability for Computer Scientists (CS109) [3]. Math also
teaches students to reevaluate their method and if they are wrong to go
through their steps and figure out where have they made the mistake.
III. WHAT BRANCHES OF MATHEMATICS ARE
IMPORTANT FOR COMPUTER SCIENCE?
Discrete mathematics, Algebra, Statistics, Calculus, etc. Are vital to study
computer science and make understanding how the computer/application
works much easier. Let’s go more in-depth and state how a few of these
branches are important and their roles in computer science.
a) Discrete mathematics: Involves several concepts, including Logic, Graph
Theory, Number Theory, Recurrences, etc. It provides an important
foundation for all areas of computer science. The methods help develop
problem-solving skills that will be useful while making a software.
“Problem-solving skills: Programmers check the code for errors and fix
any they find” [4]. Number Theory plays a crucial role in coding, hash
functions, random number generations, etc. It is useful in computer
security, computer architecture, machine learning, algorithms, etc.
b) Algebra: This includes your standard matrices, polynomials, quadratic
equations, linear equations, rational expressions, radicals, ratios,
proportions, etc. Linear transformations have multiple applications in
graphics. Boolean algebra is used to evaluate code paths, processor
optimization, etc. Matrices are very important in computer science for
example matrix multiplication is very useful in graphics as it can convert
geometric data into different coordinating systems. Graph matrices are
especially useful in software engineering as it helps in the
understanding of software testing concepts and its theory. In many
time-sensitive engineering applications, multiplying matrices can give
quick approximations of more complicated calculations [5].
c) Statistics: It is widely used in artificial intelligence, speech recognition,
image analysis, data mining, etc. It can also be used to develop models
that can analyze data and make predictions on it. Wherever there are
uncertain parameters or behavior statistical, methods are used to solve
the problem. The use of statistics can drastically increase the efficiency
of an algorithm. Time and methods engineering uses statistics to study
repetitive operations in manufacturing in order to set standards and
find optimum manufacturing procedures [6]. Permutation is used for
analyzing and sorting algorithms. Probability helps us predict
performance and helps design and analyze randomized algorithms. One
field that relies heavily on Statistics is Data Science.
d) Calculus: It is widely used in simulations, problem-solving applications,
graphics, etc. It is very prominent in topics such as machine learning,
Image processing, data mining, signal processing, computation statistics,
etc. In graphics, calculus is used to determine how a 3d model will
change when it is subjected to a change in the environment. Everything
you see in a video game is likely driven by different models from
calculus it covers everything from all the physics to the light bouncing
from various surfaces. In machine learning, calculus plays a very
important role in understanding algorithms. It is practically impossible
to do machine learning without calculus.
IV. CONCLUSION
This paper has analyzed the importance of mathematics in computer science
and has shown where the different branches of mathematics are used in
computer science. So, what did we learn from this? Well, math is very
prominent in computer science and helps strengthen the foundation which is
always beneficial. It is better to start loving math (if you don’t already)
because if you want to study computer science it isn’t going away any time
soon.
BIBLIOGRAPHY
[1]https://www.sheffield.ac.uk/dcs/blog/maths-computer-science#:~:text=Computer%20Science%20is%20built%20on%20maths
[2] Devlin, K. (2003). Why Universities Require Computer Science Students to take Math.Communications of the
ACM,46(9), 37-39.
[3]https://cs.stanford.edu/degrees/ug/Requirements.shtml#:~:text=The%20undergradute%20curriculum%20requires%20two%20CS%20math%20classes%3A%20Mathematical%20Foundations%20of%20Computing%20(CS103)%20and%20Introduction%20to%20Probability%20for%20Computer%20Scientists%20(CS109)
[4]https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm#tab-4:~:text=Problem%2Dsolving%20skills.%20Programmers%20check%20the%20code%20for%20errors%20and%20fix%20any%20they%20find.
[5]https://news.mit.edu/2013/explained-matrices-1206#:~:text=In%20many%20time%2Dsensitive%20engineering%20applications%2C%20multiplying%20matrices%20can%20give%20quick%20but%20good%20approximations%20of%20much%20more%20complicated%20calculations
[6] International Journal of Computer Applications Technology and Research Volume 4–Issue 12, 952 - 955, 2015,
ISSN:2319–8656