Social Question

LostInParadise's avatar

Should computer programming be taught in public school?

Asked by LostInParadise (31912points) July 30th, 2012

I work as a programmer, so I may be somewhat biased. I think that computers have such a strong impact on our lives that people should have some knowledge of how programs work. Additionally, they teach use of logic and can be incorporated in a math class.

The program language of choice for teaching programming used to be Basic, when it was still an interpreted language. For those unfamiliar with programming, an interpreted language means that all you have to do is type a command on the console and it will run as soon as you hit the carriage return. Basic is no longer so basic, but the Python language is interpreted and has been gaining in popularity. It makes an ideal language to introduce students to programming.

Observing members: 0 Composing members: 0

18 Answers

athenasgriffin's avatar

Yes, I think so. I have no idea how computers work, and I really, really wish I did. People like me are interested in it, but teenagers who have no background in it would be unlikely to choose it as a major just randomly due to fear of the unknown. If we had some sort of knowledge base, then we’d be less intimidated by technology.

But at the same time, every time I learn something about computers I feel this need to “explore” and always end up breaking things. I have a feeling that schools half don’t want to teach kids how to mess with computers so they still have a few functioning computers, haha.

tom_g's avatar

Yes. I’m also a software developer/engineer/programmer. Even in non-software parts of my life, I find myself approaching things as a developer – breaking things into manageable parts, etc. And now that the computers and the internet are not longer just for geeks, it would be nice for kids to get the basics of how software is built. It might also encourage kids to feel that they don’t have to just sit around for people to build software that works for them – they can build tools to solve problems.

Aethelflaed's avatar

It was taught at my high school. Have they done away with it or something?

The problem with “they have such a strong impact on our lives” is that that’s really true of a lot of things. Like plumbing, like car mechanics, like construction, like first aid… Apart from how much time we’d have to spend teaching everyone the basics of all the big, everyday things in our lives, you’d end up taking away the bread and butter from a lot of good, working people.

I’d rather start them off with HTML. Being able to do basic stuff online is more immediately useful to most people than Python, considering what kids are going to learn in one semester of one senior-level class in a public school.

LostInParadise's avatar

I would not be opposed to a required class that taught the basics of car mechanics, home repair, cooking and tailoring.

poisonedantidote's avatar

I’m not sure, it could end up being a big waste of time depending how it is done. There would not be much point in teaching a kid how to do it, just because most of what they learn would be obcelete by the time they reach working age.

I’d go with teaching them the general rules of code and logic, tell them about functions, classes, variables and all that stuff, but refrain from trying to teach them a specific language yet.

LostInParadise's avatar

I don’t think the abstract terms mean much without seeing an example. The thing about Python is that it is very bare bones. It makes it easier to show by example than to explain.The standard Hello World program is a single line: print(“Hello, world!”). It could not be much simpler. One thing that threw me initially was that the language makes use of indenting rather than delimiters for loops and if statements, but I think that for someone just starting out, that would be more natural.

wundayatta's avatar

As far as I know it is being taught, and has been taught for decades. Are you suggesting they should stop? If so, why?

JLeslie's avatar

It was taught at mine, and I was at the very beginning of personal computers, I am 44 years old. It was very basic type stuff. I don’t think it was an entire course back then, it was part of another class. I am shocked it isn’t offered in high schools, I would assume it is offered as an elective.

LostInParadise's avatar

@wundayatta , I did not realize that it is being taught. What language is being used? What kinds of programs do the students write?

Sunny2's avatar

It should definitely be available as an elective in high school or even jr. high. Requiring it of every student? I’m not so sure.

phaedryx's avatar

I had a mandatory computer science class in middle school. We learned touch typing and BASIC on apple II computers. I also took an elective programming class in high school. So, I’d also answer that it already is.

wundayatta's avatar

@LostInParadise Back in the 70s, people were using Fortran, I believe. I’m sure it has changed since then. There are classes in all different kinds of languages. It probably depends on the school. I’m not in school now, so I don’t know what they are doing today.

jerv's avatar

I feel that it should. I may have forgotten the syntax of BASIC and HyperTalk, but the knowledge of orderly thinking and conditional branches has helped me even in non-computer parts of my life.

funkdaddy's avatar

I remember learning Basic in junior high and we had a pretty good class in Pascal when I was in high school. It was more involved than the first programming classes I took in college.

I have a nephew in high school right now and they had to make a simple game using Flash and Actionscript. Probably not as programming intensive but it got him interested in what was possible.

Everyone has their favorite language and type of programming they’d like to see, but as long as kids get a chance to create something themselves that they’re (hopefully) proud of it lights that spark.

jerv's avatar

@funkdaddy That was my initial draw to HyperTalk, and why I like HyperNext. BASIC never interested me, and higher-level languages like C and Pascal held even less interest even though I knew what they could do, but HyperTalk interested me as it allowed me to actually build stuff like AD&D character generators and such far more easily than any other language available at the time.

It’s not enough to let kids know that if they learn to program, they might get good enough to do something like code the next version of Halo. No, the key is to make it accessible. Show them what programming can do, and then set them up with something that they can learn in a couple of weeks instead of a couple of decades. Few people, especially kids, like studying for a long time to figure out just one small piece of a large puzzle, but they are interested in making stuff. Give them a chance to make simple stuff quickly and that may get them interested in doing more, which means they will learn more, and enjoy themselves while doing so.

phaedryx's avatar

@jerv hypercard/hypertalk was what I learned in high school; it was powerful and easy to approach. I’ll have to check out Hypernext.

mattbrowne's avatar

As an option from 10th grade on. Programming based on solid computer science knowledge.

We should teach everyone how to use computers in an advanced way.

mazingerz88's avatar

Definitely, yes. I need my neighbor’s kid to write codes for me for practically nothing! : )

Answer this question

Login

or

Join

to answer.
Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
or
Knowledge Networking @ Fluther