Is Calculus necessary for computer science student? [closed]What math should a computer scientist take in college?How to prepare for Integral Calculus (Calculus 2)Learning Proofs (for Computer Science)Looking for data science-oriented “Applied Maths for dummies” summer school
Dealing with an extrovert co-worker
Sun setting in East!
How should I face my manager if I make a mistake because a senior coworker explained something incorrectly to me?
Which household object drew this pattern?
If the first law of thermodynamics ensures conservation of energy, why does it allow systems to lose energy?
Confirming resignation after resignation letter ripped up
Why were movies shot on film shot at 24 frames per second?
Did it used to be possible to target a zone?
Shouldn't the "credit score" prevent Americans from going deeper and deeper into personal debt?
Avoiding racist tropes in fantasy
Who was president?
Why does The Ancient One think differently about Doctor Strange in Endgame than the film Doctor Strange?
Checking a beta regression model via glmmTMB with DHARMa package
C++20 constexpr std::copy optimizations for run-time
Is “I am getting married with my sister” ambiguous?
How to respectfully refuse to assist co-workers with IT issues?
Numbers Decrease while Letters Increase
How to find multiple values on the same line in any permutation using Notepad++?
Did the British navy fail to take into account the ballistics correction due to Coriolis force during WW1 Falkland Islands battle?
Why do all fields in a QFT transform like *irreducible* representations of some group?
How to prevent cutting edges on my TV, HDMI-connected?
How to use "Du hast/ Du hattest'?
Earth rotation discrepancy
Compelling story with the world as a villain
Is Calculus necessary for computer science student? [closed]
What math should a computer scientist take in college?How to prepare for Integral Calculus (Calculus 2)Learning Proofs (for Computer Science)Looking for data science-oriented “Applied Maths for dummies” summer school
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
$begingroup$
I'm a freshman in university and I'm studying Computer science and engineering. This will be my second year of studying. We don't have Calculus as a mandatory class but I can take it from elective classes.
More senior students are telling me calculus is a very hard class and I shouldn't take it. Should I take easier classes just to pass? Or should I take it anyway even if I'm really bad at math but enjoy math a lot?
Is calculus necessary for my future as a student and would it help me in data science or AI? That's what I'm really interested in and I want to work for either of them. Would Calculus make my education easier in the future and in my work or should I just take something just to pass? In my next semesters, I want to take just AI and DS classes (Data mining, Data Science, Mechanical Learning, etc).
Thanks for your time reading and answering my question.
calculus soft-question computer-science education
$endgroup$
closed as off-topic by Xander Henderson, воитель, KReiser, José Carlos Santos, YuiTo Cheng Aug 11 at 23:40
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Seeking personal advice. Questions about choosing a course, academic program, career path, etc. are off-topic. Such questions should be directed to those employed by the institution in question, or other qualified individuals who know your specific circumstances." – Xander Henderson, воитель, KReiser, José Carlos Santos, YuiTo Cheng
|
show 7 more comments
$begingroup$
I'm a freshman in university and I'm studying Computer science and engineering. This will be my second year of studying. We don't have Calculus as a mandatory class but I can take it from elective classes.
More senior students are telling me calculus is a very hard class and I shouldn't take it. Should I take easier classes just to pass? Or should I take it anyway even if I'm really bad at math but enjoy math a lot?
Is calculus necessary for my future as a student and would it help me in data science or AI? That's what I'm really interested in and I want to work for either of them. Would Calculus make my education easier in the future and in my work or should I just take something just to pass? In my next semesters, I want to take just AI and DS classes (Data mining, Data Science, Mechanical Learning, etc).
Thanks for your time reading and answering my question.
calculus soft-question computer-science education
$endgroup$
closed as off-topic by Xander Henderson, воитель, KReiser, José Carlos Santos, YuiTo Cheng Aug 11 at 23:40
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Seeking personal advice. Questions about choosing a course, academic program, career path, etc. are off-topic. Such questions should be directed to those employed by the institution in question, or other qualified individuals who know your specific circumstances." – Xander Henderson, воитель, KReiser, José Carlos Santos, YuiTo Cheng
10
$begingroup$
May be more suitable for Mathematics Educators. My opinion is that while not necessary (you can clearly opt not to take it), calculus is certainly very applicable, and can help you think about certain problems.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:19
2
$begingroup$
initially, no because the low level courses are taught without the theory in mind (multivar calc and complex analysis). but if you want to do research you do need multivariable calculus or complex analysis which require calculus I as prerequisites. Calc I may not even be applied directly but the concepts are anyways.
$endgroup$
– user29418
Aug 10 at 23:20
2
$begingroup$
I am also of the opinion that if you enjoy it, you should take it. If you think you might fail, you can consider trying to study it a bit before taking the course, or just study it on your own (join some study group or something). Calculus concepts, at the very least, are very easy to learn.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:21
2
$begingroup$
If you want to do AI, calculus is absolutely required. It's also important for data science, because without calculus you won't understand what machine learning algorithms are doing under the hood. Also Calculus is a delightful subject.
$endgroup$
– littleO
Aug 10 at 23:39
3
$begingroup$
"More senior students are telling me calculus is a very hard class and I shouldn't take it" -- I would be surprised if those are computer science and engineering students with an interest in data science and AI. Don't let the questionable opinions of the math phobic dissuade you from learning something which in the grand scheme of things is not particularly hard.
$endgroup$
– John Coleman
Aug 11 at 13:17
|
show 7 more comments
$begingroup$
I'm a freshman in university and I'm studying Computer science and engineering. This will be my second year of studying. We don't have Calculus as a mandatory class but I can take it from elective classes.
More senior students are telling me calculus is a very hard class and I shouldn't take it. Should I take easier classes just to pass? Or should I take it anyway even if I'm really bad at math but enjoy math a lot?
Is calculus necessary for my future as a student and would it help me in data science or AI? That's what I'm really interested in and I want to work for either of them. Would Calculus make my education easier in the future and in my work or should I just take something just to pass? In my next semesters, I want to take just AI and DS classes (Data mining, Data Science, Mechanical Learning, etc).
Thanks for your time reading and answering my question.
calculus soft-question computer-science education
$endgroup$
I'm a freshman in university and I'm studying Computer science and engineering. This will be my second year of studying. We don't have Calculus as a mandatory class but I can take it from elective classes.
More senior students are telling me calculus is a very hard class and I shouldn't take it. Should I take easier classes just to pass? Or should I take it anyway even if I'm really bad at math but enjoy math a lot?
Is calculus necessary for my future as a student and would it help me in data science or AI? That's what I'm really interested in and I want to work for either of them. Would Calculus make my education easier in the future and in my work or should I just take something just to pass? In my next semesters, I want to take just AI and DS classes (Data mining, Data Science, Mechanical Learning, etc).
Thanks for your time reading and answering my question.
calculus soft-question computer-science education
calculus soft-question computer-science education
edited Aug 12 at 22:21
Zacky
13.4k1 gold badge22 silver badges85 bronze badges
13.4k1 gold badge22 silver badges85 bronze badges
asked Aug 10 at 23:09
HunaliHunali
1401 silver badge6 bronze badges
1401 silver badge6 bronze badges
closed as off-topic by Xander Henderson, воитель, KReiser, José Carlos Santos, YuiTo Cheng Aug 11 at 23:40
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Seeking personal advice. Questions about choosing a course, academic program, career path, etc. are off-topic. Such questions should be directed to those employed by the institution in question, or other qualified individuals who know your specific circumstances." – Xander Henderson, воитель, KReiser, José Carlos Santos, YuiTo Cheng
closed as off-topic by Xander Henderson, воитель, KReiser, José Carlos Santos, YuiTo Cheng Aug 11 at 23:40
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Seeking personal advice. Questions about choosing a course, academic program, career path, etc. are off-topic. Such questions should be directed to those employed by the institution in question, or other qualified individuals who know your specific circumstances." – Xander Henderson, воитель, KReiser, José Carlos Santos, YuiTo Cheng
closed as off-topic by Xander Henderson, воитель, KReiser, José Carlos Santos, YuiTo Cheng Aug 11 at 23:40
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Seeking personal advice. Questions about choosing a course, academic program, career path, etc. are off-topic. Such questions should be directed to those employed by the institution in question, or other qualified individuals who know your specific circumstances." – Xander Henderson, воитель, KReiser, José Carlos Santos, YuiTo Cheng
10
$begingroup$
May be more suitable for Mathematics Educators. My opinion is that while not necessary (you can clearly opt not to take it), calculus is certainly very applicable, and can help you think about certain problems.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:19
2
$begingroup$
initially, no because the low level courses are taught without the theory in mind (multivar calc and complex analysis). but if you want to do research you do need multivariable calculus or complex analysis which require calculus I as prerequisites. Calc I may not even be applied directly but the concepts are anyways.
$endgroup$
– user29418
Aug 10 at 23:20
2
$begingroup$
I am also of the opinion that if you enjoy it, you should take it. If you think you might fail, you can consider trying to study it a bit before taking the course, or just study it on your own (join some study group or something). Calculus concepts, at the very least, are very easy to learn.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:21
2
$begingroup$
If you want to do AI, calculus is absolutely required. It's also important for data science, because without calculus you won't understand what machine learning algorithms are doing under the hood. Also Calculus is a delightful subject.
$endgroup$
– littleO
Aug 10 at 23:39
3
$begingroup$
"More senior students are telling me calculus is a very hard class and I shouldn't take it" -- I would be surprised if those are computer science and engineering students with an interest in data science and AI. Don't let the questionable opinions of the math phobic dissuade you from learning something which in the grand scheme of things is not particularly hard.
$endgroup$
– John Coleman
Aug 11 at 13:17
|
show 7 more comments
10
$begingroup$
May be more suitable for Mathematics Educators. My opinion is that while not necessary (you can clearly opt not to take it), calculus is certainly very applicable, and can help you think about certain problems.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:19
2
$begingroup$
initially, no because the low level courses are taught without the theory in mind (multivar calc and complex analysis). but if you want to do research you do need multivariable calculus or complex analysis which require calculus I as prerequisites. Calc I may not even be applied directly but the concepts are anyways.
$endgroup$
– user29418
Aug 10 at 23:20
2
$begingroup$
I am also of the opinion that if you enjoy it, you should take it. If you think you might fail, you can consider trying to study it a bit before taking the course, or just study it on your own (join some study group or something). Calculus concepts, at the very least, are very easy to learn.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:21
2
$begingroup$
If you want to do AI, calculus is absolutely required. It's also important for data science, because without calculus you won't understand what machine learning algorithms are doing under the hood. Also Calculus is a delightful subject.
$endgroup$
– littleO
Aug 10 at 23:39
3
$begingroup$
"More senior students are telling me calculus is a very hard class and I shouldn't take it" -- I would be surprised if those are computer science and engineering students with an interest in data science and AI. Don't let the questionable opinions of the math phobic dissuade you from learning something which in the grand scheme of things is not particularly hard.
$endgroup$
– John Coleman
Aug 11 at 13:17
10
10
$begingroup$
May be more suitable for Mathematics Educators. My opinion is that while not necessary (you can clearly opt not to take it), calculus is certainly very applicable, and can help you think about certain problems.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:19
$begingroup$
May be more suitable for Mathematics Educators. My opinion is that while not necessary (you can clearly opt not to take it), calculus is certainly very applicable, and can help you think about certain problems.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:19
2
2
$begingroup$
initially, no because the low level courses are taught without the theory in mind (multivar calc and complex analysis). but if you want to do research you do need multivariable calculus or complex analysis which require calculus I as prerequisites. Calc I may not even be applied directly but the concepts are anyways.
$endgroup$
– user29418
Aug 10 at 23:20
$begingroup$
initially, no because the low level courses are taught without the theory in mind (multivar calc and complex analysis). but if you want to do research you do need multivariable calculus or complex analysis which require calculus I as prerequisites. Calc I may not even be applied directly but the concepts are anyways.
$endgroup$
– user29418
Aug 10 at 23:20
2
2
$begingroup$
I am also of the opinion that if you enjoy it, you should take it. If you think you might fail, you can consider trying to study it a bit before taking the course, or just study it on your own (join some study group or something). Calculus concepts, at the very least, are very easy to learn.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:21
$begingroup$
I am also of the opinion that if you enjoy it, you should take it. If you think you might fail, you can consider trying to study it a bit before taking the course, or just study it on your own (join some study group or something). Calculus concepts, at the very least, are very easy to learn.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:21
2
2
$begingroup$
If you want to do AI, calculus is absolutely required. It's also important for data science, because without calculus you won't understand what machine learning algorithms are doing under the hood. Also Calculus is a delightful subject.
$endgroup$
– littleO
Aug 10 at 23:39
$begingroup$
If you want to do AI, calculus is absolutely required. It's also important for data science, because without calculus you won't understand what machine learning algorithms are doing under the hood. Also Calculus is a delightful subject.
$endgroup$
– littleO
Aug 10 at 23:39
3
3
$begingroup$
"More senior students are telling me calculus is a very hard class and I shouldn't take it" -- I would be surprised if those are computer science and engineering students with an interest in data science and AI. Don't let the questionable opinions of the math phobic dissuade you from learning something which in the grand scheme of things is not particularly hard.
$endgroup$
– John Coleman
Aug 11 at 13:17
$begingroup$
"More senior students are telling me calculus is a very hard class and I shouldn't take it" -- I would be surprised if those are computer science and engineering students with an interest in data science and AI. Don't let the questionable opinions of the math phobic dissuade you from learning something which in the grand scheme of things is not particularly hard.
$endgroup$
– John Coleman
Aug 11 at 13:17
|
show 7 more comments
9 Answers
9
active
oldest
votes
$begingroup$
A software engineer probably does not need to study calculus, and it is less likely to be useful than graph theory, elementary logic, study of algorithms, etc. Of course, if you are implementing algorithms for use in science and engineering, calculus and numerical methods for approximating calculus operations will show up all of the time.
AI, on the other hand, is all about calculus (despite the best attempts of the machine learning community to "rebrand" concepts like numerical optimization, the chain rule, gradient descent, etc.) It's hard for me to imagine a successful data analyst or AI researcher who doesn't know at least the basics of calculus.
EDIT: In response to the answer suggesting you do not need calculus to be a data scientist at a company like Google, consider this blog post from a Googler with advice on the job search:
Math like linear algebra and calculus are more or less expected of anyone we’d hire as a data scientist
$endgroup$
$begingroup$
+1. For general Computer science, Linear Algebra is probably enough. For Data Science, you'll want both Calculus and Linear Algebra -- though Linear Algebra is more important if you can only take one.
$endgroup$
– Wayne
Aug 11 at 12:39
2
$begingroup$
@Wayne Linear algebra without calculus is like decaffeinated coffee - all the best bits have been removed. The bottom line is, if you choose not to learn calculus, you have shut yourself out from a lot of employment opportunities for the next 40 or 50 years after you graduate - and nobody knows what will turn out to be the hot topics in CS in that timescale!
$endgroup$
– alephzero
Aug 11 at 18:23
add a comment |
$begingroup$
Calculus is a fundamental mathematical science - Learn it to broaden your mind and not necessarily to be graded at.it. It is fundamental for scientific computing. Programming in scientific filed specially engineering require background. I am surprised that you are studying engineering without calculus!!!
$endgroup$
add a comment |
$begingroup$
I’m a CS student myself so I can relate to what you’re asking. First of all, it really matters what branch of CS you’d like to pursue. For example, if you want to do cyber security(more specifically, cryptography), you will definitely need to know a lot of number theory. In your case, you’re interested in AI and data science but that’s still a bit vague; most people who’d like to do AI/data science, don’t really care about what’s going “under the hood”(which is not really that bad) and use libraries such as Pytorch, Tensor Flow, etc(but note that these people aren’t just AI enthusiastics; many of them work for big companies and are rather successful in their respective field). But there are people that are trying to make new, cutting-edge algorithms and write papers and in that case, you definitely will need more than just high school level math(university level calculus, linear algebra and statistics mostly). So if you are one of the former, high school level calculus, some university-level linear algebra and statistics(first year) would suffice. But if you’re one of the latter, you will need a lot more than just high school calculus and basic university linear algebra and statistics.
To sum it up, most people who do AI(again, not just enthusiastics; people who work for Google, Facebook, etc) do not always understand what’s going on in a library/module. The people who write these algorithms and papers do that. But if you have the time, try learning calculus, linear algebra and statistics so you’ll get a better understanding of what’s going on and maybe even you can make new algorithms that change the AI industry:)
EDIT
I think some people mistook what I said about some people not knowing how something works in AI: Does every successful data scientist know how regression works? Of course they do! How and why batch gradient descent works? 100%(you need calculus for these)! But do they all also know how restricted boltzman machine works? Probably not. Do they all understand VBEM? Of course not! The point is, I didn’t mean that people working for Google don’t know calculus or how an algorithm such as deep neural nets or NLP works; I just meant that you don’t need to be as good as most math students at calculus.
Good luck!
$endgroup$
$begingroup$
It's funny that in case of AI, your answer seems like opposite of the other answer provided, in particular when you read his second paragraph.
$endgroup$
– imranfat
Aug 10 at 23:46
$begingroup$
@imranfat I actually agree with Borna that many users of libraries like TensorFlow do not fully understand (and do not need to fully understand) what they are doing under the hood. But even if you are not a research-level AI specialist, some basic understanding of how e.g. back-propagation works is expected.
$endgroup$
– user7530
Aug 10 at 23:50
2
$begingroup$
@user7530. I see. My answer is in reference to one of my family member who is pursuing a PhD in AI, and he talks about Calculus and Linear Algebra ALL THE TIME. I am just a math dude, but I can see AI alive and well when watching the video clip "Paranoia" by the Art of Noise. Lots of Linear Algebra going on over there as well (Max Headroom), and that was in 1986!
$endgroup$
– imranfat
Aug 10 at 23:54
add a comment |
$begingroup$
It depends what you mean by calculus. Do you need to know basic differentiation/integration? Definitely, I don't know how you could take a class such as digital signal processing (which I assume would be part of a CS and engineering degree) without that. Do you need to learn loads of methods for solving tricky integrals/differential equations, or do a rigorous course in real analysis? No, unless you want to specialise in related areas.
$endgroup$
add a comment |
$begingroup$
Mathematics needed in Computer Science (Graph theory, Boolean algebra, Number theory) Vs Mathematics for other traditional Engineering disciplines is usually contrasted as Discrete Vs Continuous mathematics.
That is a correct, best, and shortest description of the contrast. So one can find people who have not yet learnt any serious calculus excelling in Programming and in software. This depends on the nature of applications one wants to handle as a software professional. If you want to be in software working for modelling financial markets or sending rockets to space Calculus is the way.
(Self-Promotion): I have written an article in a Science Education Journal on this aspect
analyzing what aspect makes it to work in some application domain and fail in another.
Here is the link
$endgroup$
add a comment |
$begingroup$
Calculus (and analysis) is actually far more useful in computer science than one may think. (Also: computer science $neq$ programming.)
I need not mention that machine learning (especially learning theory) is all about analysis, probability theory and topology (usually on Euclidean spaces), all of which require calculus. Information theory requires knowledge of measure-theoretic probability theory. Robotics requires calculus for movement planning, etc. Computer graphics require a lot of analysis and even some knowledge of differential geometry, which could not be studies without a solid knowledge of analysis.
Even in fields that seem unrelated to analysis, it can still be useful. Let's use my field of research, programming languages & logic, as an example.
Infinite-precision computation, for example, uses many important concepts in real analysis. Note the fact that all computable functions on $mathbbR$ are continuous. Using this insight, problems about infinite-precision computation can easily be transformed into problems about properties of functions on and the topological properties of the Euclidean spaces $mathbbR^n$ (see, e.g. this talk and this paper). The paper was published in Logic in Computer Science 2018, which has little to do with analysis!
Of course, many other related fields of research require knowledge about analysis, for example the design and semantics probabilistic programming languages, which requires knowledge of measure theory. Not to mention that studying calculus and analysis is quite fundamental in building up mathematical maturity that is required for advanced mathematical topics required for computer science, and analysis can be an important pathway to more advanced topics of practical value in computer science, such as probability theory and topology. (You can study topology without real analysis, albeit that makes it much harder. You definitely cannot study probability theory without calculus.)
$endgroup$
add a comment |
$begingroup$
The short answer is that it really depends what level of calculus you already have and what field of CS you're interested in. If you know the fundamental theorem, common integral/differential identities, the chain rule, product rule, and so on (basically, simple high school calculus), you've got enough calculus for CS in general, but for some parts of AI you'll want more, and in some application domains (anything involving control theory in the EE sense, quantitive finance, all sorts of heavy numerical engineering-related SE work) it is likely to be useful.
I've probably regretted not studying more formal algebra, graph theory, number theory, etc. more often than I've used university-level calculus, but most universities seem to demand it for CS students.
You'll need a whole load of statistics and probability (Bayes's Theorem and so on) for AI but you'll probably cover that in a CS-coded course.
$endgroup$
add a comment |
$begingroup$
Take a look a the degree requirements for a CS at your school. In addition to the classes that deal with CS, there are classes that have nothing to do with the field, but they are still required for your degree.
It's certainly true that some of these courses help ensure that you're intelligent enough overall for working in a modern economy, but much of the justification is that it makes you well-rounded (whatever that is). In my case I have classes in German, sociology, public speaking, biology, environmental science, history, and what-not, none of which contribute to what I do as a professional developer (except perhaps to give me something to talk about at lunch that isn't work-related).
So given that there are courses that are not necessary at all to be a good software developer, and yet are still required for the degree, then it stands to reason that anything which is not required must be entirely superfluous.
In the case of calculus, it is certainly nice to know. Integral calculus, in particular, requires a good deal of imagination, which is definitely a plus when solving problems in any field.
$endgroup$
add a comment |
$begingroup$
Computer science is not programming. Complexity theory and algorithm analysis are unthinkable without analysis. Look up the "master theorem" of complexity theory and a few examples of its application. Apart from algorithmic analysis, a lot of programming tasks revolve about a problem space described with mathematical analysis. AI is determined by methods like the simplex theorem, gradient descent, and things like neural networks with learning dynamics described by differential equations. Recognition tasks are done using theories of neural fields and their dynamics described, for example, with the Amari field equations.
If you decide to forget about analysis, you close a whole lot of doors in computer science for you, and even a non-trivial number of doors for programming jobs that require a bit of problem analysis and algorithmic planning.
$endgroup$
add a comment |
9 Answers
9
active
oldest
votes
9 Answers
9
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
A software engineer probably does not need to study calculus, and it is less likely to be useful than graph theory, elementary logic, study of algorithms, etc. Of course, if you are implementing algorithms for use in science and engineering, calculus and numerical methods for approximating calculus operations will show up all of the time.
AI, on the other hand, is all about calculus (despite the best attempts of the machine learning community to "rebrand" concepts like numerical optimization, the chain rule, gradient descent, etc.) It's hard for me to imagine a successful data analyst or AI researcher who doesn't know at least the basics of calculus.
EDIT: In response to the answer suggesting you do not need calculus to be a data scientist at a company like Google, consider this blog post from a Googler with advice on the job search:
Math like linear algebra and calculus are more or less expected of anyone we’d hire as a data scientist
$endgroup$
$begingroup$
+1. For general Computer science, Linear Algebra is probably enough. For Data Science, you'll want both Calculus and Linear Algebra -- though Linear Algebra is more important if you can only take one.
$endgroup$
– Wayne
Aug 11 at 12:39
2
$begingroup$
@Wayne Linear algebra without calculus is like decaffeinated coffee - all the best bits have been removed. The bottom line is, if you choose not to learn calculus, you have shut yourself out from a lot of employment opportunities for the next 40 or 50 years after you graduate - and nobody knows what will turn out to be the hot topics in CS in that timescale!
$endgroup$
– alephzero
Aug 11 at 18:23
add a comment |
$begingroup$
A software engineer probably does not need to study calculus, and it is less likely to be useful than graph theory, elementary logic, study of algorithms, etc. Of course, if you are implementing algorithms for use in science and engineering, calculus and numerical methods for approximating calculus operations will show up all of the time.
AI, on the other hand, is all about calculus (despite the best attempts of the machine learning community to "rebrand" concepts like numerical optimization, the chain rule, gradient descent, etc.) It's hard for me to imagine a successful data analyst or AI researcher who doesn't know at least the basics of calculus.
EDIT: In response to the answer suggesting you do not need calculus to be a data scientist at a company like Google, consider this blog post from a Googler with advice on the job search:
Math like linear algebra and calculus are more or less expected of anyone we’d hire as a data scientist
$endgroup$
$begingroup$
+1. For general Computer science, Linear Algebra is probably enough. For Data Science, you'll want both Calculus and Linear Algebra -- though Linear Algebra is more important if you can only take one.
$endgroup$
– Wayne
Aug 11 at 12:39
2
$begingroup$
@Wayne Linear algebra without calculus is like decaffeinated coffee - all the best bits have been removed. The bottom line is, if you choose not to learn calculus, you have shut yourself out from a lot of employment opportunities for the next 40 or 50 years after you graduate - and nobody knows what will turn out to be the hot topics in CS in that timescale!
$endgroup$
– alephzero
Aug 11 at 18:23
add a comment |
$begingroup$
A software engineer probably does not need to study calculus, and it is less likely to be useful than graph theory, elementary logic, study of algorithms, etc. Of course, if you are implementing algorithms for use in science and engineering, calculus and numerical methods for approximating calculus operations will show up all of the time.
AI, on the other hand, is all about calculus (despite the best attempts of the machine learning community to "rebrand" concepts like numerical optimization, the chain rule, gradient descent, etc.) It's hard for me to imagine a successful data analyst or AI researcher who doesn't know at least the basics of calculus.
EDIT: In response to the answer suggesting you do not need calculus to be a data scientist at a company like Google, consider this blog post from a Googler with advice on the job search:
Math like linear algebra and calculus are more or less expected of anyone we’d hire as a data scientist
$endgroup$
A software engineer probably does not need to study calculus, and it is less likely to be useful than graph theory, elementary logic, study of algorithms, etc. Of course, if you are implementing algorithms for use in science and engineering, calculus and numerical methods for approximating calculus operations will show up all of the time.
AI, on the other hand, is all about calculus (despite the best attempts of the machine learning community to "rebrand" concepts like numerical optimization, the chain rule, gradient descent, etc.) It's hard for me to imagine a successful data analyst or AI researcher who doesn't know at least the basics of calculus.
EDIT: In response to the answer suggesting you do not need calculus to be a data scientist at a company like Google, consider this blog post from a Googler with advice on the job search:
Math like linear algebra and calculus are more or less expected of anyone we’d hire as a data scientist
edited Aug 10 at 23:54
answered Aug 10 at 23:29
user7530user7530
36.6k8 gold badges64 silver badges120 bronze badges
36.6k8 gold badges64 silver badges120 bronze badges
$begingroup$
+1. For general Computer science, Linear Algebra is probably enough. For Data Science, you'll want both Calculus and Linear Algebra -- though Linear Algebra is more important if you can only take one.
$endgroup$
– Wayne
Aug 11 at 12:39
2
$begingroup$
@Wayne Linear algebra without calculus is like decaffeinated coffee - all the best bits have been removed. The bottom line is, if you choose not to learn calculus, you have shut yourself out from a lot of employment opportunities for the next 40 or 50 years after you graduate - and nobody knows what will turn out to be the hot topics in CS in that timescale!
$endgroup$
– alephzero
Aug 11 at 18:23
add a comment |
$begingroup$
+1. For general Computer science, Linear Algebra is probably enough. For Data Science, you'll want both Calculus and Linear Algebra -- though Linear Algebra is more important if you can only take one.
$endgroup$
– Wayne
Aug 11 at 12:39
2
$begingroup$
@Wayne Linear algebra without calculus is like decaffeinated coffee - all the best bits have been removed. The bottom line is, if you choose not to learn calculus, you have shut yourself out from a lot of employment opportunities for the next 40 or 50 years after you graduate - and nobody knows what will turn out to be the hot topics in CS in that timescale!
$endgroup$
– alephzero
Aug 11 at 18:23
$begingroup$
+1. For general Computer science, Linear Algebra is probably enough. For Data Science, you'll want both Calculus and Linear Algebra -- though Linear Algebra is more important if you can only take one.
$endgroup$
– Wayne
Aug 11 at 12:39
$begingroup$
+1. For general Computer science, Linear Algebra is probably enough. For Data Science, you'll want both Calculus and Linear Algebra -- though Linear Algebra is more important if you can only take one.
$endgroup$
– Wayne
Aug 11 at 12:39
2
2
$begingroup$
@Wayne Linear algebra without calculus is like decaffeinated coffee - all the best bits have been removed. The bottom line is, if you choose not to learn calculus, you have shut yourself out from a lot of employment opportunities for the next 40 or 50 years after you graduate - and nobody knows what will turn out to be the hot topics in CS in that timescale!
$endgroup$
– alephzero
Aug 11 at 18:23
$begingroup$
@Wayne Linear algebra without calculus is like decaffeinated coffee - all the best bits have been removed. The bottom line is, if you choose not to learn calculus, you have shut yourself out from a lot of employment opportunities for the next 40 or 50 years after you graduate - and nobody knows what will turn out to be the hot topics in CS in that timescale!
$endgroup$
– alephzero
Aug 11 at 18:23
add a comment |
$begingroup$
Calculus is a fundamental mathematical science - Learn it to broaden your mind and not necessarily to be graded at.it. It is fundamental for scientific computing. Programming in scientific filed specially engineering require background. I am surprised that you are studying engineering without calculus!!!
$endgroup$
add a comment |
$begingroup$
Calculus is a fundamental mathematical science - Learn it to broaden your mind and not necessarily to be graded at.it. It is fundamental for scientific computing. Programming in scientific filed specially engineering require background. I am surprised that you are studying engineering without calculus!!!
$endgroup$
add a comment |
$begingroup$
Calculus is a fundamental mathematical science - Learn it to broaden your mind and not necessarily to be graded at.it. It is fundamental for scientific computing. Programming in scientific filed specially engineering require background. I am surprised that you are studying engineering without calculus!!!
$endgroup$
Calculus is a fundamental mathematical science - Learn it to broaden your mind and not necessarily to be graded at.it. It is fundamental for scientific computing. Programming in scientific filed specially engineering require background. I am surprised that you are studying engineering without calculus!!!
answered Aug 10 at 23:49
NoChanceNoChance
4,6782 gold badges13 silver badges22 bronze badges
4,6782 gold badges13 silver badges22 bronze badges
add a comment |
add a comment |
$begingroup$
I’m a CS student myself so I can relate to what you’re asking. First of all, it really matters what branch of CS you’d like to pursue. For example, if you want to do cyber security(more specifically, cryptography), you will definitely need to know a lot of number theory. In your case, you’re interested in AI and data science but that’s still a bit vague; most people who’d like to do AI/data science, don’t really care about what’s going “under the hood”(which is not really that bad) and use libraries such as Pytorch, Tensor Flow, etc(but note that these people aren’t just AI enthusiastics; many of them work for big companies and are rather successful in their respective field). But there are people that are trying to make new, cutting-edge algorithms and write papers and in that case, you definitely will need more than just high school level math(university level calculus, linear algebra and statistics mostly). So if you are one of the former, high school level calculus, some university-level linear algebra and statistics(first year) would suffice. But if you’re one of the latter, you will need a lot more than just high school calculus and basic university linear algebra and statistics.
To sum it up, most people who do AI(again, not just enthusiastics; people who work for Google, Facebook, etc) do not always understand what’s going on in a library/module. The people who write these algorithms and papers do that. But if you have the time, try learning calculus, linear algebra and statistics so you’ll get a better understanding of what’s going on and maybe even you can make new algorithms that change the AI industry:)
EDIT
I think some people mistook what I said about some people not knowing how something works in AI: Does every successful data scientist know how regression works? Of course they do! How and why batch gradient descent works? 100%(you need calculus for these)! But do they all also know how restricted boltzman machine works? Probably not. Do they all understand VBEM? Of course not! The point is, I didn’t mean that people working for Google don’t know calculus or how an algorithm such as deep neural nets or NLP works; I just meant that you don’t need to be as good as most math students at calculus.
Good luck!
$endgroup$
$begingroup$
It's funny that in case of AI, your answer seems like opposite of the other answer provided, in particular when you read his second paragraph.
$endgroup$
– imranfat
Aug 10 at 23:46
$begingroup$
@imranfat I actually agree with Borna that many users of libraries like TensorFlow do not fully understand (and do not need to fully understand) what they are doing under the hood. But even if you are not a research-level AI specialist, some basic understanding of how e.g. back-propagation works is expected.
$endgroup$
– user7530
Aug 10 at 23:50
2
$begingroup$
@user7530. I see. My answer is in reference to one of my family member who is pursuing a PhD in AI, and he talks about Calculus and Linear Algebra ALL THE TIME. I am just a math dude, but I can see AI alive and well when watching the video clip "Paranoia" by the Art of Noise. Lots of Linear Algebra going on over there as well (Max Headroom), and that was in 1986!
$endgroup$
– imranfat
Aug 10 at 23:54
add a comment |
$begingroup$
I’m a CS student myself so I can relate to what you’re asking. First of all, it really matters what branch of CS you’d like to pursue. For example, if you want to do cyber security(more specifically, cryptography), you will definitely need to know a lot of number theory. In your case, you’re interested in AI and data science but that’s still a bit vague; most people who’d like to do AI/data science, don’t really care about what’s going “under the hood”(which is not really that bad) and use libraries such as Pytorch, Tensor Flow, etc(but note that these people aren’t just AI enthusiastics; many of them work for big companies and are rather successful in their respective field). But there are people that are trying to make new, cutting-edge algorithms and write papers and in that case, you definitely will need more than just high school level math(university level calculus, linear algebra and statistics mostly). So if you are one of the former, high school level calculus, some university-level linear algebra and statistics(first year) would suffice. But if you’re one of the latter, you will need a lot more than just high school calculus and basic university linear algebra and statistics.
To sum it up, most people who do AI(again, not just enthusiastics; people who work for Google, Facebook, etc) do not always understand what’s going on in a library/module. The people who write these algorithms and papers do that. But if you have the time, try learning calculus, linear algebra and statistics so you’ll get a better understanding of what’s going on and maybe even you can make new algorithms that change the AI industry:)
EDIT
I think some people mistook what I said about some people not knowing how something works in AI: Does every successful data scientist know how regression works? Of course they do! How and why batch gradient descent works? 100%(you need calculus for these)! But do they all also know how restricted boltzman machine works? Probably not. Do they all understand VBEM? Of course not! The point is, I didn’t mean that people working for Google don’t know calculus or how an algorithm such as deep neural nets or NLP works; I just meant that you don’t need to be as good as most math students at calculus.
Good luck!
$endgroup$
$begingroup$
It's funny that in case of AI, your answer seems like opposite of the other answer provided, in particular when you read his second paragraph.
$endgroup$
– imranfat
Aug 10 at 23:46
$begingroup$
@imranfat I actually agree with Borna that many users of libraries like TensorFlow do not fully understand (and do not need to fully understand) what they are doing under the hood. But even if you are not a research-level AI specialist, some basic understanding of how e.g. back-propagation works is expected.
$endgroup$
– user7530
Aug 10 at 23:50
2
$begingroup$
@user7530. I see. My answer is in reference to one of my family member who is pursuing a PhD in AI, and he talks about Calculus and Linear Algebra ALL THE TIME. I am just a math dude, but I can see AI alive and well when watching the video clip "Paranoia" by the Art of Noise. Lots of Linear Algebra going on over there as well (Max Headroom), and that was in 1986!
$endgroup$
– imranfat
Aug 10 at 23:54
add a comment |
$begingroup$
I’m a CS student myself so I can relate to what you’re asking. First of all, it really matters what branch of CS you’d like to pursue. For example, if you want to do cyber security(more specifically, cryptography), you will definitely need to know a lot of number theory. In your case, you’re interested in AI and data science but that’s still a bit vague; most people who’d like to do AI/data science, don’t really care about what’s going “under the hood”(which is not really that bad) and use libraries such as Pytorch, Tensor Flow, etc(but note that these people aren’t just AI enthusiastics; many of them work for big companies and are rather successful in their respective field). But there are people that are trying to make new, cutting-edge algorithms and write papers and in that case, you definitely will need more than just high school level math(university level calculus, linear algebra and statistics mostly). So if you are one of the former, high school level calculus, some university-level linear algebra and statistics(first year) would suffice. But if you’re one of the latter, you will need a lot more than just high school calculus and basic university linear algebra and statistics.
To sum it up, most people who do AI(again, not just enthusiastics; people who work for Google, Facebook, etc) do not always understand what’s going on in a library/module. The people who write these algorithms and papers do that. But if you have the time, try learning calculus, linear algebra and statistics so you’ll get a better understanding of what’s going on and maybe even you can make new algorithms that change the AI industry:)
EDIT
I think some people mistook what I said about some people not knowing how something works in AI: Does every successful data scientist know how regression works? Of course they do! How and why batch gradient descent works? 100%(you need calculus for these)! But do they all also know how restricted boltzman machine works? Probably not. Do they all understand VBEM? Of course not! The point is, I didn’t mean that people working for Google don’t know calculus or how an algorithm such as deep neural nets or NLP works; I just meant that you don’t need to be as good as most math students at calculus.
Good luck!
$endgroup$
I’m a CS student myself so I can relate to what you’re asking. First of all, it really matters what branch of CS you’d like to pursue. For example, if you want to do cyber security(more specifically, cryptography), you will definitely need to know a lot of number theory. In your case, you’re interested in AI and data science but that’s still a bit vague; most people who’d like to do AI/data science, don’t really care about what’s going “under the hood”(which is not really that bad) and use libraries such as Pytorch, Tensor Flow, etc(but note that these people aren’t just AI enthusiastics; many of them work for big companies and are rather successful in their respective field). But there are people that are trying to make new, cutting-edge algorithms and write papers and in that case, you definitely will need more than just high school level math(university level calculus, linear algebra and statistics mostly). So if you are one of the former, high school level calculus, some university-level linear algebra and statistics(first year) would suffice. But if you’re one of the latter, you will need a lot more than just high school calculus and basic university linear algebra and statistics.
To sum it up, most people who do AI(again, not just enthusiastics; people who work for Google, Facebook, etc) do not always understand what’s going on in a library/module. The people who write these algorithms and papers do that. But if you have the time, try learning calculus, linear algebra and statistics so you’ll get a better understanding of what’s going on and maybe even you can make new algorithms that change the AI industry:)
EDIT
I think some people mistook what I said about some people not knowing how something works in AI: Does every successful data scientist know how regression works? Of course they do! How and why batch gradient descent works? 100%(you need calculus for these)! But do they all also know how restricted boltzman machine works? Probably not. Do they all understand VBEM? Of course not! The point is, I didn’t mean that people working for Google don’t know calculus or how an algorithm such as deep neural nets or NLP works; I just meant that you don’t need to be as good as most math students at calculus.
Good luck!
edited Aug 11 at 0:49
answered Aug 10 at 23:44
Borna AhmadzadeBorna Ahmadzade
3531 silver badge11 bronze badges
3531 silver badge11 bronze badges
$begingroup$
It's funny that in case of AI, your answer seems like opposite of the other answer provided, in particular when you read his second paragraph.
$endgroup$
– imranfat
Aug 10 at 23:46
$begingroup$
@imranfat I actually agree with Borna that many users of libraries like TensorFlow do not fully understand (and do not need to fully understand) what they are doing under the hood. But even if you are not a research-level AI specialist, some basic understanding of how e.g. back-propagation works is expected.
$endgroup$
– user7530
Aug 10 at 23:50
2
$begingroup$
@user7530. I see. My answer is in reference to one of my family member who is pursuing a PhD in AI, and he talks about Calculus and Linear Algebra ALL THE TIME. I am just a math dude, but I can see AI alive and well when watching the video clip "Paranoia" by the Art of Noise. Lots of Linear Algebra going on over there as well (Max Headroom), and that was in 1986!
$endgroup$
– imranfat
Aug 10 at 23:54
add a comment |
$begingroup$
It's funny that in case of AI, your answer seems like opposite of the other answer provided, in particular when you read his second paragraph.
$endgroup$
– imranfat
Aug 10 at 23:46
$begingroup$
@imranfat I actually agree with Borna that many users of libraries like TensorFlow do not fully understand (and do not need to fully understand) what they are doing under the hood. But even if you are not a research-level AI specialist, some basic understanding of how e.g. back-propagation works is expected.
$endgroup$
– user7530
Aug 10 at 23:50
2
$begingroup$
@user7530. I see. My answer is in reference to one of my family member who is pursuing a PhD in AI, and he talks about Calculus and Linear Algebra ALL THE TIME. I am just a math dude, but I can see AI alive and well when watching the video clip "Paranoia" by the Art of Noise. Lots of Linear Algebra going on over there as well (Max Headroom), and that was in 1986!
$endgroup$
– imranfat
Aug 10 at 23:54
$begingroup$
It's funny that in case of AI, your answer seems like opposite of the other answer provided, in particular when you read his second paragraph.
$endgroup$
– imranfat
Aug 10 at 23:46
$begingroup$
It's funny that in case of AI, your answer seems like opposite of the other answer provided, in particular when you read his second paragraph.
$endgroup$
– imranfat
Aug 10 at 23:46
$begingroup$
@imranfat I actually agree with Borna that many users of libraries like TensorFlow do not fully understand (and do not need to fully understand) what they are doing under the hood. But even if you are not a research-level AI specialist, some basic understanding of how e.g. back-propagation works is expected.
$endgroup$
– user7530
Aug 10 at 23:50
$begingroup$
@imranfat I actually agree with Borna that many users of libraries like TensorFlow do not fully understand (and do not need to fully understand) what they are doing under the hood. But even if you are not a research-level AI specialist, some basic understanding of how e.g. back-propagation works is expected.
$endgroup$
– user7530
Aug 10 at 23:50
2
2
$begingroup$
@user7530. I see. My answer is in reference to one of my family member who is pursuing a PhD in AI, and he talks about Calculus and Linear Algebra ALL THE TIME. I am just a math dude, but I can see AI alive and well when watching the video clip "Paranoia" by the Art of Noise. Lots of Linear Algebra going on over there as well (Max Headroom), and that was in 1986!
$endgroup$
– imranfat
Aug 10 at 23:54
$begingroup$
@user7530. I see. My answer is in reference to one of my family member who is pursuing a PhD in AI, and he talks about Calculus and Linear Algebra ALL THE TIME. I am just a math dude, but I can see AI alive and well when watching the video clip "Paranoia" by the Art of Noise. Lots of Linear Algebra going on over there as well (Max Headroom), and that was in 1986!
$endgroup$
– imranfat
Aug 10 at 23:54
add a comment |
$begingroup$
It depends what you mean by calculus. Do you need to know basic differentiation/integration? Definitely, I don't know how you could take a class such as digital signal processing (which I assume would be part of a CS and engineering degree) without that. Do you need to learn loads of methods for solving tricky integrals/differential equations, or do a rigorous course in real analysis? No, unless you want to specialise in related areas.
$endgroup$
add a comment |
$begingroup$
It depends what you mean by calculus. Do you need to know basic differentiation/integration? Definitely, I don't know how you could take a class such as digital signal processing (which I assume would be part of a CS and engineering degree) without that. Do you need to learn loads of methods for solving tricky integrals/differential equations, or do a rigorous course in real analysis? No, unless you want to specialise in related areas.
$endgroup$
add a comment |
$begingroup$
It depends what you mean by calculus. Do you need to know basic differentiation/integration? Definitely, I don't know how you could take a class such as digital signal processing (which I assume would be part of a CS and engineering degree) without that. Do you need to learn loads of methods for solving tricky integrals/differential equations, or do a rigorous course in real analysis? No, unless you want to specialise in related areas.
$endgroup$
It depends what you mean by calculus. Do you need to know basic differentiation/integration? Definitely, I don't know how you could take a class such as digital signal processing (which I assume would be part of a CS and engineering degree) without that. Do you need to learn loads of methods for solving tricky integrals/differential equations, or do a rigorous course in real analysis? No, unless you want to specialise in related areas.
edited Aug 12 at 7:54
answered Aug 11 at 19:59
rlmsrlms
3381 gold badge4 silver badges18 bronze badges
3381 gold badge4 silver badges18 bronze badges
add a comment |
add a comment |
$begingroup$
Mathematics needed in Computer Science (Graph theory, Boolean algebra, Number theory) Vs Mathematics for other traditional Engineering disciplines is usually contrasted as Discrete Vs Continuous mathematics.
That is a correct, best, and shortest description of the contrast. So one can find people who have not yet learnt any serious calculus excelling in Programming and in software. This depends on the nature of applications one wants to handle as a software professional. If you want to be in software working for modelling financial markets or sending rockets to space Calculus is the way.
(Self-Promotion): I have written an article in a Science Education Journal on this aspect
analyzing what aspect makes it to work in some application domain and fail in another.
Here is the link
$endgroup$
add a comment |
$begingroup$
Mathematics needed in Computer Science (Graph theory, Boolean algebra, Number theory) Vs Mathematics for other traditional Engineering disciplines is usually contrasted as Discrete Vs Continuous mathematics.
That is a correct, best, and shortest description of the contrast. So one can find people who have not yet learnt any serious calculus excelling in Programming and in software. This depends on the nature of applications one wants to handle as a software professional. If you want to be in software working for modelling financial markets or sending rockets to space Calculus is the way.
(Self-Promotion): I have written an article in a Science Education Journal on this aspect
analyzing what aspect makes it to work in some application domain and fail in another.
Here is the link
$endgroup$
add a comment |
$begingroup$
Mathematics needed in Computer Science (Graph theory, Boolean algebra, Number theory) Vs Mathematics for other traditional Engineering disciplines is usually contrasted as Discrete Vs Continuous mathematics.
That is a correct, best, and shortest description of the contrast. So one can find people who have not yet learnt any serious calculus excelling in Programming and in software. This depends on the nature of applications one wants to handle as a software professional. If you want to be in software working for modelling financial markets or sending rockets to space Calculus is the way.
(Self-Promotion): I have written an article in a Science Education Journal on this aspect
analyzing what aspect makes it to work in some application domain and fail in another.
Here is the link
$endgroup$
Mathematics needed in Computer Science (Graph theory, Boolean algebra, Number theory) Vs Mathematics for other traditional Engineering disciplines is usually contrasted as Discrete Vs Continuous mathematics.
That is a correct, best, and shortest description of the contrast. So one can find people who have not yet learnt any serious calculus excelling in Programming and in software. This depends on the nature of applications one wants to handle as a software professional. If you want to be in software working for modelling financial markets or sending rockets to space Calculus is the way.
(Self-Promotion): I have written an article in a Science Education Journal on this aspect
analyzing what aspect makes it to work in some application domain and fail in another.
Here is the link
answered Aug 11 at 0:15
P VanchinathanP Vanchinathan
16.2k1 gold badge22 silver badges37 bronze badges
16.2k1 gold badge22 silver badges37 bronze badges
add a comment |
add a comment |
$begingroup$
Calculus (and analysis) is actually far more useful in computer science than one may think. (Also: computer science $neq$ programming.)
I need not mention that machine learning (especially learning theory) is all about analysis, probability theory and topology (usually on Euclidean spaces), all of which require calculus. Information theory requires knowledge of measure-theoretic probability theory. Robotics requires calculus for movement planning, etc. Computer graphics require a lot of analysis and even some knowledge of differential geometry, which could not be studies without a solid knowledge of analysis.
Even in fields that seem unrelated to analysis, it can still be useful. Let's use my field of research, programming languages & logic, as an example.
Infinite-precision computation, for example, uses many important concepts in real analysis. Note the fact that all computable functions on $mathbbR$ are continuous. Using this insight, problems about infinite-precision computation can easily be transformed into problems about properties of functions on and the topological properties of the Euclidean spaces $mathbbR^n$ (see, e.g. this talk and this paper). The paper was published in Logic in Computer Science 2018, which has little to do with analysis!
Of course, many other related fields of research require knowledge about analysis, for example the design and semantics probabilistic programming languages, which requires knowledge of measure theory. Not to mention that studying calculus and analysis is quite fundamental in building up mathematical maturity that is required for advanced mathematical topics required for computer science, and analysis can be an important pathway to more advanced topics of practical value in computer science, such as probability theory and topology. (You can study topology without real analysis, albeit that makes it much harder. You definitely cannot study probability theory without calculus.)
$endgroup$
add a comment |
$begingroup$
Calculus (and analysis) is actually far more useful in computer science than one may think. (Also: computer science $neq$ programming.)
I need not mention that machine learning (especially learning theory) is all about analysis, probability theory and topology (usually on Euclidean spaces), all of which require calculus. Information theory requires knowledge of measure-theoretic probability theory. Robotics requires calculus for movement planning, etc. Computer graphics require a lot of analysis and even some knowledge of differential geometry, which could not be studies without a solid knowledge of analysis.
Even in fields that seem unrelated to analysis, it can still be useful. Let's use my field of research, programming languages & logic, as an example.
Infinite-precision computation, for example, uses many important concepts in real analysis. Note the fact that all computable functions on $mathbbR$ are continuous. Using this insight, problems about infinite-precision computation can easily be transformed into problems about properties of functions on and the topological properties of the Euclidean spaces $mathbbR^n$ (see, e.g. this talk and this paper). The paper was published in Logic in Computer Science 2018, which has little to do with analysis!
Of course, many other related fields of research require knowledge about analysis, for example the design and semantics probabilistic programming languages, which requires knowledge of measure theory. Not to mention that studying calculus and analysis is quite fundamental in building up mathematical maturity that is required for advanced mathematical topics required for computer science, and analysis can be an important pathway to more advanced topics of practical value in computer science, such as probability theory and topology. (You can study topology without real analysis, albeit that makes it much harder. You definitely cannot study probability theory without calculus.)
$endgroup$
add a comment |
$begingroup$
Calculus (and analysis) is actually far more useful in computer science than one may think. (Also: computer science $neq$ programming.)
I need not mention that machine learning (especially learning theory) is all about analysis, probability theory and topology (usually on Euclidean spaces), all of which require calculus. Information theory requires knowledge of measure-theoretic probability theory. Robotics requires calculus for movement planning, etc. Computer graphics require a lot of analysis and even some knowledge of differential geometry, which could not be studies without a solid knowledge of analysis.
Even in fields that seem unrelated to analysis, it can still be useful. Let's use my field of research, programming languages & logic, as an example.
Infinite-precision computation, for example, uses many important concepts in real analysis. Note the fact that all computable functions on $mathbbR$ are continuous. Using this insight, problems about infinite-precision computation can easily be transformed into problems about properties of functions on and the topological properties of the Euclidean spaces $mathbbR^n$ (see, e.g. this talk and this paper). The paper was published in Logic in Computer Science 2018, which has little to do with analysis!
Of course, many other related fields of research require knowledge about analysis, for example the design and semantics probabilistic programming languages, which requires knowledge of measure theory. Not to mention that studying calculus and analysis is quite fundamental in building up mathematical maturity that is required for advanced mathematical topics required for computer science, and analysis can be an important pathway to more advanced topics of practical value in computer science, such as probability theory and topology. (You can study topology without real analysis, albeit that makes it much harder. You definitely cannot study probability theory without calculus.)
$endgroup$
Calculus (and analysis) is actually far more useful in computer science than one may think. (Also: computer science $neq$ programming.)
I need not mention that machine learning (especially learning theory) is all about analysis, probability theory and topology (usually on Euclidean spaces), all of which require calculus. Information theory requires knowledge of measure-theoretic probability theory. Robotics requires calculus for movement planning, etc. Computer graphics require a lot of analysis and even some knowledge of differential geometry, which could not be studies without a solid knowledge of analysis.
Even in fields that seem unrelated to analysis, it can still be useful. Let's use my field of research, programming languages & logic, as an example.
Infinite-precision computation, for example, uses many important concepts in real analysis. Note the fact that all computable functions on $mathbbR$ are continuous. Using this insight, problems about infinite-precision computation can easily be transformed into problems about properties of functions on and the topological properties of the Euclidean spaces $mathbbR^n$ (see, e.g. this talk and this paper). The paper was published in Logic in Computer Science 2018, which has little to do with analysis!
Of course, many other related fields of research require knowledge about analysis, for example the design and semantics probabilistic programming languages, which requires knowledge of measure theory. Not to mention that studying calculus and analysis is quite fundamental in building up mathematical maturity that is required for advanced mathematical topics required for computer science, and analysis can be an important pathway to more advanced topics of practical value in computer science, such as probability theory and topology. (You can study topology without real analysis, albeit that makes it much harder. You definitely cannot study probability theory without calculus.)
answered Aug 11 at 8:31
xuq01xuq01
1285 bronze badges
1285 bronze badges
add a comment |
add a comment |
$begingroup$
The short answer is that it really depends what level of calculus you already have and what field of CS you're interested in. If you know the fundamental theorem, common integral/differential identities, the chain rule, product rule, and so on (basically, simple high school calculus), you've got enough calculus for CS in general, but for some parts of AI you'll want more, and in some application domains (anything involving control theory in the EE sense, quantitive finance, all sorts of heavy numerical engineering-related SE work) it is likely to be useful.
I've probably regretted not studying more formal algebra, graph theory, number theory, etc. more often than I've used university-level calculus, but most universities seem to demand it for CS students.
You'll need a whole load of statistics and probability (Bayes's Theorem and so on) for AI but you'll probably cover that in a CS-coded course.
$endgroup$
add a comment |
$begingroup$
The short answer is that it really depends what level of calculus you already have and what field of CS you're interested in. If you know the fundamental theorem, common integral/differential identities, the chain rule, product rule, and so on (basically, simple high school calculus), you've got enough calculus for CS in general, but for some parts of AI you'll want more, and in some application domains (anything involving control theory in the EE sense, quantitive finance, all sorts of heavy numerical engineering-related SE work) it is likely to be useful.
I've probably regretted not studying more formal algebra, graph theory, number theory, etc. more often than I've used university-level calculus, but most universities seem to demand it for CS students.
You'll need a whole load of statistics and probability (Bayes's Theorem and so on) for AI but you'll probably cover that in a CS-coded course.
$endgroup$
add a comment |
$begingroup$
The short answer is that it really depends what level of calculus you already have and what field of CS you're interested in. If you know the fundamental theorem, common integral/differential identities, the chain rule, product rule, and so on (basically, simple high school calculus), you've got enough calculus for CS in general, but for some parts of AI you'll want more, and in some application domains (anything involving control theory in the EE sense, quantitive finance, all sorts of heavy numerical engineering-related SE work) it is likely to be useful.
I've probably regretted not studying more formal algebra, graph theory, number theory, etc. more often than I've used university-level calculus, but most universities seem to demand it for CS students.
You'll need a whole load of statistics and probability (Bayes's Theorem and so on) for AI but you'll probably cover that in a CS-coded course.
$endgroup$
The short answer is that it really depends what level of calculus you already have and what field of CS you're interested in. If you know the fundamental theorem, common integral/differential identities, the chain rule, product rule, and so on (basically, simple high school calculus), you've got enough calculus for CS in general, but for some parts of AI you'll want more, and in some application domains (anything involving control theory in the EE sense, quantitive finance, all sorts of heavy numerical engineering-related SE work) it is likely to be useful.
I've probably regretted not studying more formal algebra, graph theory, number theory, etc. more often than I've used university-level calculus, but most universities seem to demand it for CS students.
You'll need a whole load of statistics and probability (Bayes's Theorem and so on) for AI but you'll probably cover that in a CS-coded course.
answered Aug 11 at 14:22
user1567459user1567459
211 bronze badge
211 bronze badge
add a comment |
add a comment |
$begingroup$
Take a look a the degree requirements for a CS at your school. In addition to the classes that deal with CS, there are classes that have nothing to do with the field, but they are still required for your degree.
It's certainly true that some of these courses help ensure that you're intelligent enough overall for working in a modern economy, but much of the justification is that it makes you well-rounded (whatever that is). In my case I have classes in German, sociology, public speaking, biology, environmental science, history, and what-not, none of which contribute to what I do as a professional developer (except perhaps to give me something to talk about at lunch that isn't work-related).
So given that there are courses that are not necessary at all to be a good software developer, and yet are still required for the degree, then it stands to reason that anything which is not required must be entirely superfluous.
In the case of calculus, it is certainly nice to know. Integral calculus, in particular, requires a good deal of imagination, which is definitely a plus when solving problems in any field.
$endgroup$
add a comment |
$begingroup$
Take a look a the degree requirements for a CS at your school. In addition to the classes that deal with CS, there are classes that have nothing to do with the field, but they are still required for your degree.
It's certainly true that some of these courses help ensure that you're intelligent enough overall for working in a modern economy, but much of the justification is that it makes you well-rounded (whatever that is). In my case I have classes in German, sociology, public speaking, biology, environmental science, history, and what-not, none of which contribute to what I do as a professional developer (except perhaps to give me something to talk about at lunch that isn't work-related).
So given that there are courses that are not necessary at all to be a good software developer, and yet are still required for the degree, then it stands to reason that anything which is not required must be entirely superfluous.
In the case of calculus, it is certainly nice to know. Integral calculus, in particular, requires a good deal of imagination, which is definitely a plus when solving problems in any field.
$endgroup$
add a comment |
$begingroup$
Take a look a the degree requirements for a CS at your school. In addition to the classes that deal with CS, there are classes that have nothing to do with the field, but they are still required for your degree.
It's certainly true that some of these courses help ensure that you're intelligent enough overall for working in a modern economy, but much of the justification is that it makes you well-rounded (whatever that is). In my case I have classes in German, sociology, public speaking, biology, environmental science, history, and what-not, none of which contribute to what I do as a professional developer (except perhaps to give me something to talk about at lunch that isn't work-related).
So given that there are courses that are not necessary at all to be a good software developer, and yet are still required for the degree, then it stands to reason that anything which is not required must be entirely superfluous.
In the case of calculus, it is certainly nice to know. Integral calculus, in particular, requires a good deal of imagination, which is definitely a plus when solving problems in any field.
$endgroup$
Take a look a the degree requirements for a CS at your school. In addition to the classes that deal with CS, there are classes that have nothing to do with the field, but they are still required for your degree.
It's certainly true that some of these courses help ensure that you're intelligent enough overall for working in a modern economy, but much of the justification is that it makes you well-rounded (whatever that is). In my case I have classes in German, sociology, public speaking, biology, environmental science, history, and what-not, none of which contribute to what I do as a professional developer (except perhaps to give me something to talk about at lunch that isn't work-related).
So given that there are courses that are not necessary at all to be a good software developer, and yet are still required for the degree, then it stands to reason that anything which is not required must be entirely superfluous.
In the case of calculus, it is certainly nice to know. Integral calculus, in particular, requires a good deal of imagination, which is definitely a plus when solving problems in any field.
answered Aug 11 at 17:37
EvilSnackEvilSnack
2473 bronze badges
2473 bronze badges
add a comment |
add a comment |
$begingroup$
Computer science is not programming. Complexity theory and algorithm analysis are unthinkable without analysis. Look up the "master theorem" of complexity theory and a few examples of its application. Apart from algorithmic analysis, a lot of programming tasks revolve about a problem space described with mathematical analysis. AI is determined by methods like the simplex theorem, gradient descent, and things like neural networks with learning dynamics described by differential equations. Recognition tasks are done using theories of neural fields and their dynamics described, for example, with the Amari field equations.
If you decide to forget about analysis, you close a whole lot of doors in computer science for you, and even a non-trivial number of doors for programming jobs that require a bit of problem analysis and algorithmic planning.
$endgroup$
add a comment |
$begingroup$
Computer science is not programming. Complexity theory and algorithm analysis are unthinkable without analysis. Look up the "master theorem" of complexity theory and a few examples of its application. Apart from algorithmic analysis, a lot of programming tasks revolve about a problem space described with mathematical analysis. AI is determined by methods like the simplex theorem, gradient descent, and things like neural networks with learning dynamics described by differential equations. Recognition tasks are done using theories of neural fields and their dynamics described, for example, with the Amari field equations.
If you decide to forget about analysis, you close a whole lot of doors in computer science for you, and even a non-trivial number of doors for programming jobs that require a bit of problem analysis and algorithmic planning.
$endgroup$
add a comment |
$begingroup$
Computer science is not programming. Complexity theory and algorithm analysis are unthinkable without analysis. Look up the "master theorem" of complexity theory and a few examples of its application. Apart from algorithmic analysis, a lot of programming tasks revolve about a problem space described with mathematical analysis. AI is determined by methods like the simplex theorem, gradient descent, and things like neural networks with learning dynamics described by differential equations. Recognition tasks are done using theories of neural fields and their dynamics described, for example, with the Amari field equations.
If you decide to forget about analysis, you close a whole lot of doors in computer science for you, and even a non-trivial number of doors for programming jobs that require a bit of problem analysis and algorithmic planning.
$endgroup$
Computer science is not programming. Complexity theory and algorithm analysis are unthinkable without analysis. Look up the "master theorem" of complexity theory and a few examples of its application. Apart from algorithmic analysis, a lot of programming tasks revolve about a problem space described with mathematical analysis. AI is determined by methods like the simplex theorem, gradient descent, and things like neural networks with learning dynamics described by differential equations. Recognition tasks are done using theories of neural fields and their dynamics described, for example, with the Amari field equations.
If you decide to forget about analysis, you close a whole lot of doors in computer science for you, and even a non-trivial number of doors for programming jobs that require a bit of problem analysis and algorithmic planning.
answered Aug 11 at 21:06
user695148
add a comment |
add a comment |
10
$begingroup$
May be more suitable for Mathematics Educators. My opinion is that while not necessary (you can clearly opt not to take it), calculus is certainly very applicable, and can help you think about certain problems.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:19
2
$begingroup$
initially, no because the low level courses are taught without the theory in mind (multivar calc and complex analysis). but if you want to do research you do need multivariable calculus or complex analysis which require calculus I as prerequisites. Calc I may not even be applied directly but the concepts are anyways.
$endgroup$
– user29418
Aug 10 at 23:20
2
$begingroup$
I am also of the opinion that if you enjoy it, you should take it. If you think you might fail, you can consider trying to study it a bit before taking the course, or just study it on your own (join some study group or something). Calculus concepts, at the very least, are very easy to learn.
$endgroup$
– Simply Beautiful Art
Aug 10 at 23:21
2
$begingroup$
If you want to do AI, calculus is absolutely required. It's also important for data science, because without calculus you won't understand what machine learning algorithms are doing under the hood. Also Calculus is a delightful subject.
$endgroup$
– littleO
Aug 10 at 23:39
3
$begingroup$
"More senior students are telling me calculus is a very hard class and I shouldn't take it" -- I would be surprised if those are computer science and engineering students with an interest in data science and AI. Don't let the questionable opinions of the math phobic dissuade you from learning something which in the grand scheme of things is not particularly hard.
$endgroup$
– John Coleman
Aug 11 at 13:17