- Nawaf Alnaji
- Qatif
- Saudi Arabia
This conversation is closed. Start a new conversation
or join one »
Should we teach kids how to make programs instead of how to use them?
For the last two decades, most developed countries have implemented computer literacy education in schools. For students born in the 80s or even the early 90s, this was really important. However, students now no longer need this. They are already computer fluent. They are, as some people say, digital natives. Give them any program and they'll be able to teach themselves to do simple--to-moderate tasks without anyone teaching them in a short while.
Most schools teach students how to first use word processors, presentation programs, and spreadsheets. This is no longer needed for two reasons: 1) students are computer fluent, and 2) programs are getting more user friendly every day. Students don't need to be taught to use the programs they normally use. They should, however, be taught how to use the programs they will later need in life like spreadsheets and databases.
Instead, I think they should be taught programming. Although many schools around the school already teach programming, they teach it usually in highschool or junior high; if they teach it in elementary school, they usually teach a simplified "kids" language which uses drag-and-drop blocks. I think students should start learning programming languages like visual basic and Java in 5th or 6th grade. The first country that does this will have a huge IT revolution.
Kids are creative. Teaching them programming will be giving them the ability to direct this creativity and keep it.
So what do you think?
Written by a 16 year old.













PRASHANT ....
Moreover it is necessary to learn using the presently available programs and softwares for making new ones because not all people (lets take an example here) know the meaning of the function of the commands include or include of C programming software or the meaning and functions of the commands DPTR, CJNE of microcontrollers or the meaning of commands of 'N' no. of other such programs and softwares and for developing sometihing new we need to know the advantages and disadvantages of presently available resources and that can be known only if you know how to use them "Efficiently"....
Nawaf Alnaji
vishnu narang
Nawaf Alnaji
Some programmers even made great programs back in the 80s, when there were much fewer programs and they were much less familiar with using computers.
vishnu narang
vishnu narang
instead teaching them how to use programs would be useful...more the number of programs they know how to use the better....this way when they start to write the program they'll have the working of the program in their minds...
they need to know what they are programming before writing the program...so programming should be taught in high school or junior high...you may increase the use of programs at elementary...
Nawaf Alnaji
Sincerely, a kid himself.
Tony Kuphaldt 10+
This extracurricular activity-turned-hobby was instrumental in teaching me practical mathematics, diagnostic problem-solving, self-discipline in maintaining backup records, fine attention to detail, and other really useful skills/habits. It made math come alive for me (and still does!).
Your proposal is something I've thought of many times as an educator, wondering how well it would be received at the elementary school level. One potential barrier is that creating your own programs from scratch necessarily means you must begin with extremely simple (read: boring) programs, which pale in comparison to commercial software that kids are now accustomed to. Back in 1979, it was all new to us, and so even a simple "Hello World" program was exciting!
To make it really work, I think you'd need a programming language that provides a lot of power to do nifty things without a steep learning curve, yet is not so high-level that it shields the student from understanding the underlying computing principles. Python is one language that comes to mind . . .
Nawaf Alnaji
Nathan Austin
Nawaf Alnaji
Ravi Jadhav
Bryan Gilbert
Nawaf Alnaji
One of the most important benefits to teaching kids programming is that the future general public will become makers instead of users. If everyone can make programs, imagine how that will change the world of computers and the internet, which will of course change our lives.
Bryan Gilbert
Nawaf Alnaji
As for liking programming, I'd say that even though some may not like programming, those who will like it are more than you think. Many, if not most people don't program because they've never tried it in the first place. And besides, some students don't like chemistry or art or biology or whatever, but they still have to take it.
You really need to read the study I posted earlier: http://www.stagecast.com/pdf/research/Lin_NECC2005_Paper_RP.pdf
A study was made on a bunch of 5th-7th graders where they were taught programming. Here's what the parents said:
‧ Forty-eight parents (87.3% of the respondents) noticed that their children looked forward to going to the programming class every morning.
‧ Fifty parents (90.9%) reported that their children spent more than an hour everyday working on programming assignments at home. Some students, according to their parents, even spent the entire afternoon and evening trying to add as many sophisticated features to their programs.
‧ Forty parents (72.7%) reported that their children had mentioned that they wished to learn more about programming in the future.
So I guess your saying that programming will become unimportant might not be true. Sure, not everyone will become programmers, but I think at least a quarter of those kids will become so.
Bryan Gilbert
"And besides, some students don't like chemistry or art or biology or whatever, but they still have to take it."
That kind of proves my point. They made chemistry and biology part of the curriculum, but it did not create a huge revolutionary change to where everyone becomes a scientist. I do believe though that some(limited) amount of change will definitely occur if the study of applications is replaced by programming.
Nawaf Alnaji
And besides, a programmer doesn't have to work as a programmer or major in IT or computer science or anything like that. A programmer is simply a person who likes to program.
Bryan Gilbert
Suresh Nandrekar
You have creative mind and Good analytical skills.
My opinion on this would be-
The main purpose of primary and secondary education is to teach the children, the Fundamental Human Qualities like Love, Humanity, Respecting elders, following the way of Truth, importance of Society, History of the his/her Country and the world, Basics of science, to play and may such things.
Programming would be a professional skill and should be taught in college years. If some one wants to become a Singer, Doctor, Sports man, or any one except a programmer, why should he/she learn programming in school days?
However, every one needs to know how to use Computers and handle applications. SO they are taught Basic computers in school. I would say, your point is not valid but definitely out of the box!!!
Nawaf Alnaji
Let's take a nearer example: computer classes. Why does a school choose a certain program to teach to students? Because they think it's essential if not for their daily lives, for their careers.
The way I see it, a "basic of science" and "essential general knowledge" are a matter of opinion. If students are taught programming from an early age, we will have a revolution. I see programming as a "basic of science" because we interact with programs every single day of our lives. And for us born in the 90s and 21st cenury, we've been doing so since we were born. Isn't it the time to make the transfer from users to makers? Can you imagine the number of great ideas for software that would come out of a mind raised on software? Isn't it a shame for all those ideas to never come true when they can be made easily by a programmer.
You see programming as a professional skill. This should be changed completely. We shouldn't treat as a skill better left for professionals, especially when some of the greatest programs and websites were made by enthusiasts.
Steven Dilloway
However, from what I have understood, I agree.
Debra Smith 200+
I am not terribly knowledgeable in this field but as I have lived through several computer eras my question would be this. Can we be sure that what we teach these kids today will be the viable and relevant computer language down the road?
If I had insisted all of my children learned Dos I am not sure it would have been worth the time and effort that it took to learn it and if I consider all that the time to learn it might have misplaced in other learning I decide that it really wouldn't have been worth it.
I look forward to reading your answer to my question.
Nawaf Alnaji
I'd first like to note that DOS is not a programming language. DOS is an operating system that uses a set of typed commands. These commands are very different from programming languages.
If a person learns a programming language, it is much easier to learn other programming languages, since most languages share basic concepts and many share syntax. New programming languages are made by those who know how to program using the old programming languages, so naturally, they won't differ to an extent that it will be hard for a programmer to learn.
And besides,I don't think most popular programming languages get replaced fast. C started in the 70s and it's still used today; and many widely used languages use much of its syntax (like C++, which started as an enhancement to C, and Java).
Debra Smith 200+
Whether you are 16 or 80, I hope that you will always feel welcomed and that your opinion is valued here on TED conversations. I enjoyed your response to me and I appreciate the clarification. In a previous post on another topic I suggested that all kids should learn more than one language and I included computer languages among them because not everyone is interested in linguistics.
If you believe that these languages will continue to be useful to the students who study them for some long time to come, I can fully support your idea. Thank you for educating me.
Bill Harrison 10+
http://en.wikipedia.org/wiki/Free_software
Free in this context means that people are free to take apart, study, and modify software that they have purchased. This is not allowed by US copyright law in many cases, although this is completely ridiculous.
Imagine if you purchased a car, but the government prohibited you from painting it a different color, or from changing the tires to a brand that works better. Suppose you improved the car significantly, so it is now safer, faster, and more aesthetically pleasing.
Now, suppose you had a machine that could instantly recreate a copy of this new car for every other person on the planet, for free. However, the government prohibits you from both improving the software and using this machine, so people have to continue using the expensive and poorly-designed original car.
Should the government be allowed to do that? For the Free Software movement, the answer is a resounding "NO," because it uses the government as a vehicle to enrich the original producer through artificial scarcity at an enormous cost to humanity. The government should be doing the opposite - promoting the good of the many, not the few.
If you think people would not create extremely high quality software for free, A) you are completely wrong, B) you should watch Dan Pink's TED talk on what actually motivates people, and C) you should think about the Wikipedia model, which produces higher quality articles than Britannica at lower cost.
A culture in which kids are free to modify, learn from, and share software/knowledge would help people understand that software can be recreated for everyone at zero marginal cost - this would help us move away from forcing people to enrich themselves through artificial scarcity.
http://www.ted.com/conversations/5936/are_capitalism_and_education_f.html
http://www.ted.com/conversations/5989/money_doesn_t_exist_not_reall.html
Nawaf Alnaji
Let's look at the state of open source software now, specifically the third most common operating system, Linux. Since Linux began in 1991, hundreds of different versions were made. Now, versions of Linux or operating systems based on the Linux kernel run PCs (Ubuntu, GNOME, and many others), servers, smartphones (android is based on a Linux kernel), and has even became the most used OS on supercomputers (92% of supercomputers use Linux).
Here are some points on the PC versions along with Android:
-They are free.
-Anyone can legally modify them, and many do.
-There are many websites where people share their own mods or versions of it.
So, you see, this already exists. The problem is that most people who use these count on those who know how to program and modify. This will change if most people know how to program. People will stop counting on software companies to make things suit for them, and instead will make things suit for them themselves. This, I believe, will change the IT world, which will of course change our lives.
Salim Solaiman 50+
Only thing should be done is facilitating their learning process following their course of interest and curiosity. At best we can try to make them curious about with out killing thier natural interst.
Nawaf Alnaji
Salim Solaiman 50+
My post was in response to your main premise which itself starts with "Should we teach..........." that gives an impression of ignoring kids curiosity /interest which already happening......why need to burden kids more with another SHOULD or MUST from our side while schools are already doing enogh to burden them ?
Gisela McKay 30+
Nawaf Alnaji
Gisela McKay 30+
As long as the teachers cannot use the programs proficiently, the students won't get the depth of knowledge either - except for that small segment who explore beyond basic functionality out of internal drive and curiosity.
I say this as someone who does program and who studied logic (formal languages) out of a fascination with them. Not everyone has the interest or the inclination - and to force them would be as wrong as not allowing someone who does have the inclination to explore it.
Nawaf Alnaji
You're not looking at the bigger picture. If an entire generation knows how to program, and they are using programs every day since childhood, imagine what would that cause. It'll be a revolution. Look at the thousands of programmers now who are programming for free from their homes. Just look at the mod and white hat hacker communities, from Linux to Android to Kinect to practically anything that uses code. The things done by those communities are already amazing. Now imagine the possibilities when thousands of teens join in.
As for interest and inclination, they already teach programming to all students in some high schools. All I'm asking is that they teach it more and at an earlier age. And I actually think many who believe they don't like it have never tried it. Look at the statistic I put in my other comment. There are more kids that would like programming than we think.
anthony bruni 30+
http://www.youtube.com/watch?v=imV3pPIUy1k
Zdenek Smith 100+
For younger kids we don't necessary need to teach them Java but we can start with simple programming languages such as
Scratch (http://scratch.mit.edu/)
and other languages: http://en.wikipedia.org/wiki/List_of_educational_programming_languages#Children
Java can come later on?
cheers
Nawaf Alnaji
Thank you for bringing up Scratch since that's exactly the language I was thinking of. It's a simplified kids language which uses drag-and-drop blocks. Many adults seem to think that kids will not be able to easily comprehend or will get bored with using more complex languages, so they go to simplified languages designed for kids like Scratch, Alice, Lego Mindstorms (which I've used myself), and Phrogram.
The thing is, they can. 5th and 6th graders have the ability to program in more advanced programs like Visual Basic. Non-programmers might see all the code and think it's hard, but it isn't. Here's a study done in Tibet about this subject: http://www.stagecast.com/pdf/research/Lin_NECC2005_Paper_RP.pdf
Let me sum it up: a study was made on 5th-7th graders (mostly 6th graders) where they were taught three programming languages: Stagecast Creator (No code typing required), HANDS (the code uses English-like statements) and Visual Basic.
Here are some results:
-When asked about how much they liked each programming package immediately after they learned it, the students gave 4.18 (out of 5) to both Stagecast Creator and Visual Basic, whereas HANDS received a rating of 3.52.
-After the students have learned all three programming packages, they were asked to pick their favorite programming package. Forty-one students (56.9%) went for Visual Basic, 26 students (36.1%) chose Stagecast Creator, and the remaining 5 students (6.8%) went for HANDS.
-Forty-eight parents (87.3% of the respondents) noticed that their children looked forward to going to the programming class every morning.
HANDS and Stagecast Creator are two examples of a simplified kids language. According to this study, kids prefer the more professional language (Visual Basic).
If simplified kids languages are taught, I think they should teach them in 3rd-4th grade.
Zdenek Smith 100+
I plan to teach my daughter programming languages soon and let her experiment with robots. If school can afford it, robots are a great way to let students work in teams to try some real world tasks.
Cheers