Want To Get Kids Interested In Programming? Teach Them Computer History
An anonymous reader writes "With poor IT teaching putting kids off pursuing a career in the computing it is time to look for a new approach. Taking kids back to the time of computing pioneers like John Von Neumann and the first machines — the likes of the Z3, the Eniac and the Colossus — would both inspire them and help get over the fundamentals about how computers work, argues silicon.com."
...with PowerPoint.
>:(
Mix legos with programming and there should be no problem getting young children to learn.
Because there's nothing more that kids love more than history lessons. Seriously, most kids have access to a computer these days. Those with the interest and aptitude will find themselves in the industry or academia, more likely through gaming than through history.
Being part of the generation Z, sometimes I still wonder how people survived with less than one megabyte of memory, no tabs (no Internet!)... Depressing!
Given the opportunity to teach Informatics to Diagnostic Radiology Imaging students, almost all in their 20s, I decided to start with a first lesson about history of computing, and I started from the ancient times when the most sophistcated calculator was the abacus. Guess what? Almost all of them listening, interested about something that's not really about their business.
This is what I was taught, I wanted to stab my teacher. I just wanted to make games. History of gaming, maybe, history of computing...zzzz
The best way of getting people interested in anything is to teach them history. Really. Marketers even use that "feature" of our species to sell, you just look for marketing advice and you'll see how many advice you to tell your history. People are interested on history (fake or real), and that is one of the few things that nearly everybody likes.
Now, you probably thinking about boring classes you had at school... If they were boring, they probably didn't consist of much history, but of fact memorization. Probably even disconnected facts. Yeah, that sucks, but don't assume connected facts are as boring as those.
Rethinking email
I have several certifications. CCNA, Security+, Network+, A+, CIW E-Commerce Design, several others.
I can't even find an entry level job in a call center and I live in Dallas.
I switched my major, one year from a degree in Enterprise Development using .NET to Pharmacy because it was easier to get a job as a pharmacy technician and the pay is better than an entry level IT job. The job market is flooded in IT.
Just saying, teach kids how to count pills, at some point they'll teach themselves, anyway.
I plan to DISCOURAGE my kids from a career in IT. If I could do it over, I would have never done this. It's not fun anymore, it's corporate ran, innovation is disallowed and the 1-800 number to call customer support is far more important that easily disposable employees. Up until around 2001, having of crew of guys to build the network, code, admin support is now down to the bare minimum to call support. I'll teach my kids IT in general, but I won't encourage it as career choice.
We need to stop this belief that people have, that computers are appliances. They're not, and it's this thinking that's putting the younger generations off of learning how machines work.
In today's world, a computer is seen as an appliance /are/ single use appliances
and I admit, I'm not too interested in how the programmable software portion of my washing machine or car's climate control system operates
They
Lack of knowledge in these cases doesn't hinder me
But a computer is highly versatile and can be put to pretty much any task
Lack of knowledge here is hugely detrimental to what one is capable of achieving
Knowledge of computing needs to be seen as a core life-skill akin to basic maths or language skills
Lack of knowledge of either of those will put you at a disadvantage in almost any conceivable situation
Don't put the entire blame on schools and education
The hobbyist element is what's suffering most here, the desire to know
not the formal education side
Most people will not go into jobs where formal academic knowledge of computers is paramount /how/ to find out a solution to a common problem is essential to everybody
but the life-skill of knowing
It's Apple, and other companies trying to follow suit, that are largely responsible for the erosion of such curious tinkering
"The battery's non-replaceable. Don't worry, if it dies return it to us and we'll send you another device"
"You can only install programs we endorse. Don't worry, this is for your safety"
"That's the wrong way to do something. This is the way we do it, and it should be the way you do too"
"Don't ask questions. Just do what we tell you and it'll /just work/"
Can we bring back the days of the apprentice system? A parent would send their child to study under a master of a particular field. They would be able to skip all the textbooks and boring lectures and just learn the craft and get access to the secrets that only come from experience that you will not find in a textbook. Then with time, that child would become a master of their particular trade and would take on an apprentice, and the cycle would continue. I'd chose that over the college debt slave system anyday.
Most "kids" wont see the point when you start showing them tubes and relays. Perhaps as they get older they can appreciate it.. But for the average kid it will be snoozeville.
---- Booth was a patriot ----
CS does not give the right skills and tech schools miss out on the apprenticeships part.
Secondary schools have way to much filler and high level theory class.
It needs apprenticeships system to tech the on the job skills.
Also 4 years in school is to long for most IT jobs and some ongoing education is needed but collage sucks at that. Tech schools and community college are much better but HR does not see it that way.
Let's make something that is uncool, boring!
That'll draw those adhd bieber followers right in!
Btw, why are we concentrating on 3D for a group
of people that have hair covering one eye??
Sometimes both?
Face it... this is a new world, don't try to draw
someone in, to something they are not interested
in. The internet is a really good evolutionary tool.
People that seek knowledge will seek it, those
that have an interest in the computer fields, will
seek it.
Don't force the burger flippers to learn about tech...
do YOU want to flip your own burgers?
-AI
For me, it is far better to grasp the Universe as it really is than to persist in delusion
I swore that when I get ready to retire and settle down into a teaching position, I will not do what all of my programming teachers did before me, which was present a history of computers in chronological order.
Why? Its boring and irrelevant. It doesn't encourage or excite. It ends up being a waste of the first few classes and its redundant with other classes that do the same thing.
No, instead I will show them Zelda emulated on a microcontroller and a VGA screen, or the desgins of the components they are familiar with. Explain that one that magic/mystery about computing is gone, it allows them to make almost anything they want.
Though, I want to teach the next generation of computer engineers and scientists, not the IT monkeys. Carry on with your methods.
while(1) attack(People.Sandy);
The reason kids find it difficult to learn programming is because it is taught in a drab uninteresting manner.
Well at least there are no false expectations of fun for when (if) they get a job coding ..
---- Booth was a patriot ----
When I was a kid we had to learn the "history of computing" from the abacus to the first personal computers. We had to memorise the specifications of every IBM processor. Needless to say, it was as much fun as learning the phone book. If you want to get kids into programming teach them fucking programming! It was only when I knew a lot of things that I could appreciate what the pioneers did. History only becomes interesting once you know how stuff works, and you can actually understand what a certain development meant. The reason many schools prefer teaching history in computing classe is that they don't have a teacher who actually understands how computers work, and history can be taught by anyone.
Tell them that there is lots of money to be made and it doesn't take a lot of work. Point out the exceptions to that statement and ignore the truth. Once they are hooked on getting an easy life with little work, they will flock to it.
Sorry, this article presumes a falsehood.
What poor teaching in Comp Sci is going on where exactly?
The reason people are leaving IT is because the job opportunities aren't there. I'll say it- outsourcing and H1Bs in the US and similar measures in other countries. .
How long does it for word from the older brother / friend to the younger brother / friend that the career choices aren't there and they should major in something else?
How rampant is age discrimination in IT?
When the boom hit in 1990s , people poured into IT because of the job opportunities. If this thesis is to believed , it was because the teaching was somehow better back then and today it's gone downhill, so people are leaving.
Nice try. It's all about the economics of being a software engineer. The two things that have changed those economics are
1) oversupply of labor through the devices of outsourcing and false claims made by corporations of desperate IT labor shortages coupled with lobbying Congress to increase, or make unlimited, the number of visas available for IT workers.
Software patents which stifle innovation and curtail opportunities for programming entrepreneurs.
The fact that both of these policies give unnatural leverage over marketplace dynamics to large corporations who in turn fund the re-election campaigns of the lawmakers who pass these laws means means ... everything.
The free market is a great thing until it works to drive up wages for workers. Then it's a tragedy of epic propositions and someone somewhere has to do something!! That someone is generally your senator.
If they taught them recent computer history, like the last 10-20 years or so, then they would feel closer to the action and see where their place is to jump on the train. Teaching 1950s computing is likely to just lose them because the technology is so different.
Teach them scripting, automation. Let them worry about full-fledged programs at a later point. My first foray in to programming was a bash script to sort all the files on my desktop in to folders to clean it up when I was 16 or so (also Visual Basic 6 had just been invented so my options were a lot more limited then, and the idea of free programming tutorials were laughable). Scripting is immediate and doesn't really require any intensive background to get it working.
moox. for a new generation.
It stuck me then it would be the most perfect teaching tool, because you could do anything with it from teaching the von Neumann architecture to running BASIC on a terminal. The processor and its support chips are long dead (I'm writing about the late 70s), and there doesn't seem to be any modern equivalent.
From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."
The term script kiddies actually refers to people who don't do any programming, at all. They simply download a script someone else wrote and execute it, which requires 0 skill. It does not refer to people who write scripts.
Here's a java simulation of the Eniac computer. Try writing a program to make it work!
Load up a C64, Apple ][, Atari, or other 8bit emulator. Demonstrate BASIC. Then point them here: http://www.atariarchives.org/
Showing old photos of gargantuan machines that someone like me, a self proclaimed computer history buff, vaguely comprehend as modern computers is going to put the kiddies to sleep
knowing how we got to the point we're at now with computers is, to me, one of the most important ways to advance them.
If you know what threads have been followed already you can figure out new threads to follow without wasting time re-following things that have already been done to the end and back. And of course there's always the good thing of not re-inventing the wheel without realizing it. Wheels need re-invented from time to time, but if you don't know it's already been done, you prolly won't add anything new to the process.
I see a lot of posts taking learning history as programming in basic or assembly and getting hands on with the early tech. That's good if you want to just program, maybe it even counts as history for that part of computers, but I'd think learning history means looking at how computers got to where we are now by finding out the radical shifts in thought and sometimes controversial ideas that landed us with this amazing technology we use every day now...
AB HOC POSSUM VIDERE DOMUM TUUM
These seems pretty cool for kids of all ages: Cubelets.
If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
One way to have fun and learn Java is to introduce them to Robocode. Robocode is a competitive tank battle game where the students have to learn programming in order to make a more intelligent tank. Lots of competition and it is fun. The goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen against each other.
If you're in the SF Bay Area. If you aren't, take a look at the online exhibit to see how
computing history can be made approachable to people unfamiliar with the field.
I think this is a good idea. Most kids these days who have the opportunity to become a programmer were born into an environment where a significantly powerful computer existed (likely running Windows or Mac OS or OS X). To them, that is the extent of computers. And likely game consoles don't initially register as a computer. Teaching them the history of computers will show them just how far we've come in such a short time and inspire them to begin thinking about what will be available, at a hardware level, in the next few decades.
The group of people who will invent the next technological leap are children right now. We need to inspire them by showing them what we've accomplished. But we have to do it on their level. Computer museums like the one in Mountain View are excellent. Being able to put your hands on a Cray that was less powerful than an iPhone could really open some minds - minds that didn't even exist before the iPhone.
No sig for you. YOU GET NO SIG!
...Ada does that count?
hmmm.
And before kids learn to write with a pen the should learn how to press cuneiform into wet clay. An no matches or pocket lighter, please. Firestones have to be mastered first.
My first computer was an Atari 400 and my first programming language was its BASIC. Learning 6502 assembly language did much for my IT development, too. But I don't think starting in computing early Bronze Age is a feasible way now. Most people will disagree, but I would try to start with C++/Qt. Qt hides most of the ugly corners of C++ and allows easy graphical userinterfaces with a minimum amount of boring boilerplate code. Signal/Slots is as a concept very easy to understand. Drawing on windows is not more difficult than drawing dots and lines directly on screen as it was done with BASIC on an Atari or the C64.
Qt hat a fairly clean and well designed API and many good examples, which allow to learn a decent programming style.
I think the only reason this historical approach has potential is because historic computers were much simpler, had much lower barriers of entry.
I started on the computers of the 80's, the TRS-80, Commodore 64, and most of all, the Apple ][+. In the Apple's ROM was BASIC and a disassembler. Its default environment was a BASIC command line. BASIC didn't use line numbers just for GOTOs. The line numbers were necessary to support the development environment. If you wanted to change line 500, at the prompt you just typed in a new line for 500, starting with "500" of course. Simple and direct. Software companies tried to protect their code from exposure, but really could not. Was fairly easy to hack in and look at any source code you wanted. If that wasn't enough, there was a ton of good documentation for the Apple, including the famous book, Beneath Apple DOS. Interestingly, when ProDOS, the successor to Apple DOS 3.3, came out, they wrote a book for that too, but said ProDOS was too big to cover in the detail given in the previous work. That's right, too big. Too big to document. ProDOS is tiny compared to the Linux kernel. As if the mere size of the Linux kernel isn't daunting enough, it changes on a daily basis.
Today, the typical OS boots straight to a GUI, and from there we have to set up a development environment. Compiled languages keep source code away from the users even when the authors don't want to deny us the source. The difference is that on an Apple ][, one could turn on the computer, type in 10 PRINT "HELLO WORLD" and then RUN. On a modern PC, one has to start an editor, type in the program, and save to a file. Depending on the language, compile it, or add a special line to the start, in some shell script language, so the correct interpreter will be called. Then run some sort of file manager, find that executable, and run it. The high status and place development used to have is gone. Now development is just another app, and terminals are antiquated relics that just won't quite go away because they're still too useful. GUI is king now, not development environments.
Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
Because I've seen at 2 different places where someone wrote the same 8-10 lines of code 60-70 times. (I mean the wrong way, IE the way they did it, must have actually taken significantly longer to do. I mean for FSM sakes, damn. Admittedly in each place the set of 8-10 lines of code was exclusive to that company but the guy that did it literally repeated the same code over and over.)
Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
My son plays Little Big Planet 2 on the PS3 quite a lot. Most of the time he uses the excellent built-in level designer. This level designer silently teaches engineering and computer science concepts. For example there are actually AND, OR, and XOR gates that you can wire to create logic. The original Little Big Planet was not so elaborate. Kodu Game Lab is also pretty good and is available on PC or Xbox 360 as an Indie download for a few dollars.
I find in my classes that in general, people are alright with history to some degree. Interesting knowledge, but not super motivational to do it on its own. However, the women in the class really get more talkative once I point out important women in the history of computing and science. It's such a male dominated field that I think it encourages them that there's nothing wrong with having an interest in it. Men do not perceive the same bias in the workplace and so are less influenced by the personal stories of struggle and success.
Keep it voluntary. While technological skills are almost required today, it's important to give the kids a choice. Helps weed out kids who do not want to learn technology, and also removes teachers who would sabotage things ("the State mandates that everyone have 72 hours of technology learning, now sit down and shutup, as I teach you things I myself do not understand; do not deviate from the lesson / lab or try to learn anything / create anything on your own / do anything cool and we will be done with learning about these infernal machines before you know it!").
And for the record, LOGO is probably the language you want to use when showing kids what taking your class is about.
I am John Hurt.
To me it seems absurd to try and figure out ways to interest kids in programming, when there is such a massive intersection of technologies right in front of us making it easier than ever for kids to program and on top of that, possibly earn money doing so.
That is to say, get kids into mobile programming. There's no reason a kid cannot put together some simple game and sell it, and might even earn some money in doing so - even if they don't they will learn a LOT in the process!
It would work fine with iOS or Android development.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Better not. The bar to actually make money with a game, even a simple game, is very high. Might disappoint the kid and rather drive it away from programming.
Although you have to learn a lot aspects of computer science to get proficient in that. Also you need the learn a fair amount of humanties like how to tell a story, invent a character, myths, etc.
It does work and there is even, gasp, scientific evidence.
See teachers being trained: http://www.9news.com/news/local/article/202987/222/Teachers-play-video-games-for-science-
look at data: http://scalablegamedesign.cs.colorado.edu/
Are you kidding me? Do you remember history in school? History is the story of life, the dramas and ideas that made this very moment possible filled with incredible feats of courage and sacrifice. And elementary school boils it down to the banal tasteless pap that drives kids brain-dead. You think for even a femtosecond they wouldn't do exactly the same thing to teaching computer history?
Stop teaching kids crap. Stupid little rhymes like "In fourteen hundred and ninety two..." Instead, give kids things to play with. Explain the significance of the play. Watch movies. Listen to music. Explain how music used to be made on vinyl platters and this guy named Edison had this amazingly cool idea. And how now we have these machines that work so fast that they can cut a second of music into tens of thousands of little pieces and encode that as information, then latter put it all back together again and play it exactly the same somewhere else. The world is bug fscking amazing! Awesome, magical, mysterious. Kids are born desperate, literllay starving to understand and we kill them off in prepubescent nursing homes, and call it education.
I just recently saw these little beauties, they're called cubelets. how much fun do you think your kids could have with these? Then teaching them how they work, and how one can combine an action with a flow of information and suddenly you have a living OO representations that's as natural as breathing. Everything is information. Information naturally forms language. From DNA to Swahili. The human mind is the universe trying to understand itself. What child wouldn't be fascinated with the amazing truth about the world. All you ever have to do is feed the wonder.
I can tell you that Computer History DID motivate me and others. I found it fascinating and instructive--learning about the tools of the past helped build the foundations of what we do today. My college operating systems course felt the same way, since we spent at least a third of the course talking about the development of the OS over the years and what motivated the development of innovations such as virtual machines, virtual memory, timesharing, etc. In the process, we really got to know how and operating system works and why it does what it does. We did the same thing with the computer architecture class and assembly programming classes as well. To truly understand modern computer systems, you first have to learn how computing has developed over time. That means history--most of which is still relevant today.
Besides, just because something is old doesn't mean it's boring. How many kids over the years have downloaded and run old NES games from the virtual console? I've seen lots of kids playing 30 year old games and loving them. Pac Man is still a big seller. I just saw a port Collosal Cave, a 40 year old game, on the Android Market with a 4.5 star rating, rave reviews even from people who know nothing about the history, and over 100,000 downloads to date. they're not old, they are classics!
To grow your career, you need to learn some programming, and then quickly advance from that. Here is what I understand and have experienced.
I was a whiz-bang programmer for 25 years to age 50. At that age, I was told I was too expensive or prospective employers said I was too old. I became an architect and a senior consultant. I still program for fun and profit, but not to make a living at it.
Another reason for quickly leaving programming -- More and more code is going the modular route. Want a tcp/ip interface, there is a library for that. Want data encryption, there is a library for that. Want GUI interfacing, there is a framework and whole system available for that.
The true programming jobs today are really just to package modules. That is not what I had to do when I started because the modules did not exist. And because I had to do it, I find I have a more in-depth knowledge of networking, data protection, ergonomic design, backup and recovery, database, etc. etc. etc.
Programming can be done in any country, and programming skills are available in every country. So your competition is global, and your salary expectations will be based on the average of the off-shore values paid. Get some programming knowledge and move on. I do not recommmend it as a career.
Leslie Satenstein Montreal Quebec Canada
At the age of 38 I love history, reading about it, watching shows about it and sometimes researching online about topics that interest me, BUT back in school I hated it, so did most of my friends, I couldn't think of a better way to put kids OFF computing than to turn classes into history lessons. Unless kids have significantly changed (which I doubt) then history is not the way to garner interest in a subject, it is the way to turn them off it.
Yes there is a reason why they call them script kiddies and NO it isn't for the reason you stated. It is because they don't actually know how the stuff they use works, they just download prescripted malware and use it against sites rather than learning how to do it themselves.
Even that you are right, I would say 99% of people do not want to learn from history at all. And politicians, rich and CEO's of big corporations wants so as well.
As if citizens, poor and consumers learn history, they learn what has happened and on what direction those are leading us. And that only means they will loose the power to control us if we can think and talk freely outside of the controlled media where they control from what we should think and talk.
Not even today IT journalists know the history. They have so short memory that they forget almost everything what happened 6 months ago. Only purpose is to protect big companies, start flamewars between brands and sell products. Problem is how to do all that in good balance that they don't overthrow each other.
Example, how many journalist really know that the Linux kernel is a monolithic operating system?
That Android, Harmattan, Tizen, Ubuntu and so on are just distributions for Linux operating system and not different operating systems?
No, people do not want to learn history how operating systems were invented, developed and what got founded on what year and by who. They only want to flame each other (Windows vs OS X) or steal credits (FSF about GNU/Linux) or just sell products (Microsoft FUD campaigns).
Citizens (consumers) are those who are under so huge propaganda that they don't even see daylight trough that shit.
Yes, history should be told correctly, from the important parts. Same way the technology should be told by technology point of view instead brands and marketing.
Give the correct information to citizens (consumers) and they can vote correctly basing the information.
Give them a falsified information or misguide them and they vote as corporations and politicians wants.
New 10 Print "That is awesome!" 20 Goto 10
See the marble operated 4 bit adder here
http://www.youtube.com/watch?v=8jV5fyTwOOo
it uses mechanical AND and XOR gates instead of the classic flip-flop rockers you usually find in such models.
Atari rules... ermm... ruled.
NO subject should EVER be taught without the history of it taught right alongside it.
We have enough technicians and clinicians, what we need are more well-rounded scientists and real thinkers.
More real education, and less political do-nothing know-nothing money-grubbing fascism is what America and the world need now more than ever.
What we absolutely do not need more of is legions of technicians who's knowledge is over-specialized, over-fragmented, and kept that way purely because this type of ignorance masquerading as a special privileged class serves a political climate and political agendas.
If you are not resplendent in the history of your particular discipline, you are not and expert, and you have no true understanding of your field.
I vaguely recall writing reports about other subjects in grade school, but I remember very well researching the history of computers and turning an assignment for a two page report into many pages on the subject. That was the first time I remember bending school to my own interest. I remember realizing that schools were not prepared for me. I knew I had to find ways to turn every subject into something to do with computers, programming, & technology... not long after that history report, I got my hands on a cheap computer. I wrote programs not just for entertainment, but to drill myself on less interesting school subjects. I wrote programs to illustrate lessons. I even dabbled with my own word processor so I could write for English class. A few people understood my interest & found material for me, which I learned in addition, and I taught myself things like CPU design, binary logic & arithmetic. I made it interesting for myself. Today, I can easily say that I twisted my own education into something way better than my educators probably realized.
Better not. The bar to actually make money with a game, even a simple game, is very high. Might disappoint the kid and rather drive it away from programming.
If programming is something they are really interested in merely not making money on one game will not drive them away. And even if they are driven away they are better off from the experience trying.
I don't even think many kids will make money, you simply use that POTENTIAL to get them started.
"There is more worth loving than we have strength to love." - Brian Jay Stanley