Teaching students to code

I assume that many (most?) people in this community are self-taught when it comes to programming (cf this topic). We

  1. wanted to learn to code, usually badly enough to overcome various obstacles (hardware and learning material was much harder to access in the 1980–1990s and even later, compared to today),
  2. ended up liking it (otherwise we would not be using Julia, or any programming language),
  3. acquired a lot of relevant additional skills during the process (learning something on your own is always educational, even counting the rabbit holes and the difficulties you encounter).

Reflecting on this, I realized that I do not really have a good mental model for why someone would not want to code if they are otherwise interested in STEM, and if they want to, what prevents them from doing so. It is easier than ever if you have access to a computer and the internet.

The exception may be children from disadvantaged socio-economic backgrounds who may not be aware of the possibility. I think that the best approach is to address that, with programs like

7 Likes

You raise a really good point, and I agree with a lot of it, but I think awareness of the possibility and/or lack thereof extends far beyond socioeconomically disadvantaged kids. At least in my own case (you may be different), I received huge but implicit benefit from being raised in a family that was highly educated and who conveyed a “can-do” sense about learning; if I asked enough questions my parents didn’t know the answer to, I could pretty much predict that a trip to the library would be on the agenda soon. Enough experiences of being turned loose in the stacks and told “here’s how you figure things like this out, now go do it” and the message sticks and starts generalizing to other things. We were not financially rich, but I have no doubt that when it comes to inheriting an adventurous intellectual spirit I was lucky to be born with a silver spoon in my mouth. Professors tend to breed professors, and genetics & raw talent explains only a small part of that.

For that reason, my sense is that things like realizing that it’s even possible to self-teach programming—independent of that person’s potential for doing it successfully—may be distributed very unequally across the population.

16 Likes

That a nice summary. I have say that me experiences are similar to those of Tamas.

I work at an applied research institution and we have a lot of students, mostly studying chemical, biological, medical, environmental engineering, with an occasional chemist, physicist or mechanical engineer. At least some of them are indeed interested in STE (but likely not M). Mostly they had some kind of CS in their curricula.

They do experimental work, they do some processing of data using Excel, Origin, sometimes ImageJ and other tools. Some tasks could be probably made less time consuming by investing (probably more) time into writing scripts. I would - just because it’s more fun than doilng repetitive tasks. They mostly wouldn’t.

In many cases the systems under research/development are so complicated that no reasonable modelling is possible. Where it is possible, it would make rather sense to use a serious commercial package like COMSOL than to start from scratch.

It appears to me that nowadays in many STE fields one doesn’t really need any serious coding (and mathematical) skills - you got powerful tools ready to use, you don’t have to build them yourself.

Maybe it is only implicit in the context (see the opening post of the topic), but I was talking about primary- or secondary-school students. I think that at that age, interest is not that narrowly focused and learning a bit about various things, even if they are not directly practical or applicable, is more important than being productive (as in a day job).

Yes, at least where I currently live (Western Europe).

No, at least not in high schools.

I wish the high school students would learn (again) to read and write comprehensively, understand basic mathematics and structure, and learn to appreciate literature and the natural and cultural world that surrounds them. Also, I wish for them to get their heads out of their screens and get some fresh air from time to time.

3 Likes

You spoke about self-motivation to learn coding. If a kid is interested in technics and build robots - surely that’s a motivation to learn coding. If he is interested in explosions - that’s motivation to learn chemistry, but not coding. Similarly an interest in pets may lead to learning about genetics and DNA, but not coding. That is not qualitatively different from university students.

As for what is important: Any learning, any skill is useful in some broad sense, even if afterwards never applied directly in the real life, be it musical theory, ancient Greek or Euclidian geometry.

P.S. “He” instead of “(s)he”, “them” etc. is intended.