Does computer programming help developing math skills?

Click For Summary

Discussion Overview

The discussion explores whether learning programming languages and mathematical software can enhance mathematical thinking and skills among high school students. It includes perspectives on various programming languages, their educational benefits, and the relationship between programming and mathematics.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • Some participants suggest that programming can develop logical thinking and debugging skills, which may transfer to solving math problems.
  • Others argue that programming can help students master mathematical concepts by automating simpler tasks, with Python being recommended for its ease of use and rich numerical libraries.
  • A participant shares personal experience indicating that learning APL enhanced their understanding of mathematical topics, suggesting that programming can prepare students for advanced math courses.
  • Concerns are raised about using certain languages like C or Fortran, as they may distract students with low-level details rather than focusing on higher-level mathematical concepts.
  • Some participants advocate for using software like Mathematica and MATLAB to alleviate tedious calculations, allowing students to concentrate on conceptual understanding.
  • There is mention of the Processing IDE as a tool for interactive learning in programming, which could engage students creatively while learning coding.
  • A participant questions the existence of controlled studies on the impact of programming on math skills, suggesting that educational research may provide insights.
  • Discussion includes the potential motivational aspects of programming and visualization tools in education, emphasizing the importance of engaging students through graphics.

Areas of Agreement / Disagreement

Participants express a range of views on the effectiveness of programming in enhancing math skills, with no clear consensus on the best programming language or approach. Some support the idea that programming aids math learning, while others highlight the need for further research and caution against certain languages.

Contextual Notes

Limitations include a lack of empirical evidence or controlled studies to definitively support claims about the benefits of programming for math skills. The discussion also reflects varying personal experiences and preferences regarding programming languages and tools.

Who May Find This Useful

This discussion may be of interest to educators, curriculum developers, and students exploring the intersection of programming and mathematics, as well as those considering the implementation of programming in educational settings.

Aidyan
Messages
182
Reaction score
14
Can learning of programming languages like C, Python, Fortran or mathematical packages like Matlab or Mathematica be helpful in developing mathematical thinking in high school students? Logically I tend to answer positively, but have no direct experience with that. Has anyone seen boosting students grades after they have developed themselves some programs? If so, what language do you suggest to use in the classroom?
 
  • Like
Likes   Reactions: fricke
Science news on Phys.org
Computer programming can help develop logic skills and teach you how to debug a program. These same skills can then be applied to regular math problems as you search for an error in your thinking.

Math skills can improve your programming though which may lead you to believe that the contrary is true.
 
I think most definitely it can help. If you can write a program to do the easier parts of your math homework(solving a system of linear equations, factoring polynomials, finding maximum/minimum, etc.), then you've already mastered how to do the problem. As far as which programming language to learn, I am going to say without hesitation to pick Python. It has many numerical packages for when students become more mature in their mathematical thinking, plus it's not as tedious as other programming languages when you're starting out(often you find that 10 lines of python code can do the same as 50 lines of Java code!). There are also a lot of great resources in learning Python, the one that I found the most helpful was the MIT OCW 6.00: http://ocw.mit.edu/courses/electric...o-computer-science-and-programming-fall-2008/
Dr. Grimson and Dr Guttag are a lot of fun to listen to lecture.
 
Based on personal experience, I think it can. When I was in 8th grade, I taught myself how to program in APL. I became acquainted with a wide variety of topics like matrix multiplication, matrix inverses, binomial coefficients, trig functions, modulo arithmetic, etc., because they were part of APL (which was a math-based programming language). When I took Algebra II, I was primed to learn more fully about these topics than I normally would have been. Having already given some thought to these topics, I was filling in the blanks rather than starting from scratch like my classmates.

If your goal is teach math as opposed to programming (how to implement algorithms on a computer), I would suggest you stay away from languages like C or FORTRAN. Students will waste too much time fighting with irrelevant details, like real variables vs. integer variables, and tracking down stupid bugs instead of focusing on the higher-level concepts which are presumably your focus. I'd look for a rich, interactive language rather than a compiled one. It's much more satisfying and conducive to learning to test out an idea and get an immediate result rather than having to type up a program in an editor, compile it, go back to the editor to fix the inevitable typos, compile it again, and then finally being able to run it to see what the result of your idea was.

@jedishrfu also raises an excellent point. The computer is going to do exactly what the student tells it to do. When students get an unexpected result, they'll typically want to figure out why. The ability to figure out where the error in their thinking is by checking their assumptions and paying attention to details is crucial to being able to learn effectively.

Using packages like Mathematica and Matlab can help students learn math simply because it can remove the drudgery of algebraic manipulations. It can let them focus on the concept they're trying to learn instead of on the calculations. Also, with subjects like statistics, I want to avoid forcing students to do mind-numbing calculations by hand with tons of numbers.
 
@vela is quite correct with respect to MATLAB and Mathematica as good ways to learn programming and math together. Many engineering schools use MATLAB for all computational homework and lab work. It is now the slide rule of the age.

APL was a much tougher language to learn for many people. It was often cited as being a write-only language i.e. after you wrote your program you could never read it later on to make changes or to recall what it was supposed to do. Programmers love languages like these; great job security...

As @\Theta mentions nowadays a great all-purpose language is Python. Its available on MacOSX and Linux and optionally for Windows (i.e. download a version and install it).

Another great resource is Processing IDE where students can learning java, javascript or python programming interactively. Its geared for doing cool interactive graphic artwork. Its available for all major platforms, comes with many libraries and examples and is very easy to get started with. I often have my summer HS apprentices learn it to do PC and Android-based projects.

processing.org

Alternatively for python in particular there is the iPython Anaconda distribution that features a web-oriented notebook page where you enter your code, run it and the results appear below the entered code. Some profs use it to teach numerical python programming.

http://continuum.io/downloads
 
It sounds as if you're looking for the results of a controlled experiment on this.

I don't know for sure, but I'm hoping folks in Educational Research have done something on this. Maybe advanced and exhaustive google searches will throw up a paper about it.

While I agree with the replies, I would point out the ever increasing use of the wow-factor in science museums around the world. The idea here is one of inspiration and motivation, rather than "showing-how". Let me admit I am not totally happy with this approach, but, under clenched teeth, I will admit it has its benefits.

If you don't have a science museum to wow your students: :-), graphs and pictures are the way to go, so graphics capabilities would be most prized. So anything that is capable of hip graphs would tie in this approach. Matplotlib and Mathematica appear strong here. R, while a statistics package, also has great graphs.
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
4K
Replies
16
Views
3K
Replies
4
Views
3K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 43 ·
2
Replies
43
Views
7K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 21 ·
Replies
21
Views
3K
  • · Replies 15 ·
Replies
15
Views
4K