DEV Community

Reece Coombes
Reece Coombes

Posted on

Should programming be taught in schools?

Should programming, logic & algorithms be taught in schools? If so, from what age?

What do you think? Would this be an unnecessary move or would it help train the next generation of programmers? Share your thoughts in the comments!

Top comments (9)

Collapse
 
reece_coombes profile image
Reece Coombes

Personally, I think the topic should be taught from age 6/7. It can start with simple things like algorithms for mundane tasks (e.g. writing in a book, walking to the playground), but could progress as students get older.

Ideally, I think all students should be familiar with sequential programming in a language like Python by the age of 12, and should be familiar with basic logical thinking.

As they go through secondary/high school, they should learn about data structures and efficiency, and computational thinking should be embedded in the curriculum for maths, business, ethics and many other subjects.

More and more jobs are looking for proficiency with computers, and there is a major shortage of programmers all around the world. Schools have been behind the trend for decades, and it's time they caught up!

Collapse
 
dexterbt1 profile image
Dexter Tad-y

A long time ago, it was in early to mid 90s where i learned DOS and some DOS apps (was fortunate to a private computer school setup by my uncle!)
1995 - freshman high school, where the Philippines have 4years of HS it (not yet K-12 at that time). Our first year computer subject was Basic! Not DOS/wordstar/etc but a real programming class.
1995-96 school teaches productivity DOS apps, nothing to see here moving along
1997-1998 3rd year HS introduces Logic, whole year of logic/algorithms/data structures and Pascal.
1998-1999 4th year, more Pascal and advanced topics (very CS-like).

The subjects being taught produced many who really can code and some of the smartest programmers in our community. Most later took CS degrees and went to become professionals (myself included).

Alas, the program though changed over the years (less coding, more productivity). We were in a unique era and situation. Our school was a special high school program within the top university of the country. Such program though was a success, as I was product of it. Such were the learning constraints back in a poor country and school: coding was taught in blackboards and paper, limited books, no internet, no PCs at home, computer access was only at school and for a limited time a few hours a week. Very interesting times.

Collapse
 
reece_coombes profile image
Reece Coombes

That's really interesting! So when you went to school, you were taught really theoretical computer science subjects, and clearly that was a massive success!

In the UK, I know languages like Basic have been taught in schools (Basic was taught in the early 80s), but generally, there has been very little effort to introduce programming into the curriculum.

Of course, we are now trying to catch up with the demand, but with teachers who've never touched code before, and authorities who just don't have the industry insight, I think it's going to be very long time before programming is taught to the standard it should be here.

I should add that I'm not blaming the teachers or anyone in particular for this problem - I think the teachers are trying their absolute best to teach this to students but without the right training it'll just be too much of a challenge for them.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

I think formal logic should be a much bigger part of primary education than it is in many parts of the world. Programming is a way this could be done that's likely to provide good engagement with the students, but I think the focus should be on the logic and mathematics and not the programming itself. The logic and math are going to be useful to most students regardless of what field they go into, but the programming will not necessarily.

Collapse
 
reece_coombes profile image
Reece Coombes

I agree. Logic (and also computational thinking) are fundamental skills that will go a long way in modern industry. Programming is obviously the most prominent application of these skills, but they can be applied to almost any job in any industry.

Collapse
 
jacoby profile image
Dave Jacoby

In the abstract, yes, teach programming in school. It's an application of logic, and that's useful in a lot of ways.

The problem, of course, is that they're not making days longer, so if you add this to the curriculum, what are you taking out? When computer labs started being put in in the 80s and 90s, it was often band rooms that were being taken out.

And then we need a curriculum that's useful not only for those going into technical fields, and that's not just programmers — my previous job was all about helping people in life science work with computing — but for people who don't plan to enter those fields.

Collapse
 
reece_coombes profile image
Reece Coombes

This is all very true. It's a hard balance to strike, but I think these topics need to be higher up the chain than they have been.

Perhaps incorporating logic into maths, and algorithms as a cross-curricular topic is the best way to do this.

On your last point, I think that's why you need more options for diversification in secondary education (12 years +), so you can learn the skills and ideas most important to you, whether you're technical, academic, creative or anything else.

Collapse
 
jacoby profile image
Dave Jacoby

I think I'm maybe 80% with you. I don't think that high-school students have an accurate view of what they'll do with their life – I know I didn't – and I don't think that high schools have the resources to diversify that much.

But I like it as a goal.

Collapse
 
dfockler profile image
Dan Fockler

Teaching little kids about algorithmic and systemic thinking is useful. It helps them understand the systematized world they are living in, removing some of the magic and hopefully empowering them to not just passively consume technology.

I see programming as an application of algorithmic thinking, it's an interesting topic for those interested but not really necessary to live a full life.