According to research, if people are to develop abstract reasoning capabilities (Formal Operations and Post-Formal) they need the proper exposure at age 7 to 12 - generally speaking. Adults that were not exposed properly at the right time do not progress past Concrete Operations well, or at all. Thus, it is difficult or impossible for them to become programmers later on, or to go in to other fields requiring abstract reasoning capability.

If we accept that this is true, then we must provide the correct training at age 7 to 12 and beyond, if we want to have people who are capable of performing in these sorts of ways, because later on is too late for them to acquire those capabilities. We can't wait for them to reach the age of majority and then say, "I want to become a programmer", because if they didn't have the right sort of background preparation, they cannot. We have deprived them of the ability to make that choice for themselves.

But, if we push the students in to this sort of schooling before they can decide for themselves, then they also are not acting with free will in that case either.

The first case prevents them from choosing something, the second allows them to choose it, but only because we made other choices for them. Studying one thing tends to mean not studying other things, as there are only 24 hours in a day. Successful Gymnasts and Musicians usually start as soon as they can walk, or reach the instrument. Successful programmers will need some exposure to thought processes that they need, early on.

How can we balance the objectives of allowing people choice, enabling them to choose by preparing them properly, providing the economy with prepared workers and supporting values like freedom of choice? It seems to me that some decisions are forced, and the timing of education is one of them. We get to choose, but we don't get to choose the choices we are presented with. So we have to make wise choices on behalf of (lots of) others, often without being able to obtain their consent, perhaps because they are too young to give it.


closed as too broad by Gypsy Spellweaver, ItamarG3, thesecretmaster Mar 15 '18 at 17:31


  • 4
    $\begingroup$ Welcome to CSEducators. Can you provide a reference to the research you note at the start? $\endgroup$ – Buffy Mar 13 '18 at 19:37
  • 1
    $\begingroup$ I don't "accept this as true" at all, and I've never seen anything to indicate as such. However, I love being proved wrong. Can you back that assertion up? $\endgroup$ – Ben I. Mar 13 '18 at 20:10
  • 1
    $\begingroup$ I'm with @BenI. I don't believe "they cannot". I've seen it happen too many times in my classroom - a high school student struggles and struggles to learn programming. They don't come naturally to it. It takes them three times as long to do projects. They have to be told/shown correct syntax over and over. They have no logic skills. But they work hard. They stay at lunch. They stay after school. They WANT to be a programmer. And they eventually, slowly, become one. I, too, would like to see the research you note - what does Formal Operations mean to a 7 year old? $\endgroup$ – Java Jive Mar 13 '18 at 20:47
  • $\begingroup$ I also don't agree with “too late”, but may be it is easier if you start young. It is not true that, the opposite of easier is impossible. $\endgroup$ – ctrl-alt-delor Mar 13 '18 at 23:14
  • 2
    $\begingroup$ I've downvoted because this question 1) doesn't seem specific to Computer Science education, 2) is not a good fit for our Q&A system, as it seems more like a prompt for discussion than an question, and 3) is not "based on actual problems that you face" (or if it is, please give more context to your specific problem). $\endgroup$ – thesecretmaster Mar 14 '18 at 0:48

I think that the assumption of the question is overly deterministic. I am also pretty sure that I'm a living counter-example, though my case won't prove much. I was a terrible student into about 10th grade (say age 15), especially in math. My teachers once wanted to hold me back because I hadn't learned my multiplication tables. A plane-geometry class was my first positive educational experience of any kind. A bit later, a writing course appealed to me. Up until that time, I would rather have been anywhere but in school.

I was also told once, in high school, that, based on a standardized test, I probably wouldn't be successful in College and so should set my sights lower.

I later earned a PhD in Mathematics.

But there were no jobs for mathematicians at that time so I taught myself programming, with plenty of halts and stumbles. Then some deeper Computer Science. Still later I was lucky to have been mentored by some of the CS superstars in education.

But my early history would predict none of that, nor were my teachers particularly enlightened when I was young.

I worry about the question from another standpoint also. I don't think many individual teachers have much power over the overall curriculum. Groups and associations can make a difference, however, but this site doesn't really help with that sort of question.

However, if you are a teacher, you must not have a defeatist or deterministic attitude about your students: they can't learn so why bother. Every student in front of you, given some desire, can learn. You have to be there to help them. You may even need to teach them how to learn in general, since their background may be like mine was. I eventually got desire, and the rest followed. Your job as a teacher is to educate them no matter what their background, be it advantaged or disadvantaged. The prime directive.

  • $\begingroup$ Beware the Self-fulfilling Prophecy. $\endgroup$ – Gypsy Spellweaver Mar 13 '18 at 23:24
  • $\begingroup$ Pondering this one. Obviously in individual cases people overcome adversity and become great at things. But those cases are not the general template of education, and the plural of Anecdote is not Employment. the way I deal with this is to simply see every student as an individual, and every case as if it was the first time I had ever encountered it. I do not know how to generalize education, perhaps from inadequate training. But I have lots of patience. $\endgroup$ – Scott Rowe Jul 10 '18 at 16:48

So let us assume that it is better to start young. (I will not agree that it is the only way. I will also not agree that exposure to computers is the best way at this age, but that learning the ways of thinking is of benefit.)

On freewill

If you have freewill then jump vertically up 20ft. Or what about other things that we can do, but don't because of societal pressures. Like take of your clothes, and go out side, go for a walk.

On teacher choice and displacing other learning.

Would learning abstract reasoning be a waste if the pupil was not to became a programmer?

Did you learn punctuation, grammar, poetry etc. How many of your class mates went on to be professional authors. So why did you bother? Was it a waste of time?

Nor is learning abstract reasoning, and other computational thinking skills. They are useful in their own right. They may find it useful for something else.

Also I can not remember the study, but learning these skills can help with other studies. (I think there is something on this in “Mindstorms” — papert 1980).

  • $\begingroup$ Students are all individuals but education seems to be a collective effort. Not sure how to resolve that, except to teach individually. $\endgroup$ – Scott Rowe Jul 10 '18 at 16:51
