My kid is never more fascinated than when she sees me inspecting HTML or using the terminal. I wouldn't ever push a CLI on her, but she is genuinely more interested in learning about computers when she's staring at a screen of text she doesn't understand. We've started doing an HTML tutorial, and her initial enthusiasm seems to have generated enough momentum that she's now excited about what we can do using these previously-daunting text-based tools.
When we got our first computer, my then husband was excitedly explaining to me how to do stuff on it. I stopped him and said 'Where is the on switch??" My point: You may need to scale things back to where she is from your current vision.
Also, I recently showed my two sons a little html and css. My oldest has been wanting to learn a programming language and not finding anything intelligible for the way his mind works. A few minutes of demonstration and the light went on as to what kind of info he needed, which he promptly began looking up. We also used analogies using video games to provide some mental models for it. So if you run into any hitches, consider trying to adapt to her learning style and using something she is familiar with to provide examples.
Good luck. And I still want to learn a programming language, so would love to hear how this goes.
Unplug the computer from the internet, hand the kid a UNIX manual, and
suck all joy from computing.
Having a working browser teach you programming is like having an android in
the form of Kelly LeBrock teach you robotics. You're gonna want to do
things to it that engage your little brain.
yet there are a lot of concepts they need to digest before they jump into the html/js world. it already means they need to learn two languages (html and js), interaction between them , etc... I'm not even mentioning things like - open notepad, save the file, make sure you get the extension right, fire up the browser, click open (why not in address bar? oh yeah, you can, but tell a kid the file:///<blah> business and see if they remember it after 3-4 days of not doing it) and see what happens. of course it's just a reload away next time.
not as easy as qbasic.exe, then typing in some code in, then hitting 'run' and seeing what happens.
speaking from experience here, i have 8 and 10 yo, and tried this with both of them. my friend tried with his 9 yo. they seem to get the idea of assignments, loops etc, but it just doesn't excite them. can't generalise on a test sample of 3, so just my 2p.
for my kids i've just thought of introducing them to computers via linux tiling window managers, they can operate from a terminal and learn to code.
i think browsing the internet via terminal like w3m does might take out a lot of the addictive nature of what catches your eye, and you can keep the utility of stack overflow
another equivalent would be teaching them to scrape each individual web-page for text on their own
This. My 12 year old son was never very interested in school coding (Scratch mainly), but when shown how to manipulate existing web pages using Inspect in Chrome that really caught is imagination.
I really sympathize with your points, but I feel like line-based text entry based programming is not something today's kids can relate to at all. For them web programming is much more relatable and accessible. Their "hello world" is in HTML, and their first programs should be in JavaScript. You don't want the kid to face the horrors of the browser DOM APIs directly, so using jQuery or the like makes a lot of sense. But overall this will hold the kid's interest a lot more than text line-input based programming, since she's probably never seen a text-based program before and can't relate to it at all.
That said, if the OP's neice is willing to "put up with" text-based programming, Python is a great environment.
Another fun but short trick you can use is to show them how to edit html of websites.
I showed my SO's daughter this and have never seen her so engaged in HTML. I didn't expect anything to come out of it, the goal was just to prank people. But it might be all it takes to push a young person over the edge and get them on the path to more learning.
I started learning HTML at age eight. No one in my family had experience with programming or using a terminal (there was an HTML book on discount at the book store). I was able to get started because it was dead simple, and only used tools I was already familiar with: the web browser, Notepad, and regular files.
I too started with Basic, and learnt Python and so on, but I feel like she likes the visual aspect of it and the link to HTML which she "knows" already
Talk to your child. Share experiences with him and talk about what you've experienced. You'll both learn a lot.
When my daughter was in the early years of elementary school I was just getting started with web development. I was working at home and she showed an interest in what I was doing. I tried to teach the basics of html so she could create web pages. She definitely had the intelligence to succeed at it but it didn't appeal to her. I didn't push it. We found something else to share: reading books and visiting bookstores. She's developed a broad intelligence that is helping her have a fulfilling life without a line of code in sight.
I showed my younger kid some stupid JavaScript tricks in the browser developer console and he was off to the races, looking up how to make splashy buttons and the like. So I got them the "Get Coding" books, which are HTML/JavaScript. He's on to more elaborate things now.
I also showed my older kid some JavaScript and Python after he had messed around in Scratch for a while, and he was mildly interested and then went off to do other things. So YMMV because my mileage certainly varied.
Try to explain programs as a to do list for computers. This might be hard since her fist exposure to computers is HTML/CSS. kind of sad actually. How did that happen? Just curious...
Maybe show her that she can put dots of any colors on screen using html canvas and javascript. Show her how to draw lines. How to draw circles and color them. Show her how to move them....That should be enough to get her off from Html/Css and move to real computer programs...
May be just leave her alone..encourage her to spend less time with computers and go out and play with other kids..She is 10 year old, right?
There has been a lot of talk about teaching HTML and js to adults recently (learn to web-dev in x months, get a job), but this is even better!
Teach kids! You have to wonder what will become of a whole generation of kids who are growing up with a js shell in their browser... (Anecdote, the other day a 10 year old showed me around minecraft -- not just the 3D world game: he also had a complete understanding of about 10-30 commands in the command window. I found tp=teleport to be quite cool. 10 year old! In a couple of years, you could give this kid some ssh keys and he will run your systems n.p. I spoke to his hacker mom RE hiring her son (eventually) and she said she will think about it.)
That’s just great, what a great parent you are! I personally do not know much HTML or even much about web dev in general but I suppose it’s worth a try.
If she learned HTML on her own volition, then yeah I think you should go with javascript to add interactivity to her creations. If you get the feeling she's interested in the computational aspect of it, definitely show her python.
Another approach would be to code up a simple interactive python script and let her run it. It could be a number guessing game (she tries to guess a randomly generated number, it tells you if your guess is low or high and she has a certain number of tries). Or it could be a mad lib game (she enters a noun, verb, adjective, etc. and it spits back a funny story/sentence). It depends on the kind of kid she is. You could help her code up a version of her own and go from there.
reply