Does anybody here know of any research on how effe...
# thinking-together
n
Does anybody here know of any research on how effective programming is at improving maths or physics skills for school children? My hypothesis is that applying maths and physics knowledge in programming projects should increase motivation which should increase test performance. Any thoughts on that? What's your experience?
m
Read Mindstorms by Seymour Papert!!!
👍 1
s
Agreed! Alan Kay and Andy diSessa also have wonderful things to say there
n
Papert is exactly who put these thoughts into my head =)
Doesn't seem to be much empirical research though. Or am I missing something?
s
Papert also has this wonderful quote about silly people who pre-tested kids, then put LOGO in front of them for an hour, and post-tested them and found no result. It's hard to do research on effective-ness on stuff like this. From my own personal experience, programming really helped me become good at math and physics
n
Did you ever test for that with the coding space kids?
s
I never tested it, because increased school scores were never my goal
👍 2
My goal probably was "resourcefulness"
Testing is a thorny problem
m
I would imagine Papert would argue his goal and the goal of "test performance" are at odds with each other
s
I have more to say on this but can't right now...
Well said, @Max Krieger
n
True. But sadly most teachers and parents still care mostly about test performance. Shouldn't be the goal. But I feel like it might be a pleasant side effect.
Did your LOGO experience made you more motivated to learn maths in school, @stevekrouse?
k
Anything that helps to develop abstract thinking is a great help for small kids in future math studies.
s
Yes, in a big way!
t
It certainly helped me with my math studies. I recall vividly when my 7th grade teacher brought up the idea of a "function" and I had a huge "aha" moment that connected it to what I'd been doing in Game Maker script. Also, I felt like I was the only middle school student in history to enjoy trigonometry because I saw how useful trigonometric functions are. They solved a problem I was struggling with in my games: how do I make my enemies move in a circle!
👍 1
n
Yeah that's exactly what I mean. Also, incidentally I was just watching the talk that @Jasim posted the other day and when Shiram says "Algebra teachers are not gonna do it [program video games in class] unless we can demonstrate measurable improvements in algebra"

https://www.youtube.com/watch?v=rM_E2IwlprY&t=1362

Still, I would like to know how they measure it.
d
anecdotally, for me even programming a graphing calculator let me improve my learning feedback cycle at lot. web programming kicked it up another notch. it was great to be able to make visualizations and solvers and stuff to make it easier for me to learn, check my answers, and in the process solidify my understanding
g
Wow, I feel very little connection to programming and math. I've always sucked at math (well I may have passed my classes but in my mind I still didn't get it). I still suck at math and programming has rarely helped me with math. I also find people connecting them frustrating. A very large percentage of programming needs almost no math beyond basic arithmetic. 99% of websites and web services didn't need any math to get their MVP out. Now I know people will argue maybe they are using math in their analytics or some other non MVP feature but I'd argue those features were added later by a few experts and that the MVP and the majority of code required no little to no math. Heck, looking at all the apps running on my laptop right now. Finder (no math), Chrome (no math except video/audio encoder/decoder, canvas api, a few CSS effects), System Prefs (no math), Terminal (no math), Preview (no math except image scalers and vector drawing). TextEdit (no math), VSCode (no math), iTunes (no math except audio decompression/compression). My point being that lots of people say to be good a programming you need to be good at math. I vehemently disagree and I believe saying and repeating that provably false statement scares away lots and lots of would be developers. I do agree that if a person is motivated to do something related to programming and that something requires math they might be motivated to learn the math. A good example might be drawing 3D graphics. But, I feel that's changed significantly recently because the average computer is fast enough and because there are so many existing and easy to use solutions that the majority of devs can get away with an existing solution without learning the math. They grab a library, give it data, and it draws it and I'd argue the majority of people are happy at that level just as I'm happy not to really care how my car works, I just drive it. The number of people who want to go deeper and write their own library is 1/20th the number of people that just want to use the library. I think this is derivable from looking at the activity of forums. The library forums have 20x the traffic as the low-level forums. As a teacher though, I'm guessing you could guide the students to write their own X where X requires math. Maybe have them write some simple signed distance field fragment shader. Or maybe have them draw some simple 3D without a library. Lots of simple 2D examples like simulate random particles with gravity or even a simple 2d platformer jump cycle (not sure that's really math)
n
Thanks for pointing that out. That's an important nuance that I totally missed to address. I can imagine this might be a common misunderstanding. Some parent somewhere is probably like "They told me programming makes you better in math but my child has been programming HTML for months and is no better in maths than before". Or at the extreme, a school administrator could be like "We put tablets in every classroom and our students have not gotten any better in maths". Since "programming" includes such a wide range of activity, most doesn't require any math indeed. I was thinking of specific activities like logo or game development that apply mathematical concepts and therefore might motivate the student to learn about them in school. A simple 2D platformer certainly uses tons of math like coordinate systems, number comparison, physics simulation, and random numbers. The important thing is that it's something that personally interests the student and is relevant to them. That's why I love games or other simulations. But there are probably also students who find 3D graphic and shaders deeply interesting. But in any case, relevance and motivation must come first.
g
I agree if the student is motivated they'll learn it. But take for example assembly language. How many programmers have written any? I feel like most programmers start with a high level language and may never actually get down to assembly language. There are tens of thousands of LAMP stack programmers or rails programmers or django programmers or Java/C#/Kotlin/Swift programmers that just use the libraries given. I think that's fine. Those people are super productive. A taxi driver doesn't need to know how to fix cars and a Rails programmer doesn't need assembly. I feel like games and 3D is going the same direction. More often than not a student can download Unity/Unreal, put some characters in. They don't have to do collision math the system provides it. They don't have to do any math to make one character target another the system provides a solution. They don't have to do path finding that's provided. Give a character a destination and the system will move them to it avoiding obstacles. They don't have to do physics, it's also provided as well. I'm not sure what my point is, except that maybe in some way trying to teach how to draw 3D graphics or do physics with code is like trying to teach people how to knit cloth. It's nice to know but no longer a useful skill since machines spit out textiles for us now and similarly 3d engines and game engines handle all the math. In any case I'm not trying to discourage anyone from learning 3D and I've written a bunch of articles teaching it. I'm just mostly wondering out loud if those skills are becoming more like learning to knit cloth or learning to grind a lens whereas the world has moved on to using machine made textiles and buying cameras. I still think students, especially younger ones could find writing their own 3D renderer and learning the math involved super interesting.
👍 1