4 ms·
>Because the problems they solve can’t be that challenging, largely because the students won’t have the requisite problem solving skills. Now we hit the actual
by daenz 5y ago
>Because the problems they solve can’t be that challenging, largely because the students won’t have the requisite problem solving skills. Now we hit the actual problem – coding is useless without the ability to solve problems, and I don’t see anyone advocating for teaching problem solving skills (in any form).
The author seems to miss the point that "teaching coding" is "teaching problem solving" by proxy. Problem solving is not taught on its own, in a vacuum. There needs to be an adequate environment where feedback is quick, problems are manageable, and information is available. Appropriate coding exercises provide that environment. It's an excellent way to teach problem solving.
- paulryanrogers 5y agoIndeed. Problems are a great motivator. Circa 1990 I had to solve math problems to get the characters to respond in the school's edutainment games. A few years later I had to learn DOS and batch files to play computer games from ID and Origin Systems. Finding problems and interactive experiences that'll motivate students is the hardest part IMO. Perhaps that's why some resort to Minecraft.
- threatofrain 5y agoIf you're saying that programming is a sufficiently rich world of problem solving, then so too is math, but I've found it very motivationally important with kids to provide interesting applications to the knowledge which is covered by some curriculum. One can metaphorically sell to an adult that polynomials deserve study on their own and is internally applied all over mathematics, but IMO that is a very adult motivation and very few children buy that. What they do buy is that adults want it done and school says they have to. Children can also buy that math is important to STEM careers. What they might not buy is that math is sufficiently motivating by itself. I think there's a reason why coding programs in general have gravitated towards the narrative of "programming is cool because" you can (1) make apps, (2) make games, or (3) make websites.
- derekp7 5y agoOn the math side, the one thing that is supposed to make math real is story problems. And story problems seem to cause a lot of grief for a number of students (I know that virtually no one in my class liked or could do well on story problems). However without them I don't think I would have advanced as much in math studies, because they did have that effect on me of making the raw numbers actually mean something.
- zozbot234 5y ago> And story problems seem to cause a lot of grief for a number of students Story problems are very badly taught in the U.S. schooling system. Other educational approaches use them more sensibly as gradual motivation for complex reasoning about arithmetic, and eventually algebra. A good review article on the subject: Persson, Ulf and Toom, André: Word Problems in Russian Mathematical Education, available at http://toomandre.com/my-articles/swedish/ULFENG.PDF http://toomandre.com/my-articles/swedish/ULFENG.PDF (Word Problems in Russia and America http://toomandre.com/travel/sweden05/WP-SWEDEN-NEW.pdf http://toomandre.com/travel/sweden05/WP-SWEDEN-NEW.pdf a more detailed article on the same topic, may also be worth reading.)
- zozbot234 5y agoThe study of polynomials is motivating because it can solve an interesting class of practical problems in great generality. IME, most kids are sufficiently smart to grok that by the time the subject is introduced. This generalizes to the study of "abstract" math as a whole. Polynomials are a nice, "toy" example of mathematical abstraction, where the result is still, in some ways, concrete enough to be immediately accessible. It's sensible to expect that the same may be true of programming.
- omnicognate 5y agoBit of a tangent but the way polynomials are often introduced makes it difficult for kids to see why they matter so much. Polymials are usually taught as being the functions of the form f(x) = a_0 + a_1x + a_2x^2... a_nx^n, which can seem arbitrary. Why functions of that particular form? It becomes even less obvious when you talk about polynomials in multiple variables. But another way of putting it is that polynomials are the functions you can form from variables and constants using only the operations of addition and multiplication (a finite number of applications of them, that is, and including multiplication-by-self, i.e. exponentiation). Any such function can be expressed in the canonical polynomial form. If you put that way it's obvious how general and interesting polynomials are, and how the concept applies to multiple unknowns, not just one.
- shawnz 5y agoI would argue that programming is one such application which makes math interesting. I'm not sure they are really seperate worlds of problem solving at all.
- bryans 5y agoThe problem with relying on math for logic training, is that many (perhaps even most) students find mathematical concepts far too abstract and intangible to apply those lessons to other situations. Coding, on the other hand, is basically just English and is easy to conceptualize: if this happens, then do this. It's not necessary to know the abstract concepts of the low level environment to be able to apply the high level logic patterns to real life situations. I personally think this makes coding far more effective at leveling up problem solving skills.
- hiptobecubic 5y ago"Coding is basically just English" is something people only seem to say after they have been coding for years.
- bryans 5y agoI've almost exclusively experienced and heard of coding being taught as plain English concepts (even in countries where English is not the primary language), so it's not exactly some rare commentary made only by coding elitists. The reality is that programming languages have historically been designed as left-to-right sequences of nouns, verbs and adjectives, in a way that mimics the sentence organization of English. Certain words may be replaced with special characters, but it still reads the same.
- Tostino 5y agoI think that is a very reductionist view of the decisions that go into creating programming languages just to make your point.
- bryans 5y agoQuite an absurd misinterpretation of what I said. The only point I made was that the mimicry of spoken language is what gives context to allow us to learn problem solving more easily. Nobody is trying to go into the intricacies of how programming languages are developed, because that's not the point of the conversation. But thank you for acting like a classic HN elitist who thinks that pedantry for the sake of pedantry is more important than anything else in the world.
- erwincoumans 5y agoExactly. The author misses the point fiddling with a limited meaning of 'coding', while teaching kids to code obviously involves everything including motivation, play, solving the problem, breaking up a problem into manageable parts and coding. By the way, our kids follow Python 101 in Minecraft Educational Edition, and have some fun with it.
- Hermitian909 5y ago> Problem solving is not taught on its own, in a vacuum. Interestingly the idea that you can teach "problem solving" as a unique skill is, last I checked, not supported by the education literature. There is a great deal of evidence that you can teach concrete skills that may be widely applicable, such as how to form or identify a syllogism, but there's no evidence this translates into some greater "problem solving ability" except insofar as as the skills you are taught make more problems tractable.
- hiptobecubic 5y agoIf the problem is that kids are stupid and inexperienced and don't know anything yet, then you can replace "coding" with almost any activity and all the rest of it still fits perfectly. - Math - Any kind of experimental science - Art - Music - Dance - the list goes on basically forever