Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Education Math Programming

Does Computer Programming Really Help Kids Learn Math? 218

Long-time Slashdot reader theodp writes: A new study on the Impact of Programming on Primary Mathematics Learning (abstract only, full article $24.95 on ScienceDirect) is generating some buzz on Twitter amongst K-12 CS educator types. It concluded that:

1. Programming did not benefit mathematics learning compared to traditional activities
2. There's a negative though small effect of programming on mathematics learning
3. Mindful "high-road transfer" from programming to mathematics is not self-evident
4. Visual programming languages might distract students from mathematics activities

From the Abstract: "The aim of this study is to investigate whether a programming activity might serve as a learning vehicle for mathematics acquisition in grades four and five.... Classes were randomly assigned to the programming (with Scratch) and control conditions. Multilevel analyses indicate negative effects (effect size range 0.16 to 0.21) of the programming condition for the three mathematical notions.

"A potential explanation of these results is the difficulties in the transfer of learning from programming to mathematics."

The findings of the new study come 4+ years after preliminary results were released from the $1.5M 2015-2019 NSF-funded study Time4CS, a "partnership between Broward County Public Schools (FL), researchers at the University of Chicago, and [tech-bankrolled] Code.org," which explored whether learning CS using Code.org's CS Fundamentals curriculum may be linked to improved learning in math at the grade 3-5 level. Time4CS researchers concluded that the "quasi-experimental" study showed that "No significant differences in Florida State Assessment mathematics scores resulted between treatment and comparison groups."
This discussion has been archived. No new comments can be posted.

Does Computer Programming Really Help Kids Learn Math?

Comments Filter:
  • by Registered Coward v2 ( 447531 ) on Sunday September 11, 2022 @06:02PM (#62872673)
    It may require analytic skills, but that's not math; at least not the math taught at that or even later grade levels. The only time math enters programming is if you are using teh computer to solve a math problem, but even then programming isn't taching the math any better than pencil and paper.
    • by HiThere ( 15173 ) <charleshixsn@@@earthlink...net> on Sunday September 11, 2022 @06:28PM (#62872731)

      Programming *IS* math. But it's not arithmetic. And it's not algebra. It's closer to symbolic logic and set theory, but doesn't quite match either of those, either. I'd be surprised if it had any measurable transfer to arithmetic, and only a minor transfer to algebra.

      But it *is* math.

      • by dresgarcia ( 251585 ) on Sunday September 11, 2022 @06:35PM (#62872751)

        This is why I would have expected to find that programming helps people learn to apply the mathematics that they've learned elsewhere, as opposed to learning the mathematics outright. Learning to program isn't going to teach you the principles of geometry you need to apply to performing operations on shapes(though it could prompt you to go learn it yourself), but will help you use them when they would otherwise whither in the back of your brain.

        • by sjames ( 1099 )

          If you want to teach geometry, playing with CAD will be more useful than programming.

          • by ewibble ( 1655195 ) on Sunday September 11, 2022 @08:46PM (#62872959)

            I would disagree, because these tools do the figuring out for you, if you want to learn geometry write a CAD program from scratch.

            I think programming in general doesn't teach you maths. Its not formal, there is no proof required, do don't even need to do the basic operations the computer does it for you. I think being good a maths helps you program especially in areas like graphics and cryptography but not vice versa usually you just use a library for that.

            • by sjames ( 1099 )

              I think writing a CAD program from scratch is a bit much to ask of a high school student with 3-5 other classes to keep up with.

              CAD does all the work for you much like a calculator does. That is, after a certain point it's not going to do your work for you. Note that I did not say that geometry should be taught exclusively through the use of CAD. If you compare a sketch done by a noob vs someone with a little experience, you can see the geometric reasoning skills improve.

            • by IdanceNmyCar ( 7335658 ) on Monday September 12, 2022 @03:15AM (#62873507)

              The whole study is bullshit built on a bullshit a priori, that some educator sold to an education board probably to get people to buy his book. Snake oil at it's best...

              Does programming help you learn biology? Sure, if you're a support role in bioinformatics.

              Does programming help you learn economics? Sure, if you're modeling economic systems.

              Programming is a tool... they might as well as I can games help you learn math... and again the answer is yes but it's all about curriculum.

              No shit a visual programming language doesn't help you learn math. Scratch hardly has any math except movement on a grid...

              Personally I could be convinced that there are no shit questions in a class but there are lots of shit studies... like does my shit stink...

          • by fazig ( 2909523 )
            Kill two birds with one stone and just use one of the general purpose video game engines. For teaching purposes they're all free to use.
            They combine programming with a 3D viewport where you get your lightweight CAD experience (for geometry purposes). So you can have the students program how the 3D objects in 3D space are to translate and rotate in 3D space using geometry and linear algebra.
            • by sjames ( 1099 )

              Don't ask them to run before they can walk. Start with 2D in a CAD sketcher. Then work on extruding into 3D. Then, if there's time, import those shapes into an engine and move them about.

              All you're doing with game programming is training them to work in a high stress burnout factory.

              • by fazig ( 2909523 )
                I'm not really seeing your point. You can do 2D in virtually all game engines.
                In fact a lot of the more *simple game engines are even limited to 2D.

                I also don't see the burnout factor at all there unless you do it horribly wrong and right away introduce them to Crunch.
                You can start with just the geometry stuff in the viewport. And when it comes to programming, you add programming to it, in the same environment that the students are already familiar with and won't have to learn a new user interface for.
              • by narcc ( 412956 )

                How, exactly, is that going to teach them anything about geometry?

        • Everything is math to some degree. Physics. Chemistry. Biology. Music. Computer Science is as much math as any of these other things.

          And no more. The biggest difference is that computing is about iterative logic: Do this, then that and if this go back there and do that again with the new numbers. Math is about continuous logic. Sometimes it can be broken into a straight line of iterative steps but it's nature is to define an existence not perform an activity.

          Doing advanced math (calculus and up) with a comp

        • It really depends on what they taught them. If they taught them how to make user interfaces, I can easily imagine no math learned. If they learned CS the traditional way with algorithms first, I think they would have gotten different results.

      • Re: (Score:3, Insightful)

        Programming *IS* math. But it's not arithmetic. And it's not algebra. It's closer to symbolic logic and set theory, but doesn't quite match either of those, either. I'd be surprised if it had any measurable transfer to arithmetic, and only a minor transfer to algebra.

        But it *is* math.

        I am not sure that I agree. I have a bachelor degree in math and am working in IT for the most of my adult life. I started as a COBOL programmer, then decided to switch to the dark side and became a VAX/VMS system administrator, followed by becoming a DBA. I had to program throughout my career and am not sure that programming is math. The theory of algorithms, von Neumann machines and Turing machines, that is math. However, standard programming is distinctly not math. Math is a discipline which deals with d

        • I would suggest a compromise between the two opinions: programming is a very narrow branch of mathematics, one which doesn't help a person learn most other branches of mathematics (and certainly none that typical grade school students are learning).
          • I would disagree with that, when was the last time you proved your program correct mathematically, or applied any mathematical rigor to prove something. Programing uses math but so does giving change at a fast food store. There maybe a very narrow branch of programing which is math, but it is small. i.e. the venn diagrams slightly overlap.

            • You might not write a proof down and a QED at the end, but you always have to understand the correctness of your program in the form if an implicit logical proof. This gets clearer if you have to justify your pull request to someone else; you need to communicate why your program is correct, and the language used for that can be considered mathematical, even if quite informal.

              • by narcc ( 412956 )

                This is stretched well-beyond the breaking point. This is the equivalent of calling a brick layer an engineer. It's preposterous. Programming isn't math and programmers aren't mathematicians.

        • by K. S. Kyosuke ( 729550 ) on Sunday September 11, 2022 @08:17PM (#62872921)

          I started as a COBOL programmer

          That may be the problem. As Dijkstra, who insists that programming absolutely is a branch of applied mathematics [utexas.edu], says, the use of COBOL cripples the mind. So you're almost certainly wrong and Dijkstra is right.

        • Along with Dijkstra, I believe that if programmers thought like mathematicians, their code would turn out a lot nicer.

          • Along with Dijkstra, I believe that if programmers thought like mathematicians, their code would turn out a lot nicer.

            Have you ever read programs written by mathematicians?

            Some of them even code in Haskell. Bleh.

            • Sure, they use variables with single character names. But, at least the code works, which is more valuable.

        • I would agree. I've studied math and worked as a programmer with mostly computational/numerical work. I think learning math from programming is like learning math from working in Excel. Yes, it is strictly speaking math but it is most often just a very large number of +-*/ operations (which are performed by the computer) so you don't really learn any actual math or transferable skills. Sure you could call it set theory with transformations or something but... no... just no...

          Programming can be almost comple

      • Programming *IS* math. But {...} it's not algebra. {...} I'd be surprised if it had any measurable transfer to arithmetic, and only a minor transfer to algebra.

        Unless you're in the 90s and need to write your own graphical engines to make stupid fun games (and have access to quite some source code -- beginning with listings in magazine and ending up with opensource software source-code). The you most definitely need quite a bit of algebra for writing some of your routines.

        Most of what I've learned about trigonometry and linear algebra started a programming code for 2d driving games and 3D polygon engines.
        Coding was a good introduction to some subject, and then subs

        • Yup.

          Then again, having started to learn programming before I mastered long division by hand in 4th grade it kinda broke me on algebra - the whole "f of X" thing, until like two weeks before end of term when the guy said "its a function, you pass it a value, it does something, and it gives a value back". Then the lightbulb clicked on for me. Then I had pre-calc algebra, which broke me again when I had to memorize formulas. Sure, I can write the code to compute compounding interest over whatever period a

      • by fazig ( 2909523 )
        From personal experience with "game developers", that didn't get any formal education, there's often a notable lack of knowledge in linear algebra and geometry. Not to even mention the more obscure higher mathematics stuff.
        So for example while people may effectively use numerical integration through the use of loops, which they do understand how to apply, the mathematical concept behind an integral is often not understood.

        But the issue is often a lot more basic as many people (even up to CS masters unles
      • Actually, programming is proof theory. Every computer program is a proof (https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence). Intuitively while programming you are proving in your head (or are trying to) that it works. So it might improve logical thinking. Having said that most programming kids do (and also many professional programmers) is so simple that the math it touches is very shallow. That hard part is not the math but many other things related to programming.
        Even if this wasn't so,
      • by ls671 ( 1122017 )

        Programming *IS* math. But it's not arithmetic. And it's not algebra. It's closer to symbolic logic and set theory, but doesn't quite match either of those, either. I'd be surprised if it had any measurable transfer to arithmetic, and only a minor transfer to algebra.

        But it *is* math.

        This is just my humble opinion, but I would suggest the following theory:

        Learning assembly first might help you a lot becoming a better higher level programming language developer.

        Learning math first might help you a lot becoming better in IT.

        Saying things like IT will will help you learn math seems backward to me.

      • by AmiMoJo ( 196126 )

        Depends on the programming language. Back in the day we had things like Logo, and some of the BASIC variants let you set up the graphics coordinate system to things like (0,0) in the centre of the screen. Basically a combination of programming and using a graphic calculator.

      • by narcc ( 412956 )

        Programming is decidedly not math. Not in any meaningful way at least. That's a lie that some programmers tell themselves to make them feel less embarrassment over their lack of familiarity with higher math. Being a programmer does not in any way make you a mathematician. It doesn't make you a logician either. Everything the average programmer needs to know, as far as mathematics or logic is concerned, a child can teach themselves. Many children have. A lot of people here did. Many (most?) before the

    • by mkwan ( 2589113 ) on Sunday September 11, 2022 @07:01PM (#62872789)

      I've interviewed a lot of candidates for a big tech firm, and I've been surprised how many struggle with things like boolean logic and order-of-complexity calculations.

      I guess you don't need to know those things when building websites, which is what most programmers do these days. But it'll stop you getting a job at the top end.

      • by splutty ( 43475 )

        The problem is that "Programming" is taught as just that. All the supporting knowledge, like math and electronics, are no longer taught alongside it.

        So you get people that can "Program", but have literally no idea what it actually does.

        I saw that change happen somewhere in the late 90's I want to say. Where "Computer Science" went from "Math and Computer Science" to just "Computer Programming" and later they started calling it "Computer Science" again, but that was still just programming, maybe with a littl

      • Why I agree that being math helps you be good at programming, but I would say getting a job at the top end is more about interpersonal skills than technical expertise.

        • by mkwan ( 2589113 )

          No. Speaking as someone who interviewed candidates for big tech, you don't get a job unless you can calculate - and minimize - the order of complexity of your algorithms. Interpersonal skills may affect whether you get promoted to team leader / manager, but they don't get you hired in the first place.

    • No kidding.

      I had three years of programming in high school.

      I completed a minor in computer science at a four year institution.

      None of the courses had much of anything to do with math, they certainly didn't teach me anything about math.

      • I completed a minor in computer science at a four year institution.

        None of the courses had much of anything to do with math, they certainly didn't teach me anything about math.

        My university required Math classes for a CS degree when I was there and currently requires the 4 classes (14 credits) below as well as some Science classes -- I took two semesters of Physics (I started as an EE major).

        • Math 211 (4): Calculus I
        • Math 212 (4): Calculus II
        • Stat 330 (3): Probability and Statistics for Computer Science
        • Math 316 (3): Introductory Linear Algebra
    • Its an interesting topic. The dominant philosophy in math is realism, which holds all all math truth has an independent and invariant existence out there somewhere. The problem is the i-word, invariant. Realist math has no concept for assignment, x := 5; x := 6. If f(x) = 5, then it forever equals 5. Therefore math can describe information theory from a distance, but it cannot actually participate in information flows, where write operations occur. The mathematician alone does this through discovery of inva

      • Assignments can be handled by considering an evolving system state. So before the expression you have state "i". After the expression you have state "i+1" about which you know it is identical to state i for all variables besides X and that in state i+1 you have X being equak to the newly assigned value. So you have an evolving sequence of states just as you can have a sequence of numbers, partial sums etc.
    • Programming requires setting variables and generally algebraic relationships between variables, solving for an unknown or defining a relationship between constants and variables.

      If that isn't "math", I differ with anyone that believes contrary.

      • Nobody is saying that math is completely unnecessary.

        Of course, you need to know grade school arithmetic to program.

        But you don't need to know trigonometry or calculus to learn to program, and most programmers will never use either of those professionally.

  • A theory proven wrong: Programming teaches math? Why think that?

    Programming teaches people to be very logical.
    • I could see the argument in higher math, as that deals a lot more with programming like logic, but K-12 math, yeah no. Even in higher math I'm dubious on it. Most programming has little to do with more than the most basic mathematics and when it does get into deep math, you need to know that deep math already, not learn via the programming. Again it is only that programming-ish higher math that I could see knowing programming benefit you in.
    • Not even that. Being logical in programming doesn't necessarily make you logical in math or any other subjects. It's like saying good technique at shot put makes you good at javelin. They're both throwing things with one hand as far as you can, right? Wrong. You get good at whatever you practise. Learning tends to be very narrow. Here's an infamous position paper from 1989. It's a pity these researchers don't read much outside their field. They wouldn't be so surprised/disappointed with their results otherw
  • Why would programming help with math?
    Symbolic logic and formal basic accounting would help more with math as they teach similar thinking skills.
    General Programming has very little to do with math.

    • It depends on the mathematics topic being considered. Some mathematics is heavy with algorithms. Memorising these algorithms can be easier if the student teaches a computer by implementing these algorithms.

      An example is matrices. Matrix manipulation is mostly algorithms and these can be complex. Finding the determinant of a large matrix is a much simpler problem if implemented in code. It's not hard, just tedious. And tedious tasks are something computers can do well.

  • Wrong goal (Score:5, Interesting)

    by aaarrrgggh ( 9205 ) on Sunday September 11, 2022 @06:10PM (#62872691)

    Learning programming helps kids understand organization and structure, which is far more valuable than teaching math.

    TURTL taught me about Cartesian coordinates in 3rd grade, which made CAD easy in 9th grade, which helped me with spatial and volumetric processing later in life.

    BASIC taught me to make annoying loops.

    You never know what teaching someone will help them learn; some things only become measurable much later.

    • by sjames ( 1099 )

      That's a related more general question. Learning some computer programming probably is valuable in K-12, it just isn't necessarily going to teach them math.

      • Valuable for whom? Silicon Valley billionaires & their pet education projects that sap precious resources from public education systems? Schools should focus on teaching maths better, not pandering to rich arseholes who have no grounding whatsoever in educational psychology or the learning sciences. Yeah, I'm talking about you, Code.org.
        • How do you propose to "teach maths better?"

          Making numbers "not scary" is one approach, and simple programming is a useful tool for that. It isn't a panacea, but it doesn't have to detract from learning math. In many ways programming is more about poetry or linguistics than math... it all creates a more well rounded student. That should be the primary goal of education.

        • by Morpeth ( 577066 )

          Having taught HS and some MS comp sci classes, I was so fucking annoyed by the push from admins and the pseudo CS teachers who weren't REALLY CS teachers and they certainly weren't programmers -- who jumped on the code.org bandwagon. It's a bunch of PR nonsense, 'ooooh look shiny!' bullshit, but I was forced to do 'hour of code' and other crap that was an utter waste of time, it was all fluff and no substance. Code.org seems run by a bunch of name dropping, self-congratulatory egomaniacs, and the educators

        • by sjames ( 1099 )

          Actually learning some coding could help the students. It doesn't need to be much, just enough to understand that the many digital devices around them do what someone told them to. When some corporate representative helplessly claims 'the computer won't let me', it is a situation that could easily be rectified if the company gave a damn. Programming teaches logical thinking and detailed reasoning that can punch through political bullshit.

          And I don't mean things like code.org that are mostly designed to mini

    • Um... The goal is to have more programmers because it's one of the few jobs that still pays okay because of a shortage of workers. That's where all this push for programming is coming from. It's coming from a handful of companies that don't like having to pay decent wages
  • That's what happens, when few have even heard of Seymour Papert.

  • by devslash0 ( 4203435 ) on Sunday September 11, 2022 @06:12PM (#62872697)

    You use a programming language to implement a math concept, not the other way around. Unless you design programming exercises to utilise specific math concepts, it won't happen on its own. And let's be honest - once you move on from a uni, you hardly ever use any complex maths as a programmer unless you work in data science.

    • by Octorian ( 14086 )

      Yeah, all throughout school I absolutely loathed how much high level math everyone insisted you had to get through if you wanted to work with computers.

      Once in the real world, I don't think I've ever had any reason to use anything beyond Algebra or Trigonometry. (okay, and that boolean logic stuff often categorized as part of linear algebra, though easily learned separately, and I don't really remember anything else from that class)

      • by tragedy ( 27079 )

        Here's a question for you though. If your employer came to you and said that they needed you to implement something that, given a latitude and longitude and a radius in miles or kms along with a db with the latitude and longitude of all their locations, would be able to identify all of the locations within that radius, what would you do? Would you be able to implement it yourself or would you need to go in search of a library already created by someone else for the purpose?

  • Of course not, why would someone assume that it would?

    Unless you're programming 3d graphics from scratch or some scientific computing or AI, again mostly from scratch and not just using libraries like everyone does nowadays, there's not much math involved, and it's usually basic arithmetic.

    I did write a toy raytracer and an OpenGL renderer and still all that I've learned is matrix multiplication and a few formulas for ray-object intersection, which I've long since forgotten.

    This is definitely more interesti

  • My bad math sense is tingling.

  • Backwards (Score:4, Insightful)

    by KalvinB ( 205500 ) on Sunday September 11, 2022 @06:32PM (#62872745) Homepage

    Learning math helps you with programming, not the other way around.

    I was able to apply Trig in high school and derived 2D rotation and translation equations using my TI-85 back in the late 90's. I had a little demo moving and rotating around a wireframe track.

    It makes no sense to go the other way of teaching trig through programming. Programming is an application of math. Lots of domains require different levels of math. And then coding can be used to reduce workloads by automating calculations.

    • Re:Backwards (Score:4, Interesting)

      by roman_mir ( 125474 ) on Sunday September 11, 2022 @08:23PM (#62872929) Homepage Journal

      I wouldn't even go as far as declaring that knowing math helps in programming or that programming helps with math. These things are not necessarily connected much at all.

      I believe developers have too high a view of their own abilities, they like to think they are better at math or physics than non programmers, this is from where such notions generate.

      I think you learn math and you learn programing, those are 2 distinct things (not even 2, there are many sides to math and to programming), and if you are lucky then sometime in your life you will end up working on something that combines these 2 distinct areas of expertise together.

      There isn't much that either web or system or device coding has to do with mathematics, it is mostly data access and manipulation, transaction control, user input validation, networking, storage. The rare cases where mathematics and software are combined include data encoding / decoding, compression, encryption, graphics and sound manipulation, maybe some robotics and even logistics. I mean very few people actually work out the math details even when they deal with these topics, it is mostly libraries that are used to solve higher level business questions, so a developer rarely has to devise code that does any sort of fourier transformations, combining waveforms together or doing any real statistical analysis and then actual matematicians provide all of the theory behind this work, developers mostly just convert math into instructions.

  • We know howto teach primary school maths, we're really good at doing it. Where programming is useful in mathematics classes is in Algebra. When you can modify the equation of a line and show howto move an object through 3d space by applying the ratio given by the equation of a line to all the vertices of an object to make it move in 3D. It makes the mathematics much more relevant and less boring. Especially to mid-late teen boys who tune out because the topics become so abstract and seemingly irrelevant.
  • by joe_frisch ( 1366229 ) on Sunday September 11, 2022 @07:04PM (#62872797)
    Well sort of. Physics is behind the engineering that is being manipulated when one works on a car. If taught with physics as a goal, auto mechanics could be very useful - energy, momentum, torque, heat transfer etc etc. OTOH, it can also be taught as a series of tasks "Tighten this bolt to x ft-pounds".

    Computer programing is the same thing. Teaching a student the mechanics of using a sorting routine will teach nothing about math. Teaching them to write a sorting routine in a low level language will teach them - but not typical grade school math.
  • by AmazingRuss ( 555076 ) on Sunday September 11, 2022 @07:27PM (#62872831)
    No. They probably don't even know what Discrete Math is, and have only a passing familiarity with Discrete Math's most famous offspring, Critical Thinking.
  • I recall years ago when IQ and Mensa tests posed problems. When you are asked what is next in a sequence, computer programmers often see a different next step. Binary and Octal yield different patterns, and XOR is not something most people consider.

    In this case, the three concepts were apparently Euclidean division, additive decomposition, & fractions.
    Not sure why there would be any problem in the additive decomposition, which I had to look up to understand what they were talking about. The example I

  • by zephvark ( 1812804 ) on Sunday September 11, 2022 @07:46PM (#62872857)

    The study was only done using "Scratch", whatever that is. It appears to be a programming language designed specifically for small children and probably doesn't involve significant math.

    Perhaps they would like to try this again with C or some current fad language like Rust.

  • teach then math and programming will be easy.

  • I can write programs--even with weak math skills. I have a program that I converted and speed-optimized a quadradic equation for; I can't really explain how it works. : )
  • So we were told. Trouble is, to learn math you need to learn the fundamentals - counting and basic operations. Unfortunately there is only one way to do that and itâ(TM)s rote problem solving using the algorithm - PEMDAS. The only part of math that really intersects with math is the abstract algebra/Boolean logic/set theory side. That has nothing to do with coding and its really not appropriate for kids without mathematical basics to try to learn (but not impossible).

  • by bloodhawk ( 813939 ) on Sunday September 11, 2022 @08:34PM (#62872943)
    nowadays programming often has little to no math involved, especially the early stuff with high level languages. However, programming did help me a lot with maths back in the 80's, I went from mid to lower end of class to top of math mainly due to programming as it gave math a practical and interesting aspect that helped me learn and back then many of the languages and things I programmed really did require lots of math.
  • If it did, I would be a math whiz by now.

  • As a non-scientific, entirely anecdotal counterpoint, I found programming beneficial to me for math. First, the concept of a variable was difficult for me until I got to play with FOR loops in BASIC. That may have been pure coincidence as I was exposed to BASIC right around the time that algrebra is taught, and I've heard that young brains are developing increased cognitive ability at that time, ie, I might have coincidentally been exposed to BASIC at the same time my brain was developing algebraic capabi

  • It is the other way round, good understanding of math helps you do better in programming.

    Strong background in math gave one good training in abstraction, logic and reasoning. These skills make programming easier, makes algorithms easier to understand. Doing math trains one to be careful in doing each step, being careful in programming reduce the number of bugs. Experienced in doing math gives one an appreciation of thinking things through before one starts, which also carries well into programming.

    Doing

  • Now ppl have a smartphone with them all the time.

  • Programming isn't math, it is reason. Ok, call it logic. Thinking.

    We are better to teach math and apply that to programming. The reverse leads to unnecessary math tricks to mimic computers, when teaching math and solving those problems develops skills more readily applied forward to programming.

    Or, for those of you mired in the future, somehow we put men on the Moon and returned them safely to Earth with tools like slide rules, engineers who may have bee taught trigonometry in high school, and in the midst

  • by TuballoyThunder ( 534063 ) on Sunday September 11, 2022 @10:46PM (#62873145)
    Know what makes you good at math? Doing math. Yes, some computer programs intersect with math, but it is not a substitute.
    • DUH.
      The reasoning has some overlap between the two.
      It made me naturally good at math (or so i was told while I aced science algebra as the top student yet got a C in algebra, same year;) however, USA math "education" made learning math miserable. The computer also made math more boring, slow and painful than just using the computer; later the programming calculator became as much as a distraction as leaving a TV on in the classroom.

  • Who cares if learning programming makes kids better at using 200 year old techniques to solve calc problems.

    Its like asking if learning algebra helps kids learn how to make calculations via geometric construction. The point isn't to add tools to their problem solving belt that make it easier to solve problems in old ways. The point is to add tools that solve those problems in different, newer, better ways.

  • by LazLong ( 757 ) on Monday September 12, 2022 @01:02AM (#62873293)

    Maybe I'm a moron, but it seems pretty obvious to me that teaching 3rd-5th grade kids to program isn't going to help them do better at the arithmetic they learn at those levels. I don't see that it'll help them with anything until they take discrete mathematics. But, that doesn't mean learning basic CS is a waste of time, it just competes with everything else they are supposed to learn at that time. The need for scripting skills seems to be increasing as basic computer skills has percolated down to young children, and users are more capable and in greater need of automating tasks than back in the day.

    I think this attempt to use CS to boost mathematical skills is just another example of a mixture of snake oil and the desire to find some magic bullet to boost math learning without putting in the work required. Humans, and most particularly lazy managers, are always looking for the simple, minimal effort, magic solution to whatever problem lays before them.

    • by cowdung ( 702933 )

      The big problem is how math has been traditionally taught.

      They show you an example of how to do long division and say.. there .. do that.

      Of course, you don't reflect on what division really is (repetitive subtracting) and why you're using basically a search algorithm to try different numbers that multiplied together give you the original rather than just subtracting. Then when you learn how to do square roots, you don't notice that you're essentially applying the same algorithm with a different operator.

      Why

  • by CoolDiscoRex ( 5227177 ) on Monday September 12, 2022 @01:37AM (#62873351) Homepage

    I have three daughters, who I obviously don't allow to write code. They all expressed an interest, but I immediately put a stop to it. Just last night, they got together and asked me to teach them how to write "Hello World" in Python, to which I replied "Whaaaaaat?! Girls? Writing code?! With their girl brains??!! Preposterous!!!! Where do you get these ideas from?! You can't cook meatloaf or please your husband by writing code, now get back in the kitchen and watch your mother cook, and let us hear no more of this girl-coding nonsense! Girls writing code .... pfffft ... what next, is the cat going to start teaching Calculus at Harvard?!"

    At least, that's what the media desperately wants you to believe I said, and they don't take kindly to folks who disrupt the narrative.

    Anyway, in the reality that my evil brain thinks exists, I tried my best to get them interested in programming to no avail. I even signed them all up for these "Girls Who Code" classes, and I looked at their homework. It wasn't actually "code" per-se, but rather these visual coding block things where you drag these boxes in a particular order make a workflow to accomplish a task.

    I started to teach myself to code when I was 11, and never took any beginning programming courses, so I don't know if this is normal.

    I'd have to say that they teach logic, not arithmetic on any level. And some data structures like arrays and hashes.

    Unfortunately, my daughters didn't stick with it as their interests lie elsewhere. Oops, I mean, once they begged me to continue, I replaced their laptops with Barbie Dolls to prevent them from getting any funny ideas about potential careers. Then I mansplained to them, washed the residual blood off of my fangs, and called it a day.

    Another perfect day in a perfect life. Eh, most of you know exactly what I'm talking about.

    • by gweihir ( 88907 )

      Actually, most people are not interested in coding. Very few boys and very few girls are. Girls are fewer, but the plain simple fact is it is few kids overall.

  • Programming is communicating to a computer (and other people) a way to model a problem.

    Math is communicating to people (and potentially computers) a way to model a problem.

    The problem is that in grade school very little "Math" is going on. There is very little emphasis in kids learning how to model and communicate with math. Rather the emphasis is on them "crunching numbers" (something that a computer does with ease).

    So the problem isn't that computer's aren't helping kids learn how to crunch numbers, but r

  • Ha! so kids have issues transferring knowledge between domains? Where have I heard that before? Ah yes, the AIs have the same problem. It's not an easy problem, and this shows we're not such perfect intelligences either.
  • Math and programming are very very closely related. However, Maths algebra is a historically grown mess, akin to the worst fragmentations in programming, such as the countless dialects of regular expressions or SQL.

    Most programming languages are usually quite strict in their expression. Those that aren't are shite and a major PITA, as one can see with such abominations as Lingo, Transcript or the current state of SQL variants.

    Math has this very problem with Algebra.

    Algebra is a freakin' mess, with basically

  • Coding is engineering, not mathematics. You may as well try to teach mathematics doing electrical engineering, mechanical engineering, or cooking or gardening, at that. All these can use mathematics, but they are not mathematics. Because coding is abstract and mathematics is too, many people mistake them for the same thing. They are not.

I've noticed several design suggestions in your code.

Working...