Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Education Math

Should High School Computer Science Classes Count as a Math Credit? (osu.edu) 222

"In a widely-reprinted essay, Ohio State University assistant professor of physics Chris Orban ponders whether the tech world did students a favor or disservice by getting states to count computer science as high school math credit," writes long-time Slashdot reader theodp.

The assistant physics professor writes: In 2013, a who's who of the tech world came together to launch a new nonprofit called Code.org. The purpose of the organization was to get more computer science into schools. Billionaires like Mark Zuckerberg and Bill Gates donated millions of dollars to the group. According to the organization's last annual report...$6.9 million went to advocate for state legislation across the country. As part of the organization's mission to "make computer science count" in K-12 education, code.org takes credit for having influenced graduation policies in 42 states. Today, 47 states and the District of Columbia allow computer science classes to count in place of math classes like Algebra 2.

Prior to the organization's work, only a few states allowed computer science to count for math credit. In addition, 29 states passed legislation allowing computer science to count in place of a science course. When computer science begins to count as math or science, it makes sense to ask if these changes are helping America's students or hurting them...

I worry that students may take computer science just to avoid the more difficult math and science courses they need for college. Computer science could be a way for students to circumvent graduation requirements while adults look the other way....

Computer science advocates have created a kind of national experiment. The next few years will show if this was a good idea, but only if we're looking at more than just the numbers of students taking computer science.

This discussion has been archived. No new comments can be posted.

Should High School Computer Science Classes Count as a Math Credit?

Comments Filter:
  • Depends? (Score:5, Insightful)

    by jythie ( 914043 ) on Saturday October 12, 2019 @09:41PM (#59301440)
    If it is teaching programing? Probably not. If it is teaching actual theory of computation, then sure.
    • Have you been in an American highschool classroom - or even a COLLEGE lecture - in the last quarter of a century?

      You'd be lucky if an American high school "Computer Science" course in 2019 amounted to much more than uploading a picture of Trannies diddling little boys in the library [google.com] and figuring out the IMG src="" syntax needed to display the picture in a web browser [and the grade for the project wouldn't depend upon the correctness of the code but rather on the correctness of the student's ethnicity and
      • Yeah, no way it ought to count.

      • You'd be lucky if an American high school "Computer Science" course in 2019 amounted to much more than uploading a picture ...

        Most high schools that offer a CS course offer AP Computer Science [wikipedia.org], which is a standardized and fairly rigorous introduction to Java programming and includes an overview of computer science principles.

        The focus of the course is to prepare the students for the nationwide standardized exam given in May of each year.

        • So rigorous that swathes of 9th graders are able to be rated as a â5â(TM) - the top AP grade.
          IF the universities actually cared to define a requirement set that wasnâ(TM)t physics/calculus, but rather made it clear what was needed and at what level the CS in high school might be worth a damn.
          Chance of that happening- slim to none.

          • So rigorous that swathes of 9th graders are able to be rated as a 5

            Cite? (Also, what does "swathes" mean in this context?)

            Unless it's changed significantly since I took it (granted, 30 years ago; it used Pascal then) AP CS is reasonably challenging. I got a five on the test, but most didn't, and the score ratios seemed in line with all of the other AP courses I took.

            However, even AP CS shouldn't be a math credit. A computer theory course could be, if it were taught mathematically, with the students being required to do proofs about finite state automata, context-fre

        • Re: (Score:2, Insightful)

          "which is a standardized and fairly rigorous introduction to Java programming"

          There you go, ruined for life. Not quite as bad as believing or using anything from Microsoft. No one should have Java inflicted on them until they have learned at least a few real languages (FORTRAN, C, Assembler).

          • That sort of bullshit bigotry has been a thing for ages, e.g. in the 1980s when people up their own arses wanted to hate on all the new people coming in and used BASIC programming as an excuse. It was as much bullshit then as it is now.

            BASIC doesn't cripple the mine. Java is fine. And you don't become a magic super-genius level l33t h4x0r simply because you can string together a syntactically correct C program or did an ASM course once. There are plenty of ways into programming and not being a mirror of you

    • But it's taught out of order. Get basic high school math done FIRST. Geometry, trig, pre-calc, etc. Math is used all over in computer science so it's bizarre to try and skip any, it's like trying to do physics so you can opt out of calculus.

      • by dgatwood ( 11270 )

        I disagree. Like many folks, I started learning programming before I understood multiplication. And I can count the number of times I have used significant math while programming (beyond basic addition/subtraction/multiplication/division and logic simplification) on one hand.

        Logic flow is much easier to learn at a young age than it is by the time you're old enough to have learned calculus. For many, it might not even be possible to learn so late in life. Besides, if you learn programming first, the con

        • It can swing back and asymptotically approach hitting you in the butt.

          Like most people coding for a living (in my case, SW and RTL) the calculus-trig axis of school mathematics played no part in that life, whereas computational complexity and number theory might creep in if you end up doing error correction or cryptography. Then at some point, 30 years later, you wander into a realm where it's all about statistical calculus and you have to start taking night classes at the local college to catch back up.

          Tha

          • by dgatwood ( 11270 )

            It can swing back and asymptotically approach hitting you in the butt.

            Like most people coding for a living (in my case, SW and RTL) the calculus-trig axis of school mathematics played no part in that life, whereas computational complexity and number theory might creep in if you end up doing error correction or cryptography. Then at some point, 30 years later, you wander into a realm where it's all about statistical calculus and you have to start taking night classes at the local college to catch back up.

            Well, yeah, knowing math is pretty critical if you want to work on software that is math-heavy. But if you didn't take those math classes, there are an almost infinite number of other things besides math that you could have learned that would also have given you opportunities that you otherwise wouldn't have had (though not necessarily to the same degree).

            Pretty much everything these days involves computers, and there are people writing software that is tailored specifically for use in pretty much any area

      • But it's taught out of order. Get basic high school math done FIRST. Geometry, trig, pre-calc, etc. Math is used all over in computer science

        No. Programming needs basic math, like understanding binary.

        But calculus? No. Algebra? No, not really. A program may look like algebra, but a symbolic variable in a program is a very difference concept from an "unknown" in an algebraic equation. "X = X + 1" doesn't even make sense in algebra. You don't need to factor a polynomial to do programming, nor do you need to "solve for X".

        I have taught an after school program teaching Scratch to 4th graders, and Python to 5th and 6th graders. It was fine, an

        • but a symbolic variable in a program is a very difference concept from an "unknown" in an algebraic equation.

          Heh. The only time I met the term "symbolic variable" was in relation to CAS packages.

          "X = X + 1" doesn't even make sense in algebra.

          Which is why reasonable languages use things like := or setf or whatever.

        • What are you programming that doesn't need much math? Some web stuff or apps? If you need to do a program that uses calculus, you need to know calculus. If you're using floating point numbers you really should know numerical analysis so you don't screw it up (a common error I see). Even if you're doing networking you need to know some queueing theory, probability, statistics, etc.

          • What are you programming that doesn't need much math? Some web stuff or apps?

            In high school? Yeh, web stuff and apps.

            If you need to do a program that uses calculus, you need to know calculus.

            99% of programmers don't write programs that use calculus.

            You certainly don't need to know calculus to START learning programming, which is what you claimed when you started this thread.

            4th graders know enough math to start programming. Some basic arithmetic, and enough about angles to move and rotate the drawing cursor. That's all you need to get started.

        • >You don't need to factor a polynomial to do programming, nor do you need to "solve for X

          I find myself factoring polynomials a lot. Solving for X all the time. Usually in a Galois field, but the principle is the same.

        • by dfghjk ( 711126 )

          Programming does not require understanding binary. Algebra, OTOH, is far more valuable. Furthermore, algebra is more than "factoring a polynomial" or "solv[ing] for X", it is the abstracting of mathematical relationships, something that occurs all the time in programming. A programmer that cannot understand algebra is, at best, a web developer with an overdeveloped appreciation for the value of Agile.

          The argument against programming as math credit is that we don't want programmers that are math illiterat

    • by rtb61 ( 674572 )

      Why because you can program without knowing math theory and all sorts of algebra and even some calculus does not hurt.

      Too fucking easy to teach computer programming and math at the same time, just require the programming to solve complex maths problems. Can not be done with out knowing the math and the programming instruct obviously needs to be able to teach that math for the computer students to incorporate it in the programming.

  • According to newly-released AP exam data [collegeboard.org], nearly 11,000 high school freshmen took an exam for the friendlier new AP Computer Science Principles course - dubbed "Coding Lite" by the NY Times [nytimes.com] - far exceeding the number of freshmen taking other STEM AP exams in 2019.

    • far exceeding the number of freshmen taking other STEM AP exams

      That is only because they aren't ready for the more difficult exams their freshman year (9th grade).

      If you look at juniors and seniors, far more are taking hard science AP exams.

    • Your link shows 52k males took the "Computer Science A" exam this year, vs 17k females.

      So it looks like efforts to correct the gender imbalance in tech are not going well.

      • Your link shows 52k males took the "Computer Science A" exam this year, vs 17k females.

        So it looks like efforts to correct the gender imbalance in tech are not going well.

        Why is there a need to have a gender balance in computer science? Or any other courses?

        Studies show that women just aren't as interested in science and engineering as men. Having about 1/4 of the people in a computer science course as female is about as good as one will find on "gender balance". Forcing this to be any more "equal" just makes some people are more equal than others.

        • Studies show that women just aren't as interested in science and engineering as men.

          The linked data does not support that.

          There are far more females than males taking the Biology-AP, and an equal number taking Chemistry-AP. Even the Physics-AP has 70% as many females as males.

          It is ONLY computer science that is exceptionally low.

  • by gweihir ( 88907 ) on Saturday October 12, 2019 @09:47PM (#59301458)

    Even if there are a lot of holdouts on this view, CS is engineering. It is about solving problems by technological means. Sure, you need some theoretical foundation, but every engineering discipline needs that. That does not, say, make electrical engineering or mechanical engineering math. It is different if you talk about theoretical CS, but that is not taught in high school.

    • Computers are designed and built by engineers but the theory behind their operation as well as programming is pretty strictly mathematical (take a look at the history of computing). Understanding what a computer is doing requires a good grounding in math and, as I point out in my post below, I believe that computers can help strengthen the understanding of numbers and mathematical operations.

      Having this position is a bit ironic for me as my undergraduate degree is in computer engineering.

      • I think you misunderstand why GP is saying it's an engineering discipline. BTW All engineers use math, so that's not a dividing line to say that programming is math and 'not' engineering.

        GP is saying that programming is engineering because you *build* something, you build software and systems. Software design, architecture, APIs, network infrastructure. This is a type of engineering because you're designing and constructing systems.

        • Also I'll point out that it's kinda surreal to say computer science is closer to proper math than engineering. Have you actually looked at the kind of math engineers use? The stuff that computer science people generally use is like toddler toys compared to that stuff.

          • Also I'll point out that it's kinda surreal to say computer science is closer to proper math than engineering.

            Have you ever read anything that Dijkstra wrote on the subject where CS belongs in relation to math? I seem to remember that he argued something along the lines of programming mathematics being something that regular mathematicians run away from because of the complexity of programs as formulas to be analyzed being waaay outside of their comfort zone.

            Have you actually looked at the kind of math engineers use?

            From what I've observed, they mostly use software packages written by some software engineers and numericians these days.

            The stuff that computer science people generally use is like toddler toys compared to that stuff.

            You mean stuff like this? [amazon.com] The people I

        • See my comment below.

          If you assume that CS is just programming, then you could argue it's engineering.

          Personally, I don't consider CS to be just programming, it's number theory, algorithms and mathematical functions and that's what I would think that High School CS should include which makes it closer to Math than any other subject.

          • If you assume that CS is just programming, then you could argue it's engineering.

            In high school, CS is just programming.

      • I've never bought that whole "programming is math" position. I mean, ultimately, all science and technology is applied math [xkcd.com], but that's so broad an assertion that it's hardly useful. Programming is about honing the ability to decompose problems into a highly logic-based language. Yes, it certainly uses elements of math (especially algebra, with it's symbolic abstraction), but it's vastly different than most formal math currently taught at a pretty fundamental level.

    • Not much engineering is involved until you start writing bigger systems. When you stick to really small algorithms like: find the shortest path from point A to B on this directed map, sort this set in ascending order, build a data structure to quickly access X, etc., you really are doing a form of computational math that is strongly based on deductive logic.

      • Computer science is NOT just programming, it is also about building computers and understanding the theory, and so forth. To build computers, you need engineering, and to do engineering you need lots of math. Even for programming you need math very much of the time, and the rest of the time you need domain knowledge which usually means more math. There aren't any shortcuts here except for someone who just wants to be the entry level flunky for 40 years.

    • No. Applied science is engineering. But computer science is not even a science as it is based on too many arbitrary decisions. It's more of a philosophy.

    • Even if there are a lot of holdouts on this view, CS is engineering.

      Computer science is science, computer engineering is engineering. In any science class there is a certain level of engineering involved to come up with solutions for the homework but that does not make any given computer science class an engineering class.

      I studied electrical and computer engineering at university. Because of the many courses that are common between computer science and computer engineering electives I got to work with many people that majored in computer science. The two disciplines are

    • Sure, in many aspects, but not high school computer science, which is about learning syntax.

    • You are absolutely right: computer science has precious little to do with math.

      Typically when I say this some knobhead jumps from the bushes, screaming that "everything is math". In some philosophical sense, maybe, but computer science is not inherently more mathy than, say, English or philosophy, and we are not counting those studies towards math credits, now are we? I'll readily agree that computer science avails itself of the tools provided by math on occasion, but by and large it is its own discipline,

      • by chthon ( 580889 )

        What would a computer language designed by a linguist look like?

        Only one answer: Perl.

  • by phantomfive ( 622387 ) on Saturday October 12, 2019 @09:48PM (#59301460) Journal
    Someone here recently suggested that it would be more practical to teach concrete math or statistics instead of trigonometry. That sounds like a good idea to me.

    If you don't understand statistics, the modern world is a confusing place, and you will have trouble understanding any science communication.
    • by mosel-saar-ruwer ( 732341 ) on Saturday October 12, 2019 @10:06PM (#59301516)
      How can you understand any basic concepts in Computer Programming if you have no sense of what a vector of scalars amounts to?

      I was always flabbergasted that any college would allow a "Computer Science" course to be taught to any student who hadn't had at least a solid semester of Linear Algebra.

      How the hell do you get a student to grok a Pointer & its associated Malloc without the student ever having seen so much as a vector in a Real vector space [much less a Complex vector space]?

      And as for "Trig", you really need to have seen some pretty heavy duty Fourier Series & Fourier Integrals before you can even hope to grok something so simple as Floating Point numbers.
      • I disagree. You can do a lot of "programming" which is what many CS courses are without high level math. The problem, as one poster put it, is that computer science is really just engineering, but it's not math. You can do math without engineering but you'll be more successful with engineering if you have a solid math background. So teach computer science (programming) but treat it like any other applied science.

      • by ShanghaiBill ( 739463 ) on Saturday October 12, 2019 @11:41PM (#59301720)

        How can you understand any basic concepts in Computer Programming if you have no sense of what a vector of scalars amounts to?

        Just call it a "list of numbers" and even grade school kids will know what you are talking about.

        There is no reason to use fancy terminology to obfuscate simple concepts.

      • How the hell do you get a student to grok a Pointer & its associated Malloc without the student ever having seen so much as a vector in a Real vector space [much less a Complex vector space]?

        Having groked a pointer and it's malloc, before and happily vectoring away as part of my work, I have no idea why you think these two are related let alone one required for the other in any but the most loosely of conceptual ways.

      • by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Sunday October 13, 2019 @05:54AM (#59302310) Homepage Journal

        How the hell do you get a student to grok a Pointer & its associated Malloc without the student ever having seen so much as a vector in a Real vector space

        You're having us on, right?

      • I was always flabbergasted that any college would allow a "Computer Science" course to be taught to any student who hadn't had at least a solid semester of Linear Algebra.

        Computer scientists rarely touch that sort of stuff. Mostly they don't need to.

        How the hell do you get a student to grok a Pointer & its associated Malloc without the student ever having seen so much as a vector in a Real vector space [much less a Complex vector space]?

        I self taught myself that stuff before I knew how complex numbers w

    • Even a carpenter should know basic trigonometry.

      If you want to dump a math class, calculus or algebra-2 would make more sense. Those are mostly useless to any non-stem student. Trig is not. Trig is useful for normal people.

    • Re:Trig (Score:5, Interesting)

      by Ungrounded Lightning ( 62228 ) on Saturday October 12, 2019 @10:48PM (#59301616) Journal

      Someone here recently suggested that it would be more practical to teach concrete math or statistics instead of trigonometry. That sounds like a good idea to me.

      Not to me.

      Yes they should teach stats, as a separate issue. And concrete math and stats are good feed-ins to the stuff you actually DO in software.

      But deemphasizing trig has a downside:
        - Trig (and the necessary analytic geometry to use it) seems arcane, and only moderately useful.
        - Algebra (with analytic geometry again so you can draw graphs) seems like a lot of number crunching. And what's this "imaginary numbers" thing?
        - Matricies and linear algebra. OK, so you can play games with rectangles full of numbers and solve polynomials. Nice game. (Fields? Groups?
        - But then you spend a couple weeks in the intro calculus course. Limits? Areas? Tangents?
        - And suddenly the scales fall from your eyes. You start to see the math in EVERYTHING, and it's beautiful. Physics makes sense.
          - And then the complex numbers and the trig functions and exponentials all fall together, clicking into place in this beautiful structure. And it's a toolbox. You open it.
        - And here's fouirer transforms: So THAT's what's happening with sound - and radio. And Laplace transforms: not just periodic functions, but exponentials and building and decaying oscillations.
        - And then analog electronics with linear circuits just pops right out: It IS math: A resistor is a multiplicative constant. A capacitor is an integral. An inductor is a differential. Their interconnection into a circuit is a matrix. The rows and columns are the tiepoints and the boxes at the intersections are the components connected between them. Put the laplace transform of the components' behavior in the boxes: all the calculus turns into a little simple arithmetic on polynomials, and it tells you just how your circuit behaves for various inputs.
        - Stresses and strains in mechanical structures are similar: Integrals of applied forces - plus the impulse and dirac delta functions (the first and second derivatives of a step) for a point support or an applied torque.
        - Thermodynamics: That equation balances. That expression is never negative. And this one is always greater than zero.
      And it goes on and on.

      Click, click, click, click, click. It all fits together. Your mind becomes a spotlight illuminating the structure of the world. Leave out trig and you stall out before the second click.

      • by Grog6 ( 85859 )

        I totally agree; I learned trig so I could do radio electronics, well before HS.

        I learned Statistics so I could DM D&D.

        Vectors, imaginary numbers; all that is required if you actually want to do something.

        I got in trouble for showing my great Nephew how y=mx+b goes from being a position on a line to velocity to acceleration, without using symbology, talking about cars; cars he understands.

        When he understood what I was talking about, I introduced that velocity is the first derivative, acceleration is the

      • You have a list, and a lot of potential orderings. The one you gave is not the only one, and there is no particular reason to put trig at the top.
    • Yes and no. You'd be amazed at how practical basic trig is as well. I even saw my builder scribble a basic right-angle triangle and bust out a sine with his calculator to figure if the steps he was putting in would meet code.

      Sure finding the intersection points of 2 circles on a 2D grid with arbitrary coordinates and radii may not be as practical, but be careful generalising things like "trigonometry".

  • If it's a course that's focusing less on technology and more on theory, for example, teaching logical operators, non-decimal number systems, functions, recursion, and other concepts rooted in Mathematical theory, then isn't it actually subset of maths? My first undergraduate computer science class (long ago) didn't let us even touch computers. We were doing math (such as above) on paper, and writing and stepping through things written in FP language by hand with paper and pencil for an entire semester.
  • The short answer is "Yes, Computer Science should count as a high school math credit" but I would like to see that the curriculum includes a good portion on the mathematics that are the base of programming:
    - Different base systems
    - Coding basic integer mathematical operations: addition, subtraction, multiplication (by repeated addition as well as by bit shifting), division (by repeated subtraction as well as by bit shifting)
    - Bresenham's algorithms for drawing lines and circles
    - Floating point numbers (IEEE

  • See Curry–Howard isomorphism (also called correspondence) [wikipedia.org]. Basically there is a "direct relationship between computer programs and mathematical proofs." Consequently computer science classes should count as math classes.
    • by merky1 ( 83978 )

      Maybe at a college level, but not at a HS level. Some of the higher level problems would delve deep into the math world, but early level CS does not lend itself to learning the math needed to be classified as a math course. I see basic math skills being a pre-requisite, otherwise you would draw focus from essential CS skills. Of course, that assumes that these courses teach CS skills.

      • by Chromal ( 56550 )
        I think as an AP-level credit, it's fine, and would help students learn whether or not they are interested in it. Also.... "Computer science is considered by some to have a much closer relationship with mathematics than many scientific disciplines, with some observers saying that computing is a mathematical science. Early computer science was strongly influenced by the work of mathematicians such as Kurt Gödel, Alan Turing, Rózsa Péter and Alonzo Church and there continues to be a useful int
      • Wrong. Intro to computer science classes are directly comparable with high school math. Just look at Boolean algebra which is an integral part of comp science and should be a basic skill high school students know. We teach geometric proofs which require the same type of thinking programming does. Honestly computer science and high school math courses compliment each other.

        Remember programing and proof require the same type of thinking.

        • by merky1 ( 83978 )

          Remember programing and proof require the same type of thinking.

          And this is where I think something is amiss here. Coding skills at the high school level are rudimentary at best. More time should be spent on the fundamentals, like what is a computer and how does it work. There are things that you need to know before coding skills are needed. It’s one of the reasons that dev ops fails so hard. You have a bunch of developers reinventing things that are already solved and causing all kinds of confusion. Things like Unix fundamentals, windows fundamentals, how t

          • So what if high school programming skills are rudimentary--so is algebra. Those basic skills (loops, conditional logic, etc) are math. Computer science is math. Math is computer science. That is what an isomorphism means. When is the last time you completed a geometric proof? It would be better to teach kids the same type of thinking, yet in a way that is practical?

            We should probably teach kids about computers fundamentals as well as programming.

            Why are you talking about compiler optimizations? N

  • by bussdriver ( 620565 ) on Saturday October 12, 2019 @10:06PM (#59301510)

    Replace Spanish or other languages with programming! They can do immersion if they want to pick up a foreign language without wasting all that time in school when they should be improving reasoning skills.

    The only CS they should do is on the concept of growth / scaling (big O concepts) the rest should be breaking problems down into smaller logical detailed steps. Research using documentation to derive understanding... which doubles as reading comprehension. More like playing with building blocks before trying engineering.

    MATH reasoning is similar to programming; CS theory IS math but it's not normal math! American kids desperately need math and statistics skills and will NOT benefit shifting those to CS theory. This is akin to replacing algebra by with discrete math. If you think we need both, remove GYM requirements.

    • by Chromal ( 56550 )
      Not normal math? What is normal math? What is abnormal math?
      • Normal: Typically taught; CS is math but it's not normally taught. It's roots is in math; arguably, it is all math and new areas of math.

        Not that what is "normal" in the USA is the best way to do it (it's not) but learning Math fundamentals and competent understanding on the level of the native Language. Statistics needs to be added and heavy promoted over CS if you add anything. Citizens NEED to grasp statistics more than than they do computers.

  • by Goldsmith ( 561202 ) on Saturday October 12, 2019 @10:08PM (#59301522)

    TFA points out two things:
    1) that most science and engineering students need help with basic programming, and
    2) that a large number of college freshmen need remedial algebra 2

    The part that is missing is that these are not the same people. Computer science should not replace basic algebra. However, computer science is much more useful for STEM interested high school students than calculus. This is mainly because colleges are very good at teaching calculus, colleges enjoy like teaching it again and again, and they are not so good at teaching basic programming.

    • TFA points out two things:
      1) that most science and engineering students need help with basic programming, and
      2) that a large number of college freshmen need remedial algebra 2

      The part that is missing is that these are not the same people. Computer science should not replace basic algebra. However, computer science is much more useful for STEM interested high school students than calculus. This is mainly because colleges are very good at teaching calculus, colleges enjoy like teaching it again and again, and they are not so good at teaching basic programming.

      Sometimes they are the same people. I had to take 4 prerequisite math classes in college before i could take calculus. I had been out of high school for 20 years but that's not an excuse , when i was in high school i didn't give a rats ass.

      Calculus and discreet mathematics are difficult for some, dare i say many. But i see now why that mental discipline is important for CS.

      My professor LOVED calculus and it was infectious. And my CS programming teachers (Java) were equally as passionate ( most of them)

    • Citation Needed.

      Maybe it was just me, but I had way more trouble wrapping my head around third order differential equations than how to write a C++ program that did not leak memory. And I took way more math in high school and university than computer science.

    • Learning calculus or algebra requires previous math. Teaching basic programming doesn't have such prerequisites (although teaching computer science also requires math).

  • CS programs have reduced and reduced the math requirements, with surprisingly many even advocating coding for everyone as the way to get more and better software. Programming is writing a proof: your job is to convince (prove to) yourself and others that the outputs (theorems) derive from the inputs (axioms). A lot of sloppy software results when this notion is left behind. So, allowing CS to count as math is basically taking the math out of math.
  • Although I earned a MS in Math (before most of you were born, and CS curricula weren't invented) I have had occasion to see good SC graduates excel in putting functional, robust systems together. These people changed my opinion of the CS discipline from skepticism ("all the good compilers have already been written") to admiration for their engineering abilities to assemble systems using tools and materials they had studied in school and kept abreast of as their careers progressed. In a career that began as

  • Especially when you stick to algorithms to solve particular (math) problems.

  • If you're just coding, all you're mostly doing arithmetic and offloading the rest to a library someone else wrote.

    If you're studying numerical methods, you should already have the credits for multivariate calculus, linear and complex algebra and differential equations, and their requirements. That's all the math credits you'll need for any undergrad degree except maybe math.

    If you're doing meaningful numerical methods research, you don't need "math credits", you can teach math.

  • What they teach in high-school is not computer science. At best, it is programming; more often, it's just how to become a code monkey.
  • Long ago, in the 70's I took the first comp programming class my school ever offered my senior year. The punch cards went downtown to be run. All we had was a keypunch, no terminals I thought the class counted as math, but then I also was taking calculus at the time and ended up with like 5 1/2 years of math classes by the time I graduated. Should programming count as an algebra replacement, definitely not. If you are college bound in a field like comp sci, you'd be foolish not to squeeze every last math co
  • If the goal of high school is to turn out coding monkeys, then allow a computer science class to count as a math credit else disallow it.
  • Math should count toward computer science , not the other way around.

    Logic : Math is required for elements of computer science. Computer science is in no way required for math.

  • by account_deleted ( 4530225 ) on Saturday October 12, 2019 @11:33PM (#59301706)
    Comment removed based on user account deletion
  • There should be one goal for high school mathematics. Get yourself to a level where you are ready for Calculus, and ideally have already complete a Calculus course.

    Why do this in high school? For starters you are more likely to get support from teachers and tutors while you are in high school than when you are in college or a trade school. Also, why pay University prices for a class that doesn't take a PhD to teach.

    Why learn Calculus at all? Maybe jump straight into computer science without it? You absolute

  • You cannot take any class in Computer Science without that one lecture mentioning Ada Lovelace.

  • by eric31415927 ( 861917 ) on Sunday October 13, 2019 @12:16AM (#59301774)

    Computer science should not be offered to a student unless the student is concurrently (or previously) enrolled in maths.

    The memory work required to succeed in maths should be an asset to future programmers.

    The logical thought processes taught in maths are required to properly understand CS.

    The fields should be separated in the same way as they are for Physics, Chemistry, Biology, Engineering, ...

    Why should CS be treated any differently?

  • I hate it when STEM boils down into programming. Programming is the lesser part of STEM, and when it replaces other parts, it makes the population stupider and it slows down progress.

    Tech might need more web developers, to advertise and sell more products. That's what most programmers do. So sure, they want people who just program.

    But the people who develop new things, the people who research, they need some knowledge, and they need math.

    Schools should teach people how to think logically, give them tools (l

  • As a former math teacher and programmer - probably not, but it depends.

    A class that actually involves logical thought rather than filling in templates (or just basic familiarity) could work, rather than having students do proofs in Geometry. Mind you, I wouldn't expect that in a first year class (except some honors courses) as too much time would have to go into the actual language being used and fundamentals, but perhaps a second year class could have sufficient depth for something like that.

    Mind you, I am
  • by nospam007 ( 722110 ) * on Sunday October 13, 2019 @05:54AM (#59302308)

    Betteridge's law of headlines.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...