Ask Slashdot: Do Kids Still Take Interest In Programming For Its Own Sake?
nirgle writes "I have been wondering lately if there are any kids interested in programming for its own sake anymore. When I was my nephew's age, computers were still fascinating: There wasn't a laptop on every table, facebook wasn't splattered on every screen, and you couldn't get any question answered in just a couple seconds with Google. When I was 10, I would have done anything for a close programming mentor instead of the 5-foot high stack of books that I had to read cover-to-cover on my own. So I was happy when my nephew started asking about learning to do what "Uncle Jay does." Does the responsibility now shift to us to kindle early fires in computer science, or is programming now just another profession for the educational system to manage?"
Another reader pointed out a related post on the Invent with Python blog titled "Nobody wants to learn how to program."
Anyone rarely does anything just for its sake. There's always some ultimate goals. As a become adult, programming became means of getting money and helping with business. When I was a kid, programming enabled me to make games and sandboxes that weren't otherwise available. I did some great things too.. but I never wanted to program "just for the sake of it". I wanted the results of that programming. Even if that meant a little fun sandbox game made by me.
It's not just computers, this is true for everything. Everyone does something for a reason. For me, programming was a way to create the games and sandboxes I dreamed of and enjoyed. I never really even finished anything, but I had my mind going around the AI and the general gameplay mechanics. Especially when I was waiting for bus or doing something other boring stuff. But, I was never really fascinated about computers or programming *per se*. I was interested at what those techniques could give me.
So rather than trying to educate programming, computer history or other boring stuff, try to tell what fun stuff you can do, or whatever he would be interested at. Everything else will come later, and the kids will either pick it up themselves or ask, if they want to.
Doing what Uncle Jay does... Yeah - tried that. My parole officer is still upset.... However the Catholic Church has contacted me back on that job offer....
When I was my nephew's age, computers were still fascinating: There wasn't a laptop on every table, facebook wasn't splattered on every screen, and you couldn't get any question answered in just a couple seconds with Google.
That can be also seen as an advantage. While most can use a laptop and some software, not many can actually make new apps. The motivation these days might come from standing out as the creator.
... are a tiny minority. Always have been, always will be. The submitter seems to think the average 10-year-old should be interested in programming because he was at that age. Well, good for him, and I guarantee there are still 10-year-olds interested in it, but they're going to be awfully thin on the ground -- and this was just true back then as it is now.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
The ability - which generally just takes a PC, a book and some time.
The desire. You've got to want to build something. You then get to add stuff to it. You then realize you don't know how to add something (this is where you go to the index of the book you abandoned days before, realize it's not in there, rush online, find the solution, realize you've done something else in a stupid way, decide you might want to fix that etc etc). Basically the hump is getting hello world up on the screen and then creating the very first bit of your 'thing'
I don't even think it has to be programming per se. Quite fun playing with APIs on sites that you're familiar with, with something friendly like PHP.
I wanted to look up the prices of my old DVDs I wanted to sell. Pain in the arse on Amazon... oh, hold on they have an API.
Oh, then how about using a CSV to load and dump results to?
Shit, I seem to be getting results back from the wrong bits of amazon, lets add some array sorting.
Would be nice to store lookups I've made - MySQL
Oooh, how about other sites... they don't have an API *googles*... "Oooh Curl" etc.
Basically, if you're interested in something and have time, it will all follow. You can later learn how to do it properly later, but it tends to flow. Nobody wants to sit down and read a chapter on exception handling - but once your program is mysteriously failing, you suddenly find you've become quite fascinated with the intricacies of exceptions. You'll just bolt them on until the problem is fixed, but on your next project you'll have that pain in your mind from the start, and may find yourself now dutifully adding them.
I'm meandering all over the place here now - I think you just need to ask your nephew what he wants to build, make sure it's realistic (or choose a functional subsection to start with). Also nice if it's something that could go online, be run on a smartphone or similar - once you've built this thing, you want to show it off.
Programming is a fundamental skill, almost like reading and writing. Children learn the shape of the characters in one year, but they keep learning how to read and write for many more years, because reading and writing aren't mechanical skills. Programming is a formalization of a solution, and this skill is fundamental. The most important aspect of programming is understanding the problem in detail, and that's something everybody could use. It's like writing up a complicated story without loose ends and contradictions: We're not all going to write books and screenplays, but almost everybody needs to express more complicated thoughts than "I want a cheeseburger".
Don't teach them programming. You're not doing them any favor.
My cousin and I both started programming when we were ten, back in the golden days of the Apple II and the TI-99/4a (for us). We got into it for different reasons. He delighted in creating varied and colorful system crashes. This behavior turned out to be indicative of a larger mental health issue. I did it because I appreciated the beauty and purity of logic. Eventually I ended up concentrating heavily on computers to the partial exclusion of natural human companionship. This too indicated issues of a different nature. Nevertheless, my hobby matured into a lucrative career. My cousin never matured. You have been warned.
You know what...there is something special about a 10 year old handing a basic terminal and just see them hack.
I've heard the stories and then saw this BBC show or something about a family that had to live with 80 gadgets, and i was sorta amazed how the the two boys just sat there and figured shit out.
Then offcourse...NEXT episode and they were in the ninties and they got a playstation....
I question the use of the word..."naturally" interested, its....just a series of events that gets people hooked on this stuff depeding on the kids mental stage, BUT it seems to me, the most important factor in this....IS FOR THE KIDS TO BE BORED and have the simple-to-complex building blocks available.
My -1 Troll is actually a +1 funny. And my -1 flame is actually a +1 insightfull.
I can't use my mod points when I've posted in the thread.
Mod +1 Informative...
I suppose the best way is to offer help, and say that you can help best if the kid chooses a similar career as yours. If there is interest, giving a good book can do lot. Later, you may be able to help prepare for tests or give career advice.
If the kid is not interested, let him or her pursue something else, but don't feel bad about it - after all, you offered help.
Back in the eighties and nineties, you could achieve a lot with a little effort - now most often it takes groups of people to achieve little advances, and earlier opportunities are well-covered with patents. Still, we take pride in our work, and need a new generation to continue work on our projects, or these projects will die.
No. That is like asking if there are kids who want to weld for welding sake. Or fuck for fuck sake. We don't fuck for fuck sake, we fuck for the climax. Without the climax, fucking would be fucking boring.
Most people code because they want to get something done. Those who don't work in government. Kids want to code a game, the kids that want to code a database or search algorithm tend to be watched by the FBI, from a safe distance, through a snipers scope.
It is the same as with a spoken language. Nobody wants to learn French for the sake of the language, they want to impress chicks. Japanese is only studied by people with a fantasy of picking up school girls, desu. Latin for those who wished to be picked up by Catholic priests.
The easiest way to keep kids interested is to make sure things beep and whistle and spin. It does't matter that much if it is text graphics, direct 3d or leds on a Arduino board, or a programming robot game. What matters is that the concepts have clear examples with easy to understand results.
It is the reason PHP is so popular, its examples are extremely clear and light on the jargon. It is the reason Lego is such a success, nobody has to spend time learning the building blocks of Lego, they are clear... then you can spend all your energy on creating.
Kids haven't really changed but nerdy pursuits have always been the domain of the select few... the few selected by girls not to be dated.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
After 30 years of professional development, I feel that many developers SUCK! They wear some "architect" or "senior developer" badge but struggle through the most basic concepts. I believe the reason is that MANY coders are simply chasing paychecks or have been pushed into the field. They lack the PASSION that I remember when I first got into it. Everyone was learning to program because they loved these cook PC things and WANTED to do something with them AFTER they soldered everything together. Most "geeks" share that same type of passion. They gravitate to the next cool innovation and, in the process, become great at what they love. However, today, the industry is flooded with bodies that are simply working the cliche' 9-5 and drooling over a six-figure paycheck.
I decided to go for an network admin job, and gave up on a carreer as a programmer. The reason? Programming has become the most boring task at hand these days. It's all about business-programming these days, were 99% of the work is about updating records in a SQL database.
The business-programmer of today is on the same "coolness-level" as an accountant... No wonder kids have no interest in programming anymore.
When I started programming, there was still some fun involved: talking to IO ports, messing with VCPI,DPMI, and other protected-mode stuff.
Maybe, in the DirectX/OpenGL or embedded hardware world, there is still some programming-fun left...
...You are over-qualified and under-paid. If we give you a raise, we will break the cosmic balance of the universe.
Based on the quality of the vast amount of people coming out of schools, I'd say.... it's 100% your responsibility. Think about this the next time you have some nightmare project problem because fo 10 years of cowboy coding. Hell. go one step further, teach him assembly, then he might actually understand what the hell is going on before he starts stuff things up in a high level language and wondering why it doesn't work right.
True.
And the submitter should beware not to drown any spark the nephew thinks he may have. Therefore, it is very important to try to understand where the kid is coming from and where he wants to go.
Maybe programming can be it, but it might be some other, more general interest in computers, if the kid isn't quote clear on what programming is.
Explore with your nephw. If it turns out programming was not exactly what the kid will find interesting, at least you might be able to teach him to be a power user. Or if the nephew decides on pretty much any other interest, you could probably still help him get the most out of a computer to pursue whatever it is he might find a passion for.
Nowadays a computer (and perhaps even some custom app you design together) could be useful even if the kid wants to be a ballet-anthropologist, drag queen or beekeper or whatever.
Some of my favourite people are from th US; Vonnegut, Chomsky, Bill Hicks.
When I was an 80s teen with my ZX Spectrum, I could write games that weren't too far behind the earliest commercial games. (back then it was even a novelty to have control over what appeared on your old telly screen!)
I wrote games that gave me as much fun as the coin-op machines back then, when things were primitive.
Now though, how can any kid write a fluid 3D FPS shoot-up? I take my hat off to any who can! Where's the incentive? Where's the novelty?
Little 2D games on the kids' Android phones, maybe. Perhaps.
We had a 14 year old work experience lad, who was the nephew of one of the owners of the business, and he wanted to become an app developer - when we chatted about this further, it turned out that his claimed "programming experience" amounted to using the drag-and-drop style of online website wizards, and using apps from the iTunes store.
He had a goal in mind, and he was raring to go, so we decided to embrace this enthusiasm and run with it - so we decided that the best thing for him to do during the two weeks with us was to design and build a basic app - he was thrilled by this. We gave him a task for two hours on the first morning, which was to research the apps out there and decide what was best to build (building a copy of something out there is easier for this sort of thing than coming up with the concept itself).
He came back with "I want to build World of Warcraft". Crap.
We eventually scaled him back to building a HTML5 version of tic-tac-toe, as the logic is simple, the graphics are simple, and the HTML experience travels well. He was given a lot of personal tutorials from myself and the other developers for the first two days, basically a beginners guide to HTML, and then told to see if he could come up with a basic page with a table in which would hold the game board - no styling, no JavaScript, just a basic page with a table.
Despite help from us developers being on tap (we encouraged questions, we discouraged "do it for me" - examples are fine so long as work and understanding was needed to translate the code into what he was doing, so a simple copy and paste wouldn't solve the set issue), by the end of the first day he hadn't grasped the concept of nested elements to build the table. What he came up with even IE barfed over.
The poor kid had no grasp for it at all. I hope it was a failure on our part rather than inability, but really it was inability. He never realised software development was so difficult, no realisation as to what was actually involved in the process or the building itself. He saw pretty things and thought they were simple to produce.
So, anyone who gets the chance to introduce a child to software development, please take it nice and slow and be prepared for lots of failures, lots of frustration and lots of patience.
By the end of the two weeks he was proclaiming he wanted to be a farmer. And now, I hear, he wants to hire out construction equipment (after he was given a day of work experience on a farm).
Rather than doing the classic "hello world" in BASIC, kids today start out by e.g. modding games.
Personally, I remember having fun by developing platformers using GameMaker back when it was free. This sort of graphical programming got me used to thinking in terms of loops, conditionals and variables -- as well as offering a high-level scripting language that let you access extra features.
When I were a lad, working down the coal mines in the snow 30 hours a day, I learned programming in order to achieve a goal - make computers do fun stuff.
If you want to get a kid interested in programming, give them a simple game compiled from source, ask them what they'd like to change, and let the voyage of discovery begin.
If you were blocking sigs, you wouldn't have to read this.
My experience is that the kids don't want to do the same kind of programming we did in the 80's and early 90's. At that time it was mind-blowing for me to just have the computer do a simple animation of a couple of lines on the screen. No kid is interested in that anymore.
Later in the late 90's and early 2000's it was all about the internet. Kids wanted to write html and then later PHP etc. They still do it to an extent now but more often then not kids now-days just want to set up and customize packages and templates with very little programming effort (like Drupal).
There is one thing though that kids like to do in the 80's that has survived and flourished to this day - hardware/robotics. Kids love to play around with Arduino, especially with sensors, actuators, LED matrices etc. With all the content available on the internet, including how-to videos this is easier than ever and I think more people do these kind of things than before.
I started programming when I was about 10 years old for one very simple reason. I enjoy making things.
I recently built my own house for that same reason. I also made most of the furniture in it as well.
If, at the end of the day, I can say "I made that", then I am happy.
Death has been proven to be 99% fatal in lab rats.
Most kids simply don't know what programming is. All that they know is that software is made, yet they have had no exposure to how it is made. Once you show a child what programming is, and in a child friendly manner, they are much more likely to want to program for programming's sake.
Well, when I started on my Commodore 64 you started at the command prompt read to write code, so yeah I'd say it takes at least a little more prodding than before to get into programming. Also you started with just two lines:
10 PRINT "HELLO WORLD"
20 GOTO 10
Okay, so it doesn't produce a very impressive result but as "bang for the buck" it's pretty good. If the reaction is "All that to produce so little?!" you've lost. Hell, you might have lost anyway if they point you to a $100 million AAA game and say that is cool, I want to make something like that. But since you can't ask for time to be turned back to simple sprite based graphics you can't change that, but at least not start them off down the long road.
Personally today I think I'd actually start them off with a game toolkit where you can script events, like Neverwinter Nights or something like that. First of all because it's a game and looks good and produces something cool, second of all because you can start with a level that already exists. Have them modify it and they'll start thinking about objects, attributes, state, conditions, boolean logic (assuming you want to start them down the OOP path) without banging their head on the really hard issues. Plus you get to make your own adventure, which is creative and fun while learning.
Live today, because you never know what tomorrow brings
back then, I was closed on the box, if I wanted fun I would have to make it fun, learn and program,
nowadays possibilities were a dream then, to search and find an answer, all sorts of online documentation, communities
but along with all these came distraction, kids no longer have to make it fun, it's fun already
A lot changed since the 1970s. In the 1970s computer were science fiction and science fiction was en vogue. We tried to build our own computers based on transistors and later on microchips. In the 1980s things already improved so much, that a lot of people could by a home computer like ZX spectrum, Commodore C64 or Amstrad CPC 464. These machines provided a simple BASIC interface. They were designed for start and play. Where play meant programming. And you could dig into those machines and learn to peek and poke around in the hardware. Then you learned assembler etc. In the 1990s this moved to PCs. While old PCs still allowed you to access the hardware and you had to work with the console. Upcoming GUIs made the direct experience of the machine much more complicated. You couldn't re-program Pong in a week, while learning BASIC.
So on one side, computers get more complex and shield people from the machine and the machine feeling, and on the other side the sci-fi feeling is no longer so intriguing today than in those days. While in the 1970s, if you understood computers you could build your own moon lander software. At least a facsimile. And a lot of the people did. And the program would only display longitude, latitude and height above ground, as well as, speed and fuel. But all without graphic (which had to be imagined). Today moon landing is lame. Especially compared to those days. the whole society is no longer in technology.
In short: The whole setting is different. And the nerds of today go into gaming and become dorks.
Do Kids Still Take Interest In Programming For **Its** Own Sake?
Do you call "kids" as "it" nowadays? I never knew...
When my daughter received a cheap laptop for her birthday instead of a DS. I explained simple computer parts and binary numbers (counting to 16). I put a linux distro on it. Showed her some simple HTML and installed MIT Scratch. She and her brother made web pages and scratch programs. None of this was too difficult for them. However, their school refuses to educate them on simple computer facts. I believe they are educating them to be consumers and not scientists, engineers or technicians. My children are interested once I lit the spark. You do not need to do half the stuff I did, they just need that spark.
... are a tiny minority. Always have been, always will be. The submitter seems to think the average 10-year-old should be interested in programming because he was at that age. Well, good for him, and I guarantee there are still 10-year-olds interested in it, but they're going to be awfully thin on the ground -- and this was just true back then as it is now.
Agree.
My nephew at 10 years old asked me if I could teach him programming. I knew him well enough even then to say 'sure, but you've got to love it and want to stick with it' so after a brief lesson in writing local HTML files and using a browser to read them (and how to use Google to find tutorials), told him to create a web page. Sure enough about half an hour later he quit saying it was too boring.
I started learning at about 10 years old on a Commodore Pet that had nothing but crap BASIC and no graphics at all. I bugged my folks to get an Acorn Atom that had rudimentary graphics. No online Tutorials, no interactive debuggers, no GUI, nothing but command line and endless 'error 23: syntax error at line 100' messages, and I managed to code up a reasonable version of Missile Command in BASIC and Assembler. If I'd have had HTML and Javascript back then, god knows what I'd have created, but I know I wouldn't have given up after half an hour saying it was boring.
Some people find this stuff fascinating, most people don't.
Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
Learning a new concept is generally a ton of fun. Putting in the practice and effort to translate such knowledge into a skilled proficiency is generally tedious. This applies to virtually ALL human tasks. Even artists who "love to create" find themselves plowing through hour after hour at some point, to master a skill. Whether its brush skills (artist), math skills (science), social skills (salesmen).
If you want to rise above "I understand", above "I am competent", all the way to "I have mastered". It's going to take some serious time and work.
Regardless of his interests, your nephew has passed the programmer's first test: His program prints "sorry to low" and "sorry to high". Only a true programmer would get the computer language correct, but the human language incorrect.
I predict a bright future.
Just asked my kids: 12 year old boy, 10 year old girl. I asked them separately. Each looked at me like I'm stupid (okay, maybe that's accurate) and said, "Yes."
They mainly program Scratch and Kodu but I'm installing App Inventor later today.
The second post mentioned says "nobody want to learn to program" - meaning that people want to be able to program without going through all the tedious learning. Well, "duh". The same could be said for any difficult field, or indeed for learning to do anything well. I'd love to be able to play the piano like a master, but darn, there's all that practicing to be done.
Of course some kids want to learn to program, just like some want to become chemists or doctors. Of those who are interested, not all have the aptitude for it (logical thinking, etc.). Just like a fascination for bridges does not mean that you can be a good civil engineers.
For those who do have both aptitude and interest: It helps to have role models like "Uncle Jay". It also helps to have in-school or after-school classes that start out with simple, fun environments like Scratch. Any /.ers who want to support the next generation: see if you local school has such a program. And, of course, be "Uncle Jay" to your own family's progeny...
Enjoy life! This is not a dress rehearsal.
I saw programming as a new language, as many do with with learning French or German - I saw it as a fun challenge that would open doors for me.
See above.
This entire submission misunderstands the real draw of programming. The desire to learn programming is out of an intrinsic desire in some people to create or build artifacts from resources we have obtained. Some of us are builder/creator archetypes and we are drawn to the process of creation.
If the argument held up, then the quality of carpentry would have degraded considerably with the advent of power tools. Nobody needs to hand-spin a spade to drill a large hole anymore, and while I am handy with a chisel, I can still do things faster and with better quality by using a router for certain situations. The power-tools have allowed us to put arguably better quality wood products in a MUCH faster timeframe, and all with the same sense of satisfaction that you get from a beautiful new table, cabinet or chair.
I do think however that in todays age it is a lot harder to stay focused amidst constant distractions, and it is a lot easier to find information than ever before, making us all slightly lazy from time to time. We are more prone to get frustrated and do something else, so the extreme convenience doesn't come without its faults for sure.
But Javascript and HTML are boring. Web "programming" has to be one of the most mind-numbing fields. I say this as someone who programs for fun and work for 15 years.
Absolutely they do.
My son is in year 8 at Melrose high in Canberra Australia. They are doing two courses specific to this: games programming and general programming. 3d modeling is also a choice. He is doing all of them (chip off the old block!)
Their assignment, for 14 year olds is quite hard. It raised my eyebrows when I read it. I'm a multi time CTO with a deep history is c, c++, java, ror, PHP and perl. They were asked as a 15% assignment over two weeks to write a number of very complex programs displaying skill in some quite complex areas in JavaScript, vb, actionscript and powershell. This is quite an amazing thing! These little fellas are in year 8!
The class is voluntary, but wow, is is hard. The kids absolutely love it. They apparently are hyper involved and super enthusiastic. While the teacher may be a messiah (I don't know her) but its obvious the kids are revved up beyond control.
Just bought a new quantum computer, but I'm uncertain how it works.
The fascination of the Apple II in 5th grade math lab, getting a PC when they first came out, and the arcane 8" thick code dump print outs my VM programmer father brought home drove me to learn to code. I dont think what drove us exists any more.
An area of fascination that does exist is computer and network security (ie. penetrating and defending syatems). What kid wouldnt be interested in that?
It's the angle I plan to use to get my son interested in coding when he gets a little older.
Best way to deal with them is to say "Get off my lawn" and then they'll go inside and learn how to program. That's how it was done when I was a kid.
Nowadays a computer (and perhaps even some custom app you design together) could be useful even if the kid wants to be a ballet-anthropologist, drag queen or beekeper or whatever.
So many ORs, can't he be all of them? Man, you are cramping the lads style!
Just bought a new quantum computer, but I'm uncertain how it works.
Back in the Seventies, kids were motivated to program because there literally wasn't much you could do with a computer unless you built your own application. We were also convinced that programming a computer was going to be a critical job skill. I remember getting a dream job in 1991 because I had a computer background and I had to confess that my experiential universe would not be particularly useful in the new position, writing about the development of the Internet. "No, that experience will be very useful," the boss said. I replied, "Yeah, I I hear what you're saying, but trust me there's not a lot of knowledge transfer possible between punch cards and Windows."
My favorite part of programming,
Creative expression and control - it's almost a superhuman feeling, watching your work come alive and transform into your vision.
Seeing a program or function work as expected for the first time
Showing your work to a friend/coworker
Seeing it in use by others
Getting good feedback
I'm a programmer and I'm being paid to do something I'd do for free.
Nothing is better than getting paid well for doing what you love to do!
I work with others who do not enjoy it and their code reflects it. This isn't a good field to go into unless you love it for what it is and not for what it pays.
John Reder
TacticalNeuronics.com
When I was a kid learning to program, 5, 6, 7... I started teaching myself how to program so I could write my own games. Before I became a teenager I was pretty good at it- although on more basic computers than we have today. Not tried writing games on a PC.
The few other kids I knew that programmed- they had the same motivation that I did.
I don't think any kids learn to program for the sake of learning to program. It was a fun hobby- but with all the easy to get free or cheap games- it isn't worth it for me now.
Getting off topic but...
Wish I hadn't learnt to program as a kid to be honest... I wouldn't have taken computer classes to get easy As to boost my GPA in college. I wouldn't have been tempted to switch to computer science "because I could" my senior year. I wouldn't be stuck in a dead-end programming job now as an adult. ... when your hobbies become your work- they're not so fun anymore.
"That's the way to do it" - Punch
Programming for fun's sake is a matter of intellectual creativity. Also, programming, drawing, and the like are generally singular activities, so I would suspect that children who tend to do these things to be slight introverted. Also these activities usually produce something substantial, something that parents and peers can see and recognize, so I would also expect these kids to have some drive for recognition -- you know a need for the "oh, isn't he clever/talented" response.
It's probably not rational to expect kids without these properties to take to programming the way someone with these properties might. Simply put, kids who have the disposition for it, will probably do it if it's made available.
It's kind of like asking how to get a passive, nonathletic child to go out for the football team.
I was crazy back when being crazy really meant something. (Charles Manson)
You can't reliably leave anything to the public school system. Kids should be introduced to Computer Science at any early age, and encouraged, not forced, to pursue it as a career. If they end up as the next dmr then cool, if not, then oh well.
I am an eleven year old child and have written over fiftey programs in WXpython with the PYcard wrapper
Case in point, my parents just dumped a 386 in my room when I was 8. I got an English dictionary (not knowing English) and painstakingly typed in words until something would happen on the screen, referring to my dictionary to find out what. Eventually I got the hang of it and realized I could write any program imaginable. Can't have more fun than that so I spent all time I got writing programs. When I was 15 I fully mastered C and C++ and I was a fairly competent "architect" aswell, since I'd written many large applications, multithreaded servers, device drivers and anything else inbetween, at that time.
Didn't get any help and my parents discouraged me to play with the computer.
My son enjoys programming his TI 83 and has programmed the game hangman into it. He does not seem to want to consult online manuals but would rather figure out string operations by trial and error. Those lego robots have a visual programming language that both he and his sister have used at times as well.
They're ORs, not XORs!
Dilbert RSS feed
It is easier for a child when something is made to look easy, and the results are made to look fascinating. The environment and the mentor are paramount. But this has become harder recently because everything has advanced so much since the Nintendo Entertainment System days. Also it doesn't help that platforms like the iPhone are hard to develop for (the closed garden hurdles, so to speak).
Games used to be a good genre but now kids are playing MW3 and GW3 so it's increasingly harder to convince them they can build something similar. Games are still a good place to start, but only if you have the right tools to do it.
Web programming is good because HTML and CSS is rather straightforward, and kids will be able to edit and publish their own web site. They can get into javascript and server admin stuff too. The reward for having the site will be the biggest hurdle, since most online presence missions are done better piggy-backing on facebook or word press.
Graphics programming is good because it has to do with math, and math is something kids are already force-fed at school. If you can demonstrate how math is used to build real things, and by learning graphics programming that the child can get straight As by way of beating the curve, kids are often all for it. Great place to start:
http://processing.org/
And John Maeda of course:
http://www.amazon.com/Design-Numbers-John-Maeda/dp/0262632446/ref=sr_1_5?ie=UTF8&qid=1331043844&sr=8-5
Finally, incentivising a child's behavior is not that difficult. Make them do their homework before they play. Make them program before they do their homework. Reward them for everything you make them do. Being a smart parent is the best ingredient for a child's intelligence by a mile.
There is no turning back the clock. You can't bring up a blinking terminal with [10 PRINT "HELLO WORLD"] [20 GOTO 10] and expect the average kid to feel motivated. Also, you will not learn much...all the while being frustrated by their reactions.
But I have a suggestion. First sit down with him and the two of you can watch "The Karate Kid" (the original one) all the way through. Afterward go back and review the entire "Wax on, wax off" / "Paint the fence" / "Sand the floor" scene, and what Mr. Miyagi says about "Karate Do" vs. "Karate Don't". Make sure he groks that getting your fundamentals right can have profound effects on reaching your goals, even if they *seem* unrelated. Remind yourself of that fact as well.
Then open up your wallet and spend ten measly bucks to buy SpaceChem, which the creator of Team Fortress has called "Pretty much the greatest game ever made". I've known for a long time that such things would be *possible* to create, but hadn't seen it done in a way that satisfied me...until now. I'm hopeful it is a prelude to many more such teaching tools:
http://www.youtube.com/watch?v=Gk8JwvtVs38
There have long been games that gave the appearance of indoctrinating one with "programming", merely because they gave you automatons that act independently to solve problems (such as "The Incredible Machine" or even pared-down systems like Logo). But SpaceChem blows them away. It has the requirement to build "stable reactors" and pipeline them to build something that works...but must do so iteratively...it is self-testing. Your solutions might turn out to be complex or inefficient, but the production quotas keep raising the bar to keep you from being sloppy. Plus the leaderboard for "elapsed cycles" and "symbols used" creates an incentive to go back and hone the craft.
I cannot say enough good things about this game and the direction it's pointing. Your nephew won't be the only one enjoying it, either.
Every time I hear about teaching kids to program, it's all about the videogames. Kids like videogames right? So they should like programming them right? Wrong. How many young girls make their own makeup out of egg whites and whale barf (It's none)? How many boys are just chomping at the bit to build an injection molding machine so they can make a super soaker (none again)?
Why not use programming to let kids solve problems they hate, do work they don't want to do. Just like in the real world, I hate correcting spelling errors in a million documents, but my computer doesn't mind.
I bet johnny would be thrilled to discover that he could write a computer program to do his math homework, and I bet he'd be a lot better at the math as well, since he would have to exactly encode every step of the solution in an algorithm (as opposed to a mix of wrote memorization and guessing that often goes on in math classes).
Statistics too, is the perfect place for programming in schools. No one in the world performs any meaningful statistics without using computer programs, so why should students? It's way more important that they understand what a t-test is for and where to use it than that they know exactly how to compute it by hand and the proof for why it's valid.
Ze Atomic Device! It iz Ztolen!
I can't say why kids aren't learning this stuff anymore, but they're not.
My girlfriend's sons are at the ages when they're looking for their first jobs -- they're 14, 16, and 18. I asked her what programming languages they know, and she said none. They've never programmed, at all. Not even a high school course in it.
By the time I was 14 I knew Atari BASIC, LOGO, and a little Pascal. I had already authored games and applications on my Atari 400. By the time I was 18 I was designing a relational database in FORTRAN using edlin for my father's insurance business. (I told my girlfriend this and she said -- and I quote -- "But you're a genius, hon." That's why I love her. :) But her kids are just as bright as I am, IMHO.)
On the other hand, kids today know applications. All of her kids have experience with Word, Excel, and Photoshop. Maybe that's all they need.
The signs are that programming expertise is going to become a far rarer skill in the next generation, but general computer literacy will be widespread. I think maybe that's a step forward. But I worry that it's not a good pool of talent to help us take another step forward in the generation after theirs.
Genocide Man -- Life is funny. Death is funnier. Mass murder can be hilarious.
"Does the responsibility now shift to us to kindle early fires in computer science, or is programming now just another profession for the educational system to manage?"
a.) Fires in people tend to kindle themselves. All you can do is recognize it and see what it's made of... and be careful not to put it out. Some fires tend to go out on their own relatively quickly, until the person finds something they truly love. That's what I've noticed anyways. That said, considering that computers (and programmers, it seems) are everywhere these days, I would think that more kids would start taking an interest in programming at a younger age... as a natural consequence.
b.) I, personally, don't think you should leave anything up (solely) to the educational system. Helping kids explore things outside of the school environment has a lot of benefits. And schools can only teach so much. School is a tool -- one of many -- and it doesn't always function properly... and for some people it doesn't function at all. In the end, each person has to find their own reasons for being there... or not being there, as was my case. Which returns me to my first point...
In the old days, seeing a prompt on your 12" B&W TV was a major accomplishment, and getting "Hello World" to run made you a serious computer geek. But now, the learning curve to become even a novice developer is far steeper. The typical kid doesn't have the patience and/or foresight to be able to get to even the first rung on the developer ladder. It's much easier and more fun to learn how to download and install the latest patch for WoW - no programming required.
And yes, this is the first step on the road to separate the Morlocks from the Eloi...
It's funny you should mention boredom and building blocks.
When I was a kid, LEGO was all the rage in the UK (and probably many other places too). They were just simple building blocks. They had all the simplicity of wooden blocks, but the advantage that if a clutzy kid like me jogged the surface they were on they didn't all fall down. As they go more complex, they started including manuals to show you how to build different things with the pieces they'd included. (Mechano did the same thing)
Then I noticed a shift in philosophy and the manual had fewer and fewer designs - until they only had one design in the manual. This may have changed since, but I'd be surprised. Since my son was born, I've noticed how toys these days seem to be single serving. They only have one prescribed function. I'm sure that's not how it used to be when I was 5! I've also noticed how my soon to be 1 year old son is more interested in the boxes toys come in, than the toys themselves.
I still remember my Mum coming back from a night class where someone had demonstrated how to program the BBC Acorn Electron in BASIC (at the time a new machine - there I go showing my age!) to work out the average of two numbers, and she complained that it took longer to program the computer than to do the maths on a piece of paper. She clearly didn't understand the power this machine *could* have. My Dad on the other hand did. Not for working out the averages of numbers, but to do other things.
My question for the audience is this; Are kids these days bored because they only have single use toys? The toys they have only do one thing. This leads back to the original article, because when I learnt to program (on that Acorn Electron no less), I learnt because I was fascinated by how I could get the computer to do stuff, other then the prescribed functions that came with the machine.
In the earliest days of microcomputers nearly all machines would come with some form of BASIC built in. Now you can argue about whether it's a good language or not-- that isn't the topic-- the point is that anyone who bought a computer at least did _some_ programming, because they *had* to. What killed it? Increasing availability of software of course, but I'd say the rise of the GUI also, from the first Lisa/Mac on out; even so during that era the folks who used IBM PCs might have to learn how to write batch files. I'm not saying GUIs are a bad thing, only that once they became dominant there wasn't much reason for computer makers to bundle a language any more. In a nutshell, computers became easy to use. Pick an OS. Mac, Windows, Linux; it doesn't matter. Right out of the box a modern computer can do useful work right away, without the need for anything extra. Bottom line, there's no *incentive* to program.
Interesting point about Commodore. I'm an analyst now in part because my first few computers booted into a BASIC interpreter shell and came with instructions on writing code. Partly from curiosity, and partly from no money to buy software, I wanted to see what the computer could do on its own. I found, for example, that it can ask for your name, say "poop YOURNAME " 5,000 times in different colors, and make a fart noise at the end.
Well, let's just say there is no reason anymore to program. Ok, hold it!!! LOL
Years past, when you first got a computer you were excited. Back then, you turned it on (boot was an alien word) and... you got a c prompt. It blinked. You blinked back. It kept blinking. No matter how much you blinked all you got was a blink back. Excitement turned into WTF?
So unless you wanted the neighborhoods first electronic boat anchor you had to learn to program. From hello world to batch files. And batch files were fun! Back in the DOS days practically everyone could do some sort of programming.
Then along came the GUI. No programming required. And it's been all downhill since. If you don't *have* to do it, you probably won't.
Wuddooeyeno? IITYWYBMAD? Like nuts? eclecticallyincorrect.com
Kids these days are doing fine. I know some really smart young computer programmers. For example...
One of them didn't really get started with computers until he was 15. Now almost 18 he's blowing me away with his knowledge and skill. His latest project is to write his own computer language... in C (because he didn't know how to program in C yet, and he wanted to learn C before C++). Now, after his third rewrite (it works!) and looking at a fourth to get more of the functionality that he wants, he's considering introducing some C++ to make the project easier. His latest email to me was a comparison of the various syntax styles gradations between lisp and python as an exploration into how he might modify the syntax of his new language.
We have nothing to worry about.
Religion is poison to rationality, and we lose sight of that at our own peril. -- Lurker2288
When I was a kid we would go into the woods to build yet another tree house. First step, find the last tree house and scavenge the long boards for the frame.
There was this one long red board that was in practically every tree house ever built in them woods. Without those pieces you couldn't build anything significant.
Once you have a computer, all the "building materials" are essentially free. All you need then is a bit of imagination and creativity.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
Lego now has a 'creator' series, and each box contains the manuals to make 3 different models.
True, they are a tiny minority. Kinda like kids and fixing cars. They're honestly both niche jobs, but both can be very rewarding and interesting. I know, I've done both...and combining the two skills in the workforce can make for an interesting grading scale for pay. But, should the average 10 year old? Pft not. At 10, most kids are interested in screwing around and enjoying themselves, probably easier than we did at that age. Then again they have other things to deal with too.
Om, nomnomnom...
And I think programming is going to be more popular now with the mobile platforms making it extremely easy to make your software available for the masses.
Provided your parent is willing to pay $99 per year to unlock your Xbox 360, Windows Phone 7 device, or iOS device to run homemade programs on it.
Now, I'm probably being hypocritical(or something) for saying this, because...while i grew up with PC's in the early ninties (my father co-founded the first computing store in the city), I never did do anything productive with it.
I managed to navigate dos and get into A-colon.
And start up windows to play SKIFREE!
Now, back then I'm unsure on how i could ever get into trying to play around with the computer creatively.(to dumb to know what Qbasic was or to even find it)
I see the value and richness of the early day computers, but its not from personal experience.
So my idea is...kids, aren't bored, they have games and content delivered to them, they have so much easy access to simulations then they know what to do with it.
And the hows are buried beneath accessibility paradigms.
But back then, a kid with a trash80, C64 and all the rest, had what was bough in stores or what they got ahold of in BBS'es or copy parties.
That, with the C64 BASIC OS, which shoved the programming environment in your face, really was the BEST circumstances to stimulate a kids curiosity.
The PC's of yore had its programming ability advertised, today they are basically appliances.
And for me who couldn't even get into Qbasic, WASN'T even familiar with the concept of programming, Imagine how it is today.
You need to actively seek out a compiler and possibly an IDE.
That little bar to even run a simple build can block someone before they discover the joy of making a loop that iterates the sid-chip
My -1 Troll is actually a +1 funny. And my -1 flame is actually a +1 insightfull.
...in Python!
"Good, Fast, Cheap: Pick any two" -- RFC 1925
It's your fault he quit. HTML is not a programming language. It's like him asking you to help learn math and all you're doing is showing how to draw the letter X and Y on paper in different ways. That's silly, you should have set him down, what do you use - Windows? Write the WinMain (though it is real ugly), then initialize OpenGL for him, then write the code to ALMOST be able to draw a triangle; then, you sit him down in front of the computer and tell him to go to line 43 and type "glSwapBuffers" or whatever, compile and run - BAM the kid sees a spinning triangle. It will inspire him to do more, perhaps make games (one thing we know all kids love). you can them show him how or tell him to change it around to draw two triangles. Change the coordinates to draw a pyramid. Make it rotate funny or something. Make it move up when he presses up cursor, etc.
Next thing you know your nephew will spend months in front of the computer. You show him HTML he'll be like WTF? Thats programming? That's not programming, that's crap. Can't blame your nephew at all. You gotta cut the boring stuff out for the young ones these days, believe me - if you see a spark of interest - don't let it go out with damp coals. Make it burn, for then it will engulf everything else with ease.
Yes, they do. There are kids building programmable computers with redstone in minecraft. How more abstract can you get?
http://www.minecraftforum.net/forum/67-redstone/
You can do the same with Javascript.
http://glsl.heroku.com/
http://games.greggman.com/game/html5-bytebeat/
http://jsfiddle.net/
Surely there are more such thingies, which make it *very* easy to get something moving on the screen. Why bother with anything less, especially with what you proposed, unless you absolutely fucking hate the kid? Not saying you don't have a point -- I started to learn programming by modifying existing stuff, NOT by learning it from scratch. But I totally disagree that Javascript and HTML have to be lame. That's just a clueless statement.
... but do want a job involving Facebook or such, there's always moderating the reported photos.
now we need to go OSS in diesel cars
Yes. I think the best way to get them in to it is to start them off with python. It's a fun language. But you also learn a lot.
I'm 19 years old, and although I've only been coding for 2-3 years, I love it immensely. I've always loved computers, but never really took the time to get to know the computer. My junior year of high-school, I took an intro to programming course, just to see what it was like. My parents are computer-illiterate,and I didn't haveany real tech-mentors. Nonetheless, I excelled in the course, discovered my passion, and have been attacking a programming career ever since. I can't explain it, but I love code. I might be an exception rather than the rule, but there's still people out there.
Playing with lego's building something is NOT the same as just stacking endless bricks together.
Do you REALLY enjoy coding just for coding sake? Write endless meaningless and useless code that does nothing except compile? Poor you.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
Okay, you enjoy coding for coding sakes? Write 1 million goto lines. Enjoy. You don't? You want to achieve something? have something to show for it at the end even if it is just demo or a thing that has been done a million times but the first time for you? Then you are doing it for something.
It is amazing how many idiots there are on slashdot. This is not new. People do things for the reward, remove the reward (by cutting into the brain) and people stop doing it. Deny this and you deny biology and are just one small step away from Creationism.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
My question for the audience is this; Are kids these days bored because they only have single use toys? The toys they have only do one thing. This leads back to the original article, because when I learnt to program (on that Acorn Electron no less), I learnt because I was fascinated by how I could get the computer to do stuff, other then the prescribed functions that came with the machine.
This is an important question! Clues are everywhere: like here http://www.wired.com/geekdad/2011/01/the-5-best-toys-of-all-time/all/1 and here http://www.nytimes.com/2011/10/23/technology/at-waldorf-school-in-silicon-valley-technology-can-wait.html?_r=1
I think the difference is in what you get out of the box. My first computer was a C64. It had a handful of games and apps and a little blinking cursor. That was it. Today you get a computer out of the box and it can be in the internet inside of five minutes. Any type of program you may want (within reason here)...You can get. Getting someone excited about writing their own program when several hundred examples of the same thing (Only better) can be downloaded within a few minutes. I think I would have had a hard time getting excited about doing any programming had my first attempts been "I am going to create a far inferior version of existing programs."
I am 18. I first started programming around 8, but my interest increased from 12-onwards (8-13 was mostly just HTML, Javascript and PHP without much knowledge; at 12 I picked up C++ and, from there, I developed my skills). If you can fit my young years in the "current time", then, yes, kids still like to do it. Though, we're ~200 in our "Informatics Engineering" course (the best in Portugal) and very very few people learned to program alone (as in: developed interest and went with it). Some more have learned to do some programming because they chose to study technology right at the age of 15, but what they learned is really basic and somewhat flawed. I know 4 people that came into here with good programming skills, but none of them had a deep knowledge of computer architecture: either they coded "web" or they coded very very high-level stuff. So I'd say I'm an exception, together with them; we're still here, though.
Have you heard about SoylentNews?
I've heard the stories and then saw this BBC show or something about a family that had to live with 80 gadgets, and i was sorta amazed how the the two boys just sat there and figured shit out.
I had the same reaction. Oddly enough, it was the "salesman" teaching the boy a few of the basics of programming that convinced the family to select the BBC Micro over the ZX Spectrum! Later in the episode, the boy brings a friend home from school to play at writing computer programs. (Both kids are eagerly searching the manual!).
That's something we've lost in this modern age. That blinking cursor just invited you to create. Even today, it can spark a child's imagination; the novelty of the home computer in the 80's doesn't seem to enter in to it at all.
For anyone interested, the program was called Electric Dreams and took the family through the 70's 80's and 90's one day at a time. The segment with the micro is from the 80's and can be found on youtube.
Required reading for internet skeptics
This is true. Back then I was interested in geeky stuff like science but the majority of kids were not. Just because computers are more common now does not mean that the ratios have changed. There may be more kids interested in computers but that does not mean there are more geeky kids. The computing profession has gone a long ways towards being just another dull and uninteresting conformist job because it's so ubiquitous now.
In fact I think it's nearly to the point that a true geeky ten year old kid might actually avoid computers because they're too mainstream and boring.
I recently discovered that I could make my own barbecue sauce from scratch and have it taste precisely as I wanted to. Seems like a simple concept but for 35 years I was too busy doing other things to learn how to cook. After I made a barbeque sauce better than any bottled variety I had ever tried (for my tastes), I decided to aim higher.. making soup from scratch. I now make the best vietnamese beef soup I have ever tasted. Someday I will be able to make pie crust, caramels, and hand made bread like my grandmother used to make. Although right now, those goals seem too lofty.
I noticed that the motivations for me wanting to learn how to cook today is very similar to my 12 year old self wanting to understand the machine in front of me until I could make rudimentary video games that I would want to play. Deep diving into the details so I could have to the power to control the machine and express my creativity with it.
When dealing with helping kids, I don't think the tool or topic matters, its the process. It's possible that computers are no longer to tool or topic de jeur with creative and intelligent kids these days, and that's fine.
Just figure out what excites the kid and do what you can to encourage exploration.
IMHO, you mistake was to ask him to do something (you want). The best way is to just show how to do it and that's it. Curiosity is the main driving force at this age. He will try, he cannot stop after he learned. The result must be visually attractive. For example sin() function graph. Next step will be to draw something dynamic. Most common tasks were biorhythms (static), snake eating randomly appearing items (sort of game, I wrote it several times on different platforms and languages, even my boss wrote it;) ), 2D war games (for "advanced developers").
I remember at 5 or 6 I asked my mother to teach me to read. She started "teaching". Nothing good came out of this till she stopped and I learned it myself.
Amen on the single use construction toys! I buy Mega Blocks for my 3 year old and the sets have few "generic" pieces but lots of custom single-use pieces. Ex: A custom piece for the front of the farm house, a custom piece for the chicken to stand on. Your best bet is to buy a miscellaneous set from eBay, Craigslist, momswap, etc. Preferably get a set where lots of the custom pieces are missing, so you don't get trapped into building only the fixed things it was designed to build. :-)
Are kids these days bored because they only have single use toys?
Yes! Get the kid a video camera, or play dough, so they can make whatever they want.
I learnt because I was fascinated by how I could get the computer to do stuff, other then the prescribed functions that came with the machine.
A friend of mine once set it best. "Some times you just want to make the computer dance."
I have been wondering lately if there are any kids interested in programming for its own sake anymore
You say this as if there was a time when kids were interested in programming. Sure you and I were, but the number of kids who wanted to program for the sake of programming was close to 0. There weren't that many. Today? There still aren't that many. Of course today they have more outlets. but programming is difficult and it isn't for everyone. It wasn't then, and it isn't now.
He just graduated (iirc) from RIT, & he told me he went into the art & science of computing because "He admired that I was 'good' @ it"... he even told me he literally went into them because of this.
(On "good"? Hey - that's a PURELY relative term!)
I mean, to me? Hey - guys like Mr. Anders Heijelsberg & John Carmack are "good/great" imo @ least - me? Heh - I can "get the job done" & that's my estimation of myself currently @ least, even after professionally coding & network adminning since 1994-1995, + a 1982-1994 "rookie" amateur period before that!
(1982-1987 was not as "intense" though, I was more into them for fun or business in that timeframe, plus, face it - computers then? SUCKED by today's standard (I had slave terminals to work with MOSTLY in those days, I didn't like it, or the timesharing dummy slaves latencies @ times in academia (VAX VMS 1180) OR programming COBOL!!!).
Anyhow/anyways - back on track before I go way, Way, WAY "off on a tangent":
He liked computers from the age of 4-5 iirc, & my sis/his mom made SURE he had really nice machines back then (circa 1993-1995 or thereabouts, in 486 Dx/2 66mhz rigs with 16mb RAM on them - good stuff for them imo).
He also had the benefits of today's internet - & this was something I absolutely TOTALLY agree with "Uncle John" from the article about!
(Yes, guys... it IS a big advantage! I.E.-> Lots of source that works OR can be "adapted" quickly with little variation, & in many ways, BETTER than books are because you can directly discuss issues with other coders, or, just plain get help too - plus, DIRECT ACCESS TO VENDORS documentation too! This? Saves MASSIVE time!)
Yes... there was NOTHING of this nature I knew of when I started this lunacy (around 1982)).
My nephew though? Hey - I didn't think he had it in him but so far? Hey - He's done VERY well!
In fact, He just "scored" a job with BOX.COM in fact after graduating!
This is the great part to see!
That & along with seeing him do a pretty damn good job/round #1 of a hosts file downloader/integrator-merger/deduplicator/sorter/filter in PyThon too (which I did a BIT of err-trapping in Try-Except-Finally + added filtering work on to make it a BIT better).
I told him "IF you go out to interview? Have 'wares' you've done handy you can demonstrate & preferably either in websites you've made, or wares you've put onto the 'freeware/shareware' circuit @ least... just something to SHOW potential employers. A good start? Take my "APK Hosts File Engine 5.0++" idea, & 'run with it' - do a BETTER one than I did, & have @ it. He did... and a fine job too.
In fact, AFTER I "polished it up" a bit in errtrapping + better filtering?
I used it in lieu of my own app for a year, & even decided to rewrite mine for better performance!
His was truly, decent & had a faster dedup algorithm!
(Python's C++ built nature helps, & piped commands like in *NIX did as well, FAR less stringwork coding, this is certain (RegEx helps a LOT there - it's dynamite vs. a spoon to dig down a mountain of a problem).
The Python folks, especially for an interpreted language, really did a HELL of a good job on that in SET work...
In fact, it "inspired me" to return to my Object-Pascal/Delphi one, & not only port it from 32-bit into 64-bit, but to reduce its runtime (Boy, did I - heh, used to take 1++ hours to finish, now? 10-15 minutes, & I am STILL not done!).
Yes, even "oldsters" can learn a thing or two OR be "inspired" by the upcoming youth behind us, lol... can't let the boy's head get TOO big he 'outwrote me', hehe.
Anyhow - doing an app, & one they WANT to create? Keeps them interested, teaches them to "tune/profile/optimize" & even EXTEND their own work!
It's important for 'noobs' out of academia imo as well, & for perhaps the MOST important part: JOB INTERVIEWS!
It shows initiative as well as your skillsets above & beyo
Just like math, programming is inherently interesting, so yes, kids still take an interest in it. I think b/c of javascript there's probably ore programmers today than ever before and the profile of those people has changed from geek to just average.
You are absolutely right. I've learned many programming languages and related technologies as a kid and as an adult. Each and every time I start with something new, it's the same excitement, the same enjoyment at creating something. Just a few months ago I read about CSS media queries and built an HTML+CSS only page (no Javascript) that shows what my browser reports as my screen's resolution. It's just a copy'n'paste job of the same CSS rule with a different dpi number each time.
But I enjoyed it. It was a great satisfaction to see it working. I immediately uploaded it to my webspace and tried it out with the various devices I have available. I got out a ruler, measured the displays of my devices and compared the reported dpi with the actual physical dpi. I probably got about 1 hour of fun out of some trivial CSS and a web page that displays nothing but a number. And that's despite the fact that I've done considerably more fancy stuff in the past (e.g. a demo with wobble effects and vector balls in assembly language)
But to me learning something new, experimenting with it and using it to create something on my own is enjoyment in and of itself. The notion that this could be boring is absurd to me.
But as you said: Some people find this stuff fascinating, most people don't.
You can't teach a kid to enjoy programming, just as you can't teach him to enjoy playing football. If he doesn't, he doesn't. You may teach him to do it, even force him to (this is more common with sports than programming, though) but you can never teach him to enjoy it.
That being said, what you can do is show kids that programming exists. Back in the day it was normal to type in BASIC listings from magazines. Everybody who owned a computer knew about programming at least in principle. Everybody grokked the fact that software is not something magical like electricity (which comes from the socket) or steaks (which come from the supermarket), created by some large faceless corporations through unknown processes which the ordinary user could not hope to understand, let alone replicate.
These days, unfortunately, most computer users lack this understanding. For them, software IS something that ordinary people cannot create themselves. And this misperception keeps a lot of kids who would otherwise enjoy programming, from ever trying it out. They simply don't know that programming exists as a hobby. But THAT'S something that can be changed.
This is a psychological issue. It's like a kid stopping to play with bricks after seeing the Chinese Wall on TV. This happens. Unfortunately a lot of people are like that to some degree (especially adults). But truly creative minds are not like that. An artist does not drop his art after visiting a museum. The creations of others are inspiration, not intimidation.
Yes. Me.
http://tinyurl.com/42geekcode
Our fancy home Windows machine offers too many distractions, but the TRS-80 turned out to be enjoyable and provides immediate gratification. The Kim-1 turned out to fascinate, too. Before you all start hating on Basic and machine code, remember that you learned arithmetic before calculus.
Copy Watch ,Swiss Rolex Watchesamaze by their incomparable accuracy, complicity, functionality,reliability.They can be used for many years if you take care of them.