Why do Computer Science majors learn Calculus?

Reducing vertical space in stackrel

Unexpected email from Yorkshire Bank

Why do games have consumables?

How to reduce LED flash rate (frequency)

Combinable filters

What is the difference between `command a[bc]d` and `command `ab,cd`

Meaning of Bloch representation

Error message with tabularx

Was there a shared-world project before "Thieves World"?

Use tikz commands in caption

How would one muzzle a full grown polar bear in the 13th century?

Why do Computer Science majors learn Calculus?

How come there are so many candidates for the 2020 Democratic party presidential nomination?

What language was spoken in East Asia before Proto-Turkic?

In order to check if a field is required or not, is the result of isNillable method sufficient?

What does it mean to express a gate in Dirac notation?

Why does academia still use scientific journals and not peer-reviewed government funded alternatives?

French for 'It must be my imagination'?

Will tsunami waves travel forever if there was no land?

Rivers without rain

Which big number is bigger?

Why does processed meat contain preservatives, while canned fish needs not?

What is Niska's accent?

Are Boeing 737-800’s grounded?



Why do Computer Science majors learn Calculus?














2












$begingroup$


I am curious why Computer Science majors have to learn Calculus to receive their Bachelors Degrees. My father worked as a Software Engineer for twenty years and never used it. It seems to have little more value in programming than other forms of mathematics. What is it about Calculus that makes it a requirement for Computer Science majors? Is it just that it's a tradition in STEM fields?










share|improve this question







New contributor




LuminousNutria is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$
















    2












    $begingroup$


    I am curious why Computer Science majors have to learn Calculus to receive their Bachelors Degrees. My father worked as a Software Engineer for twenty years and never used it. It seems to have little more value in programming than other forms of mathematics. What is it about Calculus that makes it a requirement for Computer Science majors? Is it just that it's a tradition in STEM fields?










    share|improve this question







    New contributor




    LuminousNutria is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$














      2












      2








      2





      $begingroup$


      I am curious why Computer Science majors have to learn Calculus to receive their Bachelors Degrees. My father worked as a Software Engineer for twenty years and never used it. It seems to have little more value in programming than other forms of mathematics. What is it about Calculus that makes it a requirement for Computer Science majors? Is it just that it's a tradition in STEM fields?










      share|improve this question







      New contributor




      LuminousNutria is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      I am curious why Computer Science majors have to learn Calculus to receive their Bachelors Degrees. My father worked as a Software Engineer for twenty years and never used it. It seems to have little more value in programming than other forms of mathematics. What is it about Calculus that makes it a requirement for Computer Science majors? Is it just that it's a tradition in STEM fields?







      mathematics






      share|improve this question







      New contributor




      LuminousNutria is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      LuminousNutria is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      LuminousNutria is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 3 hours ago









      LuminousNutriaLuminousNutria

      1134




      1134




      New contributor




      LuminousNutria is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      LuminousNutria is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      LuminousNutria is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          3 Answers
          3






          active

          oldest

          votes


















          6












          $begingroup$

          There are several answers:



          Answer 1: Not all CS programs



          First, not all CS programs require calculus in order to get a bachelor's degree. The Bachelor of Arts (BA) program at Mills College, where I teach, does not require calculus. Instead, we require two semesters of discrete mathematics, which we consider far more useful to computer scientists, because it (at least the way we teach it) includes:



          • inductive proofs

          • Boolean logic

          • proof by contradiction

          • sets

          • combinatorics

          • basic probability

          • recurrence relations

          • graph theory

          • matrices

          • regular expressions

          • finite state automata

          • formal languages

          Answer 2: Scientific foundations
          That said, getting a Bachelor of Science (BS) degree from Mills or just about any other school requires calculus as part of general scientific knowledge, along with introductory chemistry, biology, physics, etc., none of which we claim someone will necessarily be useful to a computer scientist. These courses are part of the college-wide BS core, not specified by any individual department. The idea is that anyone holding a BS degree should understand the fundamentals of major scientific fields even if they will never apply them in their careers. (Similarly, most colleges require students to take classes in history, even though they are unlikely to become time travelers.)



          Answer 2: Historical reasons



          Computer science as an academic discipline has not been around that long. Most CS programs started within either Mathematics or Electrical Engineering programs. Both of those fields legitimately require calculus. I went to MIT, where CS was added to the EE department. All CS majors were required to learn both digital and analog electronics, the latter of which requires calculus.



          Personal thoughts



          In my decades as a computer scientist, including in industry, I never used any of what I learned in the required calculus (I, II, and III), linear algebra, or differential equations. That said, they did give me the background to go into computer graphics, electrical engineering, or machine learning, had I later chosen to.



          Whether programs should require calculus is another question.






          share|improve this answer











          $endgroup$








          • 1




            $begingroup$
            I'll note that some of the things you learn in elementary calculus are in your "answer 1" list: sets, logic, especially quantifiers, and proofs. I'll also note that you had a dilemma a while back about something you wanted to do with your advanced students that became more complicated because they hadn't had calculus. I can't recall the details.
            $endgroup$
            – Buffy
            1 hour ago






          • 1




            $begingroup$
            @Buffy I hadn't realized that those topics were taught in calculus. I don't think that's universally true. I believe our students' not having calculus was a problem when we wanted to teach electives on computer graphics and machine learning.
            $endgroup$
            – Ellen Spertus
            1 hour ago


















          1












          $begingroup$

          Much of the material one learns in school has no direct utility in one's job as a software engineer. Conversely, much of the working knowledge one needs as an industry practitioner is not gained in school. What school is supposed to do is provide some basic knowledge and a basic framework for learning, out of which an individual is going to actively retain a small-ish portion for their day-to-day use on the job.



          However, much engineering work is multi-disciplinary, and therefore "surplus" knowledge is not exactly useless: it can provide a useful bridge to other disciplines. Calculus in particular occurs in the math that describes physical processes.



          In today's global economy, it is likely that one will switch employers and job specializations multiple times in one's career. At the start of one's career it is impossible to foresee what knowledge is going to come in handy later on. About twenty-five years into my career, I found myself interfacing to domain specialists whose bread and butter are differential equations. When I was in school, studying for a CS degree, I could have taken optional classes to learn about differential equations, but decided not to as I was already struggling with my math workload. So late in my career I came to regret my earlier decision, as it put me at a disadvantage relative to colleagues with a working knowledge of differential equations.



          The exact nature and number of math classes required in a CS program may in part be driven by departmental tradition. For example, in the school I attended, the CS program had grown out of the math program in the early 1970s. Therefore, math was heavily emphasized. In fact, as an undergrad I took exactly the same math classes as students in the math program. Out of those, linear algebra turned out to be useful for computer graphics, and numerics turned out to be useful for high-performance computing. Multi-dimensional analysis and statistics I never needed again, but it might have been quite different had my career taken me in a data science direction.






          share|improve this answer









          $endgroup$




















            1












            $begingroup$

            This isn't really an answer, but I'd like to say a few things about calculus. I think that what is needed by a CS major from that realm and what is needed by a math major are very different. As such, I think that if calculus is taught to CS majors, and to history majors, for that matter, the needs imply that it might be a different sort of course than that taken by the math majors.



            First, not a lot of people who have taken Elementary Calculus (i.e. Calc I, II, and III) actually have much insight into what is really the point. It is easy to get lost in details of differentiation and integration and techniques and such without realizing that it is really a study of the relationship between what happens locally with a function (differential calc) and what happens globally (integral calc). It is all tied together by the Fundamental Theorem.



            But even the nature of the derivative is poorly understood for a long while - it took me several years of graduate study in math to really grok it. The derivative you study in Elementary Calculus is really only one specific form of a wide variety of possibilities. The limit used in Elementary Calculus could be replaced by alternatives. The difference quotient in the derivative could be replaced by another "average ratio of change". This would result in a different theory.



            However, the standard version of Elementary Calculus (note that I keep writing Elementary") is very good for understanding the behavior of well behaved functions: those that are mostly continuous. But aside from Catastrophe Theory (why do bridges fall down unexpectedly?) it is these continuous functions that form the basis of understanding a lot of the applications of both math and CS. Probability, for example, depends on calculus once you get past counting.



            So, elementary calculus is useful for applications of rational thought to the real world - which CS folk do a lot of.



            However, the "nice" functions of elementary calculus are pretty boring to a mathematician. The interesting functions are those that are misbehaved - even wildly misbehaved - even wildly misbehaved everywhere. A function that is continuous but nowhere differentiable starts to be interesting. A function that is continuous everywhere but zero, but takes on every real value in every neighborhood of zero starts to be interesting. That is where the calculus sequence is headed for math majors, but it probably isn't very useful for a CS person. How about functions not even defined on the rationals. Is that a yummy or a yucky?



            So, a good compromise, if a university can arrange it, is to have a single course that is something like Calculus I with some ideas of the derivative and the integral, but focused on why these are important (rates of growth, etc) rather than just computational details, might be worth designing and offered generally to people interested in becoming widely educated, rather than becoming mathematicians.




            Note that this precise subject was the basis of my doctoral work: variations on the ideas of calculus and the deeper meaning for the study of functions.






            share|improve this answer











            $endgroup$













              Your Answer








              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "678"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );






              LuminousNutria is a new contributor. Be nice, and check out our Code of Conduct.









              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcseducators.stackexchange.com%2fquestions%2f5579%2fwhy-do-computer-science-majors-learn-calculus%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              6












              $begingroup$

              There are several answers:



              Answer 1: Not all CS programs



              First, not all CS programs require calculus in order to get a bachelor's degree. The Bachelor of Arts (BA) program at Mills College, where I teach, does not require calculus. Instead, we require two semesters of discrete mathematics, which we consider far more useful to computer scientists, because it (at least the way we teach it) includes:



              • inductive proofs

              • Boolean logic

              • proof by contradiction

              • sets

              • combinatorics

              • basic probability

              • recurrence relations

              • graph theory

              • matrices

              • regular expressions

              • finite state automata

              • formal languages

              Answer 2: Scientific foundations
              That said, getting a Bachelor of Science (BS) degree from Mills or just about any other school requires calculus as part of general scientific knowledge, along with introductory chemistry, biology, physics, etc., none of which we claim someone will necessarily be useful to a computer scientist. These courses are part of the college-wide BS core, not specified by any individual department. The idea is that anyone holding a BS degree should understand the fundamentals of major scientific fields even if they will never apply them in their careers. (Similarly, most colleges require students to take classes in history, even though they are unlikely to become time travelers.)



              Answer 2: Historical reasons



              Computer science as an academic discipline has not been around that long. Most CS programs started within either Mathematics or Electrical Engineering programs. Both of those fields legitimately require calculus. I went to MIT, where CS was added to the EE department. All CS majors were required to learn both digital and analog electronics, the latter of which requires calculus.



              Personal thoughts



              In my decades as a computer scientist, including in industry, I never used any of what I learned in the required calculus (I, II, and III), linear algebra, or differential equations. That said, they did give me the background to go into computer graphics, electrical engineering, or machine learning, had I later chosen to.



              Whether programs should require calculus is another question.






              share|improve this answer











              $endgroup$








              • 1




                $begingroup$
                I'll note that some of the things you learn in elementary calculus are in your "answer 1" list: sets, logic, especially quantifiers, and proofs. I'll also note that you had a dilemma a while back about something you wanted to do with your advanced students that became more complicated because they hadn't had calculus. I can't recall the details.
                $endgroup$
                – Buffy
                1 hour ago






              • 1




                $begingroup$
                @Buffy I hadn't realized that those topics were taught in calculus. I don't think that's universally true. I believe our students' not having calculus was a problem when we wanted to teach electives on computer graphics and machine learning.
                $endgroup$
                – Ellen Spertus
                1 hour ago















              6












              $begingroup$

              There are several answers:



              Answer 1: Not all CS programs



              First, not all CS programs require calculus in order to get a bachelor's degree. The Bachelor of Arts (BA) program at Mills College, where I teach, does not require calculus. Instead, we require two semesters of discrete mathematics, which we consider far more useful to computer scientists, because it (at least the way we teach it) includes:



              • inductive proofs

              • Boolean logic

              • proof by contradiction

              • sets

              • combinatorics

              • basic probability

              • recurrence relations

              • graph theory

              • matrices

              • regular expressions

              • finite state automata

              • formal languages

              Answer 2: Scientific foundations
              That said, getting a Bachelor of Science (BS) degree from Mills or just about any other school requires calculus as part of general scientific knowledge, along with introductory chemistry, biology, physics, etc., none of which we claim someone will necessarily be useful to a computer scientist. These courses are part of the college-wide BS core, not specified by any individual department. The idea is that anyone holding a BS degree should understand the fundamentals of major scientific fields even if they will never apply them in their careers. (Similarly, most colleges require students to take classes in history, even though they are unlikely to become time travelers.)



              Answer 2: Historical reasons



              Computer science as an academic discipline has not been around that long. Most CS programs started within either Mathematics or Electrical Engineering programs. Both of those fields legitimately require calculus. I went to MIT, where CS was added to the EE department. All CS majors were required to learn both digital and analog electronics, the latter of which requires calculus.



              Personal thoughts



              In my decades as a computer scientist, including in industry, I never used any of what I learned in the required calculus (I, II, and III), linear algebra, or differential equations. That said, they did give me the background to go into computer graphics, electrical engineering, or machine learning, had I later chosen to.



              Whether programs should require calculus is another question.






              share|improve this answer











              $endgroup$








              • 1




                $begingroup$
                I'll note that some of the things you learn in elementary calculus are in your "answer 1" list: sets, logic, especially quantifiers, and proofs. I'll also note that you had a dilemma a while back about something you wanted to do with your advanced students that became more complicated because they hadn't had calculus. I can't recall the details.
                $endgroup$
                – Buffy
                1 hour ago






              • 1




                $begingroup$
                @Buffy I hadn't realized that those topics were taught in calculus. I don't think that's universally true. I believe our students' not having calculus was a problem when we wanted to teach electives on computer graphics and machine learning.
                $endgroup$
                – Ellen Spertus
                1 hour ago













              6












              6








              6





              $begingroup$

              There are several answers:



              Answer 1: Not all CS programs



              First, not all CS programs require calculus in order to get a bachelor's degree. The Bachelor of Arts (BA) program at Mills College, where I teach, does not require calculus. Instead, we require two semesters of discrete mathematics, which we consider far more useful to computer scientists, because it (at least the way we teach it) includes:



              • inductive proofs

              • Boolean logic

              • proof by contradiction

              • sets

              • combinatorics

              • basic probability

              • recurrence relations

              • graph theory

              • matrices

              • regular expressions

              • finite state automata

              • formal languages

              Answer 2: Scientific foundations
              That said, getting a Bachelor of Science (BS) degree from Mills or just about any other school requires calculus as part of general scientific knowledge, along with introductory chemistry, biology, physics, etc., none of which we claim someone will necessarily be useful to a computer scientist. These courses are part of the college-wide BS core, not specified by any individual department. The idea is that anyone holding a BS degree should understand the fundamentals of major scientific fields even if they will never apply them in their careers. (Similarly, most colleges require students to take classes in history, even though they are unlikely to become time travelers.)



              Answer 2: Historical reasons



              Computer science as an academic discipline has not been around that long. Most CS programs started within either Mathematics or Electrical Engineering programs. Both of those fields legitimately require calculus. I went to MIT, where CS was added to the EE department. All CS majors were required to learn both digital and analog electronics, the latter of which requires calculus.



              Personal thoughts



              In my decades as a computer scientist, including in industry, I never used any of what I learned in the required calculus (I, II, and III), linear algebra, or differential equations. That said, they did give me the background to go into computer graphics, electrical engineering, or machine learning, had I later chosen to.



              Whether programs should require calculus is another question.






              share|improve this answer











              $endgroup$



              There are several answers:



              Answer 1: Not all CS programs



              First, not all CS programs require calculus in order to get a bachelor's degree. The Bachelor of Arts (BA) program at Mills College, where I teach, does not require calculus. Instead, we require two semesters of discrete mathematics, which we consider far more useful to computer scientists, because it (at least the way we teach it) includes:



              • inductive proofs

              • Boolean logic

              • proof by contradiction

              • sets

              • combinatorics

              • basic probability

              • recurrence relations

              • graph theory

              • matrices

              • regular expressions

              • finite state automata

              • formal languages

              Answer 2: Scientific foundations
              That said, getting a Bachelor of Science (BS) degree from Mills or just about any other school requires calculus as part of general scientific knowledge, along with introductory chemistry, biology, physics, etc., none of which we claim someone will necessarily be useful to a computer scientist. These courses are part of the college-wide BS core, not specified by any individual department. The idea is that anyone holding a BS degree should understand the fundamentals of major scientific fields even if they will never apply them in their careers. (Similarly, most colleges require students to take classes in history, even though they are unlikely to become time travelers.)



              Answer 2: Historical reasons



              Computer science as an academic discipline has not been around that long. Most CS programs started within either Mathematics or Electrical Engineering programs. Both of those fields legitimately require calculus. I went to MIT, where CS was added to the EE department. All CS majors were required to learn both digital and analog electronics, the latter of which requires calculus.



              Personal thoughts



              In my decades as a computer scientist, including in industry, I never used any of what I learned in the required calculus (I, II, and III), linear algebra, or differential equations. That said, they did give me the background to go into computer graphics, electrical engineering, or machine learning, had I later chosen to.



              Whether programs should require calculus is another question.







              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited 1 hour ago

























              answered 1 hour ago









              Ellen SpertusEllen Spertus

              4,59842053




              4,59842053







              • 1




                $begingroup$
                I'll note that some of the things you learn in elementary calculus are in your "answer 1" list: sets, logic, especially quantifiers, and proofs. I'll also note that you had a dilemma a while back about something you wanted to do with your advanced students that became more complicated because they hadn't had calculus. I can't recall the details.
                $endgroup$
                – Buffy
                1 hour ago






              • 1




                $begingroup$
                @Buffy I hadn't realized that those topics were taught in calculus. I don't think that's universally true. I believe our students' not having calculus was a problem when we wanted to teach electives on computer graphics and machine learning.
                $endgroup$
                – Ellen Spertus
                1 hour ago












              • 1




                $begingroup$
                I'll note that some of the things you learn in elementary calculus are in your "answer 1" list: sets, logic, especially quantifiers, and proofs. I'll also note that you had a dilemma a while back about something you wanted to do with your advanced students that became more complicated because they hadn't had calculus. I can't recall the details.
                $endgroup$
                – Buffy
                1 hour ago






              • 1




                $begingroup$
                @Buffy I hadn't realized that those topics were taught in calculus. I don't think that's universally true. I believe our students' not having calculus was a problem when we wanted to teach electives on computer graphics and machine learning.
                $endgroup$
                – Ellen Spertus
                1 hour ago







              1




              1




              $begingroup$
              I'll note that some of the things you learn in elementary calculus are in your "answer 1" list: sets, logic, especially quantifiers, and proofs. I'll also note that you had a dilemma a while back about something you wanted to do with your advanced students that became more complicated because they hadn't had calculus. I can't recall the details.
              $endgroup$
              – Buffy
              1 hour ago




              $begingroup$
              I'll note that some of the things you learn in elementary calculus are in your "answer 1" list: sets, logic, especially quantifiers, and proofs. I'll also note that you had a dilemma a while back about something you wanted to do with your advanced students that became more complicated because they hadn't had calculus. I can't recall the details.
              $endgroup$
              – Buffy
              1 hour ago




              1




              1




              $begingroup$
              @Buffy I hadn't realized that those topics were taught in calculus. I don't think that's universally true. I believe our students' not having calculus was a problem when we wanted to teach electives on computer graphics and machine learning.
              $endgroup$
              – Ellen Spertus
              1 hour ago




              $begingroup$
              @Buffy I hadn't realized that those topics were taught in calculus. I don't think that's universally true. I believe our students' not having calculus was a problem when we wanted to teach electives on computer graphics and machine learning.
              $endgroup$
              – Ellen Spertus
              1 hour ago











              1












              $begingroup$

              Much of the material one learns in school has no direct utility in one's job as a software engineer. Conversely, much of the working knowledge one needs as an industry practitioner is not gained in school. What school is supposed to do is provide some basic knowledge and a basic framework for learning, out of which an individual is going to actively retain a small-ish portion for their day-to-day use on the job.



              However, much engineering work is multi-disciplinary, and therefore "surplus" knowledge is not exactly useless: it can provide a useful bridge to other disciplines. Calculus in particular occurs in the math that describes physical processes.



              In today's global economy, it is likely that one will switch employers and job specializations multiple times in one's career. At the start of one's career it is impossible to foresee what knowledge is going to come in handy later on. About twenty-five years into my career, I found myself interfacing to domain specialists whose bread and butter are differential equations. When I was in school, studying for a CS degree, I could have taken optional classes to learn about differential equations, but decided not to as I was already struggling with my math workload. So late in my career I came to regret my earlier decision, as it put me at a disadvantage relative to colleagues with a working knowledge of differential equations.



              The exact nature and number of math classes required in a CS program may in part be driven by departmental tradition. For example, in the school I attended, the CS program had grown out of the math program in the early 1970s. Therefore, math was heavily emphasized. In fact, as an undergrad I took exactly the same math classes as students in the math program. Out of those, linear algebra turned out to be useful for computer graphics, and numerics turned out to be useful for high-performance computing. Multi-dimensional analysis and statistics I never needed again, but it might have been quite different had my career taken me in a data science direction.






              share|improve this answer









              $endgroup$

















                1












                $begingroup$

                Much of the material one learns in school has no direct utility in one's job as a software engineer. Conversely, much of the working knowledge one needs as an industry practitioner is not gained in school. What school is supposed to do is provide some basic knowledge and a basic framework for learning, out of which an individual is going to actively retain a small-ish portion for their day-to-day use on the job.



                However, much engineering work is multi-disciplinary, and therefore "surplus" knowledge is not exactly useless: it can provide a useful bridge to other disciplines. Calculus in particular occurs in the math that describes physical processes.



                In today's global economy, it is likely that one will switch employers and job specializations multiple times in one's career. At the start of one's career it is impossible to foresee what knowledge is going to come in handy later on. About twenty-five years into my career, I found myself interfacing to domain specialists whose bread and butter are differential equations. When I was in school, studying for a CS degree, I could have taken optional classes to learn about differential equations, but decided not to as I was already struggling with my math workload. So late in my career I came to regret my earlier decision, as it put me at a disadvantage relative to colleagues with a working knowledge of differential equations.



                The exact nature and number of math classes required in a CS program may in part be driven by departmental tradition. For example, in the school I attended, the CS program had grown out of the math program in the early 1970s. Therefore, math was heavily emphasized. In fact, as an undergrad I took exactly the same math classes as students in the math program. Out of those, linear algebra turned out to be useful for computer graphics, and numerics turned out to be useful for high-performance computing. Multi-dimensional analysis and statistics I never needed again, but it might have been quite different had my career taken me in a data science direction.






                share|improve this answer









                $endgroup$















                  1












                  1








                  1





                  $begingroup$

                  Much of the material one learns in school has no direct utility in one's job as a software engineer. Conversely, much of the working knowledge one needs as an industry practitioner is not gained in school. What school is supposed to do is provide some basic knowledge and a basic framework for learning, out of which an individual is going to actively retain a small-ish portion for their day-to-day use on the job.



                  However, much engineering work is multi-disciplinary, and therefore "surplus" knowledge is not exactly useless: it can provide a useful bridge to other disciplines. Calculus in particular occurs in the math that describes physical processes.



                  In today's global economy, it is likely that one will switch employers and job specializations multiple times in one's career. At the start of one's career it is impossible to foresee what knowledge is going to come in handy later on. About twenty-five years into my career, I found myself interfacing to domain specialists whose bread and butter are differential equations. When I was in school, studying for a CS degree, I could have taken optional classes to learn about differential equations, but decided not to as I was already struggling with my math workload. So late in my career I came to regret my earlier decision, as it put me at a disadvantage relative to colleagues with a working knowledge of differential equations.



                  The exact nature and number of math classes required in a CS program may in part be driven by departmental tradition. For example, in the school I attended, the CS program had grown out of the math program in the early 1970s. Therefore, math was heavily emphasized. In fact, as an undergrad I took exactly the same math classes as students in the math program. Out of those, linear algebra turned out to be useful for computer graphics, and numerics turned out to be useful for high-performance computing. Multi-dimensional analysis and statistics I never needed again, but it might have been quite different had my career taken me in a data science direction.






                  share|improve this answer









                  $endgroup$



                  Much of the material one learns in school has no direct utility in one's job as a software engineer. Conversely, much of the working knowledge one needs as an industry practitioner is not gained in school. What school is supposed to do is provide some basic knowledge and a basic framework for learning, out of which an individual is going to actively retain a small-ish portion for their day-to-day use on the job.



                  However, much engineering work is multi-disciplinary, and therefore "surplus" knowledge is not exactly useless: it can provide a useful bridge to other disciplines. Calculus in particular occurs in the math that describes physical processes.



                  In today's global economy, it is likely that one will switch employers and job specializations multiple times in one's career. At the start of one's career it is impossible to foresee what knowledge is going to come in handy later on. About twenty-five years into my career, I found myself interfacing to domain specialists whose bread and butter are differential equations. When I was in school, studying for a CS degree, I could have taken optional classes to learn about differential equations, but decided not to as I was already struggling with my math workload. So late in my career I came to regret my earlier decision, as it put me at a disadvantage relative to colleagues with a working knowledge of differential equations.



                  The exact nature and number of math classes required in a CS program may in part be driven by departmental tradition. For example, in the school I attended, the CS program had grown out of the math program in the early 1970s. Therefore, math was heavily emphasized. In fact, as an undergrad I took exactly the same math classes as students in the math program. Out of those, linear algebra turned out to be useful for computer graphics, and numerics turned out to be useful for high-performance computing. Multi-dimensional analysis and statistics I never needed again, but it might have been quite different had my career taken me in a data science direction.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 1 hour ago









                  njuffanjuffa

                  25016




                  25016





















                      1












                      $begingroup$

                      This isn't really an answer, but I'd like to say a few things about calculus. I think that what is needed by a CS major from that realm and what is needed by a math major are very different. As such, I think that if calculus is taught to CS majors, and to history majors, for that matter, the needs imply that it might be a different sort of course than that taken by the math majors.



                      First, not a lot of people who have taken Elementary Calculus (i.e. Calc I, II, and III) actually have much insight into what is really the point. It is easy to get lost in details of differentiation and integration and techniques and such without realizing that it is really a study of the relationship between what happens locally with a function (differential calc) and what happens globally (integral calc). It is all tied together by the Fundamental Theorem.



                      But even the nature of the derivative is poorly understood for a long while - it took me several years of graduate study in math to really grok it. The derivative you study in Elementary Calculus is really only one specific form of a wide variety of possibilities. The limit used in Elementary Calculus could be replaced by alternatives. The difference quotient in the derivative could be replaced by another "average ratio of change". This would result in a different theory.



                      However, the standard version of Elementary Calculus (note that I keep writing Elementary") is very good for understanding the behavior of well behaved functions: those that are mostly continuous. But aside from Catastrophe Theory (why do bridges fall down unexpectedly?) it is these continuous functions that form the basis of understanding a lot of the applications of both math and CS. Probability, for example, depends on calculus once you get past counting.



                      So, elementary calculus is useful for applications of rational thought to the real world - which CS folk do a lot of.



                      However, the "nice" functions of elementary calculus are pretty boring to a mathematician. The interesting functions are those that are misbehaved - even wildly misbehaved - even wildly misbehaved everywhere. A function that is continuous but nowhere differentiable starts to be interesting. A function that is continuous everywhere but zero, but takes on every real value in every neighborhood of zero starts to be interesting. That is where the calculus sequence is headed for math majors, but it probably isn't very useful for a CS person. How about functions not even defined on the rationals. Is that a yummy or a yucky?



                      So, a good compromise, if a university can arrange it, is to have a single course that is something like Calculus I with some ideas of the derivative and the integral, but focused on why these are important (rates of growth, etc) rather than just computational details, might be worth designing and offered generally to people interested in becoming widely educated, rather than becoming mathematicians.




                      Note that this precise subject was the basis of my doctoral work: variations on the ideas of calculus and the deeper meaning for the study of functions.






                      share|improve this answer











                      $endgroup$

















                        1












                        $begingroup$

                        This isn't really an answer, but I'd like to say a few things about calculus. I think that what is needed by a CS major from that realm and what is needed by a math major are very different. As such, I think that if calculus is taught to CS majors, and to history majors, for that matter, the needs imply that it might be a different sort of course than that taken by the math majors.



                        First, not a lot of people who have taken Elementary Calculus (i.e. Calc I, II, and III) actually have much insight into what is really the point. It is easy to get lost in details of differentiation and integration and techniques and such without realizing that it is really a study of the relationship between what happens locally with a function (differential calc) and what happens globally (integral calc). It is all tied together by the Fundamental Theorem.



                        But even the nature of the derivative is poorly understood for a long while - it took me several years of graduate study in math to really grok it. The derivative you study in Elementary Calculus is really only one specific form of a wide variety of possibilities. The limit used in Elementary Calculus could be replaced by alternatives. The difference quotient in the derivative could be replaced by another "average ratio of change". This would result in a different theory.



                        However, the standard version of Elementary Calculus (note that I keep writing Elementary") is very good for understanding the behavior of well behaved functions: those that are mostly continuous. But aside from Catastrophe Theory (why do bridges fall down unexpectedly?) it is these continuous functions that form the basis of understanding a lot of the applications of both math and CS. Probability, for example, depends on calculus once you get past counting.



                        So, elementary calculus is useful for applications of rational thought to the real world - which CS folk do a lot of.



                        However, the "nice" functions of elementary calculus are pretty boring to a mathematician. The interesting functions are those that are misbehaved - even wildly misbehaved - even wildly misbehaved everywhere. A function that is continuous but nowhere differentiable starts to be interesting. A function that is continuous everywhere but zero, but takes on every real value in every neighborhood of zero starts to be interesting. That is where the calculus sequence is headed for math majors, but it probably isn't very useful for a CS person. How about functions not even defined on the rationals. Is that a yummy or a yucky?



                        So, a good compromise, if a university can arrange it, is to have a single course that is something like Calculus I with some ideas of the derivative and the integral, but focused on why these are important (rates of growth, etc) rather than just computational details, might be worth designing and offered generally to people interested in becoming widely educated, rather than becoming mathematicians.




                        Note that this precise subject was the basis of my doctoral work: variations on the ideas of calculus and the deeper meaning for the study of functions.






                        share|improve this answer











                        $endgroup$















                          1












                          1








                          1





                          $begingroup$

                          This isn't really an answer, but I'd like to say a few things about calculus. I think that what is needed by a CS major from that realm and what is needed by a math major are very different. As such, I think that if calculus is taught to CS majors, and to history majors, for that matter, the needs imply that it might be a different sort of course than that taken by the math majors.



                          First, not a lot of people who have taken Elementary Calculus (i.e. Calc I, II, and III) actually have much insight into what is really the point. It is easy to get lost in details of differentiation and integration and techniques and such without realizing that it is really a study of the relationship between what happens locally with a function (differential calc) and what happens globally (integral calc). It is all tied together by the Fundamental Theorem.



                          But even the nature of the derivative is poorly understood for a long while - it took me several years of graduate study in math to really grok it. The derivative you study in Elementary Calculus is really only one specific form of a wide variety of possibilities. The limit used in Elementary Calculus could be replaced by alternatives. The difference quotient in the derivative could be replaced by another "average ratio of change". This would result in a different theory.



                          However, the standard version of Elementary Calculus (note that I keep writing Elementary") is very good for understanding the behavior of well behaved functions: those that are mostly continuous. But aside from Catastrophe Theory (why do bridges fall down unexpectedly?) it is these continuous functions that form the basis of understanding a lot of the applications of both math and CS. Probability, for example, depends on calculus once you get past counting.



                          So, elementary calculus is useful for applications of rational thought to the real world - which CS folk do a lot of.



                          However, the "nice" functions of elementary calculus are pretty boring to a mathematician. The interesting functions are those that are misbehaved - even wildly misbehaved - even wildly misbehaved everywhere. A function that is continuous but nowhere differentiable starts to be interesting. A function that is continuous everywhere but zero, but takes on every real value in every neighborhood of zero starts to be interesting. That is where the calculus sequence is headed for math majors, but it probably isn't very useful for a CS person. How about functions not even defined on the rationals. Is that a yummy or a yucky?



                          So, a good compromise, if a university can arrange it, is to have a single course that is something like Calculus I with some ideas of the derivative and the integral, but focused on why these are important (rates of growth, etc) rather than just computational details, might be worth designing and offered generally to people interested in becoming widely educated, rather than becoming mathematicians.




                          Note that this precise subject was the basis of my doctoral work: variations on the ideas of calculus and the deeper meaning for the study of functions.






                          share|improve this answer











                          $endgroup$



                          This isn't really an answer, but I'd like to say a few things about calculus. I think that what is needed by a CS major from that realm and what is needed by a math major are very different. As such, I think that if calculus is taught to CS majors, and to history majors, for that matter, the needs imply that it might be a different sort of course than that taken by the math majors.



                          First, not a lot of people who have taken Elementary Calculus (i.e. Calc I, II, and III) actually have much insight into what is really the point. It is easy to get lost in details of differentiation and integration and techniques and such without realizing that it is really a study of the relationship between what happens locally with a function (differential calc) and what happens globally (integral calc). It is all tied together by the Fundamental Theorem.



                          But even the nature of the derivative is poorly understood for a long while - it took me several years of graduate study in math to really grok it. The derivative you study in Elementary Calculus is really only one specific form of a wide variety of possibilities. The limit used in Elementary Calculus could be replaced by alternatives. The difference quotient in the derivative could be replaced by another "average ratio of change". This would result in a different theory.



                          However, the standard version of Elementary Calculus (note that I keep writing Elementary") is very good for understanding the behavior of well behaved functions: those that are mostly continuous. But aside from Catastrophe Theory (why do bridges fall down unexpectedly?) it is these continuous functions that form the basis of understanding a lot of the applications of both math and CS. Probability, for example, depends on calculus once you get past counting.



                          So, elementary calculus is useful for applications of rational thought to the real world - which CS folk do a lot of.



                          However, the "nice" functions of elementary calculus are pretty boring to a mathematician. The interesting functions are those that are misbehaved - even wildly misbehaved - even wildly misbehaved everywhere. A function that is continuous but nowhere differentiable starts to be interesting. A function that is continuous everywhere but zero, but takes on every real value in every neighborhood of zero starts to be interesting. That is where the calculus sequence is headed for math majors, but it probably isn't very useful for a CS person. How about functions not even defined on the rationals. Is that a yummy or a yucky?



                          So, a good compromise, if a university can arrange it, is to have a single course that is something like Calculus I with some ideas of the derivative and the integral, but focused on why these are important (rates of growth, etc) rather than just computational details, might be worth designing and offered generally to people interested in becoming widely educated, rather than becoming mathematicians.




                          Note that this precise subject was the basis of my doctoral work: variations on the ideas of calculus and the deeper meaning for the study of functions.







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited 1 hour ago

























                          answered 1 hour ago









                          BuffyBuffy

                          23.6k94184




                          23.6k94184




















                              LuminousNutria is a new contributor. Be nice, and check out our Code of Conduct.









                              draft saved

                              draft discarded


















                              LuminousNutria is a new contributor. Be nice, and check out our Code of Conduct.












                              LuminousNutria is a new contributor. Be nice, and check out our Code of Conduct.











                              LuminousNutria is a new contributor. Be nice, and check out our Code of Conduct.














                              Thanks for contributing an answer to Computer Science Educators Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              Use MathJax to format equations. MathJax reference.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcseducators.stackexchange.com%2fquestions%2f5579%2fwhy-do-computer-science-majors-learn-calculus%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              How to create a command for the “strange m” symbol in latex? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)How do you make your own symbol when Detexify fails?Writing bold small caps with mathpazo packageplus-minus symbol with parenthesis around the minus signGreek character in Beamer document titleHow to create dashed right arrow over symbol?Currency symbol: Turkish LiraDouble prec as a single symbol?Plus Sign Too Big; How to Call adfbullet?Is there a TeX macro for three-legged pi?How do I get my integral-like symbol to align like the integral?How to selectively substitute a letter with another symbol representing the same letterHow do I generate a less than symbol and vertical bar that are the same height?

                              Българска екзархия Съдържание История | Български екзарси | Вижте също | Външни препратки | Литература | Бележки | НавигацияУстав за управлението на българската екзархия. Цариград, 1870Слово на Ловешкия митрополит Иларион при откриването на Българския народен събор в Цариград на 23. II. 1870 г.Българската правда и гръцката кривда. От С. М. (= Софийски Мелетий). Цариград, 1872Предстоятели на Българската екзархияПодмененият ВеликденИнформационна агенция „Фокус“Димитър Ризов. Българите в техните исторически, етнографически и политически граници (Атлас съдържащ 40 карти). Berlin, Königliche Hoflithographie, Hof-Buch- und -Steindruckerei Wilhelm Greve, 1917Report of the International Commission to Inquire into the Causes and Conduct of the Balkan Wars

                              Чепеларе Съдържание География | История | Население | Спортни и природни забележителности | Културни и исторически обекти | Религии | Обществени институции | Известни личности | Редовни събития | Галерия | Източници | Литература | Външни препратки | Навигация41°43′23.99″ с. ш. 24°41′09.99″ и. д. / 41.723333° с. ш. 24.686111° и. д.*ЧепелареЧепеларски Linux fest 2002Начало на Зимен сезон 2005/06Национални хайдушки празници „Капитан Петко Войвода“Град ЧепелареЧепеларе – народният ски курортbgrod.orgwww.terranatura.hit.bgСправка за населението на гр. Исперих, общ. Исперих, обл. РазградМузей на родопския карстМузей на спорта и скитеЧепеларебългарскибългарскианглийскитукИстория на градаСки писти в ЧепелареВремето в ЧепелареРадио и телевизия в ЧепелареЧепеларе мами с родопски чар и добри пистиЕвтин туризъм и снежни атракции в ЧепелареМестоположениеИнформация и снимки от музея на родопския карст3D панорами от ЧепелареЧепелареррр