How were you learning programming at the age of 5?

This topic is 1039 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

I have heard a lot of stories that this programmer and that programmer started programming in fortran or some other language at the age of 5-7. How?

I told a three year old that I would teach her programming when she is 5. She says, "I am five." So I let her type her name on my laptop (Input and Output).

Were you hacking calculators at that age?

I am way behind myself. I started this venture 2 years ago.

There are even programmers that are teaching their children programming. How?

This is for my learning as well as my teaching.

Share on other sites

That is great advice. That immediate results thing is ideal even for me. Not long ago I found out what a REPL was. A basic language that is easy to understand with a REPL for immediate response sounds good. But I wonder if there is such a thing.

Or maybe that is a venture I will take myself.

Share on other sites

Old command line driven basic interpreters work this way, you can either issue a command and the system executes it immediately:

> PRINT "HELLO"
HELLO

Or you can put a line number on the start, and it stores it until it is told to run it:
> 10 PRINT “HELLO"
> 20 GOTO 10
> RUN

HELLO
...

This is pretty much how I started learning programming on an Apple 2E at around age 10. It's not hard for a kid to understand that anything between the quotation marks will be displayed on the screen.

For someone learning at 5 years old though, that's around grade 1 where I live. Me, I was still learning addition and subtraction at the time and multiplication was at least another grade away and took quite awhile to get the hang of. And though somewhere in there I understood that the "hungry alligator's mouth" always opened towards the larger number, I remember it took awhile to connect that thought to the words "greater than" or "less than". Though a 5 year old kid could probably pick up this stuff, I think the thing to remember is that there's the fundamental fundamentals that he's still going to be in the process of learning.

My 8 year old nephew expressed an interest in learning programming and I'm kicking myself for not buying this book I found in a grocery store a few months ago. I didn't have a chance to look at it carefully but it reminded me of the things I started learning on. I've ordered it last week and I'm hoping that it'll turn out to be a good start for him.

Edited by kseh

Share on other sites

I am watching a Harvard course called "This is CS50" on iTunes U. He is talking about the basics of binary and relating it to a lightbulb. I see this as input/output also.

I am curious about teaching it in an input/output way, and being able to adjust the input to get a different output. Maybe a simple game would even work. Non-textual. Maybe a color picker where a shape changes color. Some type of alphabet thing where selecting a letter gives you a list of things that start with that letter. That is the concept part. But how to nicely transition to the textual part (she isn't in school yet) is the part I am wondering about.

Share on other sites

I did my first 'hello world' around that age, though arguably, I did my first real low-level input system at age 9, so it was a slow crawl.

Anyone that compiled a serious program at 5 and hasn't somehow landed a shuttle on a moon by now should be ashamed :P

Share on other sites

I dont even think I could say "hello" at that age, let alone have any kind of logical thought.

Share on other sites

Watching cartoons and dreaming about becoming a robot. Good start to a programming career.

Share on other sites

I applaud any 5 years old that has the patience to really learn ANYTHING.... enough youngsters are not able to sit through a full lesson at school even at the age of 16, and the same can be said for younger kids so yeah...

That said, I lament the crazy ideal of todays society that a) if you are not a genious or a model, or, failing that, at least filthy rich somehow, you are a failure, b) if you sleep more than 4 hours, you are wasting your time, and c) if you haven't started your career before you could walk, you will never be successfull in life.

Common, give the 5 year olds time to play and be kids... fine if they want to learn to play the piano, ballet dancing or learning to program, but don't FORCE them to do that (plenty of parents do)...

Much more important to learn BASIC skills like how to walk, how to socialize, how to talk, how to read, and MAYBE simple math.

But I guess that is besides the point, so coming back OT: I think some of the programming games I have seen in the past looked like a good start. Or a visual scripting tool. That way, a kid can learn basic concepts without needing PERMANENT handholding by a more expierienced programmer until it understands the language, which at that age can take some time.

Edited by Gian-Reto

Share on other sites
I applaud any 5 years old that has the patience to really learn ANYTHING.... enough youngsters are not able to sit through a full lesson at school even at the age of 16

Remember that "learning" does not necessarily imply structured lessons.  I wouldn't bother to try sitting my two-and-a-bit year old daughter down for a lesson or class in anything yet, but I do take opportunities to provide information ("that's a crocodile"), correct mistakes ("no, that's red not blue") and partake in stimulating activities (counting things, naming colours, etc.) with her and she definitely learns new things every day.

The trick seems to mainly be in making activities interactive and engaging.  You'd be amazed how quickly children can learn new things.  Before I had my own children I was terrible at interacting with children and probably would have considered a five-year old completely unteachable.  Now I have a two year old and a ten day old, and given the experience with my older daughter I'm now absolutely confident that by five years old she will at least be learning basic reading, basic maths (she's already doing well with counting numbers < 10) most likely the basics of more complex activities like programming.

Share on other sites

I would very much consider using Swift, emojis as variable names can really help a 5 year old (talking out of experience). Also the language is reaaaally simple, and you have live results. Way better than my first QBASIC trials at around that age. :D

Share on other sites

I would also contend Gian-Reto, that sitting has no correlation to learning; and that for many little ones it has exactly the opposite effect.

Guys, I am pretty much aware of that. Yes, I know there are some young ones that have an amazing ability to learn things, and I am pretty much the living proof being able to learn has nothing to do with being able to sit still (no saying I am a good learner or anything, but still got my degree even though I had been kicked out of the classroom at least twice a week when I was younger because I couldn't sit through a full lesson without starting to become a nuisance to the teacher :) )

I might have had to word it differently: I applaud every youngster who has enough patience and steadyness to REALLY learn something. Often kids lose interests in something fast. True, that has little to do with the ability to get through school with good grades...

Share on other sites

I didn't have my first computer until I was 9 (a Commodore 128) and immediately started learning BASIC.

What was nice with the C128 rather than the C64 was that its BASIC had graphical commands otherwise very hard to do for a beginner in pure C64 mode such as circle, box, line, sprite etc. On C64's BASIC you'd have had to use pokes and math formulas for circles (way above my head at that age)

I've had tremendous pleasure trying to visualise simple scenes in my head and then trying to create them procedurally with those commands.

Since the C128 was a complete commercial flop and I became aware that I'd have no audience for my programs I increasingly wanted to be able to program in C64 mode and be able to do the same or better stuff (after all games did exist for the 64 so it was possible but I had to figure out how) and at about 12 I became aware of machine code and how professional games were made with it rather than BASIC. As you can imagine it was a steep learning curve after that...

Share on other sites

I dont even think I could say "hello" at that age, let alone have any kind of logical thought.

My daughter is 3 and she can beat the first level of super mario wii and tells me where to go in Shovel Knight (she says I can't beat the bosses without her, and sometimes I think she's actually right).

5 years old is fairly old, and since this is right before school really kicks in, most of what a 5yo can do is up to good health and how they were raised.

Share on other sites

There are four-year-olds and five-year-olds who still have not learned their letters and numbers.  There are others in the age group who are already reading and writing.

Obviously the former group they won't be cutting their teeth on programming.

But the latter group, as soon as they start learning how to spell words they can start programming. \

I didn't have any good old-school BASIC emulators for my kids, but I did introduce them to simple form-based stuff. Like most beginners they started with the basics, making boxes and changing colors. It took very little to teach them a few concepts but they got them very quickly.

There have been several times where I've built up this kind of simple override in a .net form application and hand it over to a literate child. They figure it out quickly enough:

public void DrawStuff(PaintEventArgs e)
{

// Create some pens.
Pen blackPen = new Pen(Color.Black, 3);
Pen redPen = new Pen(Color.Red, 3);
Pen greenPen = new Pen(Color.Green, 3);

Pen thickRedPen = new Pen(Color.Red, 8);
Pen thickGreenPen = new Pen(Color.Green, 8);

// Draw some lines
e.Graphics.DrawLine( blackPen, 5, 5, 20, 5);
e.Grahpics.DrawLine( redPen, 15, 15, 25, 15);

// Draw rectangle
e.Graphics.DrawRectangle(thickGreenPen, 20, 20, 30, 50);

// Draw an arc
e.Graphics.DrawPie(greenPen, 20, 100, 50, 50, 20, 180);
}


Help them figure out what the numbers mean and how to run the program.  That's all you've got to do. Then watch them for a half hour.

Thanks to autocomplete they'll figure out the correct names to fifty different colors and make all kinds of pens. Before the half hour is up most kids can build a screen covered with fifty named colors and hundreds of lines, rectangles, and arcs.

From there you can introduce concepts one at a time and make it into directed play.

My own kids enjoyed learning a few things and playing with some fun programming toys, but it wasn't a subject they wanted to stick with. They aren't interested in learning it (just as I wasn't interested in learning my father's profession) they at least have had some exposure.

Share on other sites

I guess a follow up as a new post rather than an edit:

Earlier this month, one of my daughters was talking to a friend about programming, and I was in the room quietly listening. She described that it was fun. She recounted how one time she came to my office and I let her program something in the Sims.

I had already put together the boilerplate to add an interaction to a new item that was on the screen and was about to fill in the details when they arrived. So I asked them what they wanted it to do. The first thing they thought of was to make the person rich.  So I had them type in the code to add money to the family funds. How much? Naturally, they added a million.

We ran it, and they decided it looked weird to have the person get lots of money far away, so I showed them how to add another line, make the sim walk to the object's routing slot.

The process repeated about five times, with one of my kids ultimately finishing it off by causing the sim to die at the end of the interaction, dying by electrocution only because that was one of the options in autocomplete.

She talked to her friend about how sometimes programming is boring, it is pretty easy to make fun things happen.

These little bits of exposure to programming were accessible at an early age and were memorable to my own kids, even if they don't want it for their own career choice.

Share on other sites

I started on the ZX Spectrum.  You couldn't even load a game without entering some BASIC.

Also at the time there was a massive push from the UK government to get the whole of the UK to be computer savvy.  So every TV channel (all four of them at the time ;)) had programmes demonstrating some kind of computer programming and every school and library had several BBC micros.
You couldn't go into Dixons (Big UK electrical retailer) to buy a TV without some store assistant wanting to show off his BASIC coding skills on a demo machine.

Pretty much every school kid from the 80s grew up with some exposure to BASIC, even if it was just"
10 PRINT "I am cool"
20 GOTO 10

I also forgot the regular school bookclub also always had these Usborne computing books:

Edited by Buster2000

Share on other sites

I started with QBASIC on an old Toshiba laptop running DOS 5.0, at 9, that my grandfather gave me when I expressed interest in learning to program.

I'd seen a friend playing Zelda on his SNES and wanted my own copy to play, but my parents wouldn't get me a SNES or any console for that matter. I therefore resolved to make my own video games, went to the library looking for books on making games, and found one that described how to do just that using GW-BASIC (though there was a chapter dedicated to using the techniques with QBASIC).

Edited by Oberon_Command