Author Topic: Learning Simple Programming for a Ten Year Old?  (Read 6207 times)

0 Members and 1 Guest are viewing this topic.

Offline fourfathomTopic starter

  • Super Contributor
  • ***
  • Posts: 2005
  • Country: us
Learning Simple Programming for a Ten Year Old?
« on: November 11, 2022, 08:54:01 pm »
My grandson is turning ten next month, and I would like to expose him to simple programming.  I'm not trying to turn him into a "coder", but I remember my early experiences with computers and enjoying simple programming essentials such as counting, calculating squares and primes, even just "Hello World".  I am looking for recommendations, probably not graphically-oriented, but simple BASIC or whatever the current thing would be.  I want him to see the numbers and the logic.

My first experience at that age (ten) was actually manually punching Hollerith cards -- I didn't really understand much of it, but it left an impression and a fascination that has stayed with me ever since.  Later I learned BASIC, working with teletype. paper tape, and a minicomputer.  I'm a hardware engineer, not a true programmer, computer scientist, or mathematician, but that early exposure made a big difference to me.  I would like to give my grandson the same opportunity that I had, and I would be quite happy to mentor him.  Perhaps it won't catch his interest, but it's worth giving it a try.

Recommendations?
We'll search out every place a sick, twisted, solitary misfit might run to! -- I'll start with Radio Shack.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Learning Simple Programming for a Ten Year Old?
« Reply #1 on: November 11, 2022, 09:06:15 pm »
BASIC is still around, that's what I was starting to dabble in at that age.

Python also has a very low barrier to entry, it can run in an interpreter and is nearly as easy to get started with as BASIC.

There are also some games that are programming-like that might be easier to engage a younger kid with.
 

Offline Gyro

  • Super Contributor
  • ***
  • Posts: 10174
  • Country: gb
Re: Learning Simple Programming for a Ten Year Old?
« Reply #2 on: November 11, 2022, 09:12:08 pm »
Maybe an opportunity to teach some simple hardware [Edit: interaction] at the same time. Take a look at Micromite / Picomite (Pi Pico version) BASIC...

https://geoffg.net/micromite.html
« Last Edit: November 11, 2022, 09:26:29 pm by Gyro »
Best Regards, Chris
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 8275
  • Country: ca
    • LinkedIn
Re: Learning Simple Programming for a Ten Year Old?
« Reply #3 on: November 11, 2022, 09:16:41 pm »
For a 32/64bit free Basic compiler, look here:

https://www.freebasic.net/
https://www.freebasic.net/forum/  (Yes, you have an 'active' community forum with users today who can help you...)

You get a free compiler Windows & Linux and even Dos if you want to make a program which fits on a single bootable floppy disc.
Tons of source code examples on the forum.
Includes 32bit graphics support, window interface, OS extensions and sound including things like OPenGL 2D and full 3D examples and .mp3 players including complete video games.
I've also used it for full USB serial port control for my HDL/FPGA projects connected to my PC.

Most dumb simple basic code works.  The only new thing you might need to get used to is no line numbers, sub-routines are given labels/names.  The other thing is you need to declare the variables you use at the beginning of your code.

(Combo hardware/software things I have done with FreeBasic and a simple 3 wire TTL<->RS232 dongle include office monitor for temperature zones logging and controlling the furnace, Exercise bike generator workout tracking / charting, logging and scrolling scope of workout, FPGA hex editor / debugger and a few others...)
« Last Edit: November 11, 2022, 10:09:05 pm by BrianHG »
 

Online Nominal Animal

  • Super Contributor
  • ***
  • Posts: 7194
  • Country: fi
    • My home page and email address
Re: Learning Simple Programming for a Ten Year Old?
« Reply #4 on: November 11, 2022, 09:33:12 pm »
How about one of the maze-solving robots?  Like Sparki?

Kids nowadays have so much audiovisual stimuli that I think something concrete they can interact with physically as well as via programming, might be more likely to ignite the spark.
 

Offline _Wim_

  • Super Contributor
  • ***
  • Posts: 1568
  • Country: be
Re: Learning Simple Programming for a Ten Year Old?
« Reply #5 on: November 11, 2022, 09:43:14 pm »
You might consider "Lego Wedo 2.0" (10 years might be a bit too old, but my son had much fun with when he was 8 ), or "Lego Mindstorms" (have not used that one).

Lego Wedo that had lots of interactive challenges which made it fun to discover new functions, and the fact that it was controlled and "programmed" by his andriod tablet was big bonus!

Those are expensive options however, but very well executed
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 13217
Re: Learning Simple Programming for a Ten Year Old?
« Reply #6 on: November 11, 2022, 10:09:22 pm »
You probably should strongly consider leveraging the Arduino hardware platform, but obviously, at age 10 an interactive interpreter is vastly preferable to any compiled language.  Therefore, taker a look at: https://create.arduino.cc/projecthub/sl001/basic-on-arduinos-5b4e24

There are various other Arduino Basic interpreter projects, but IMHO many of them miss the point by defaulting to using a PS/2 keyboard and a low-res LCD or OLED for display.  Back in the day, even the crappiest home computer had a 32 or 40 x 25 character display, often on the family TV so typically at least 14" diagonal, so programming on a crusty old keyboard while peering at a tiny LCD/OLED doesn't strike me as at all appealing!

Using a PC running a terminal program for the UI and mass storage is far more attractive, and as skills develop can eventually lead on to conventional PC hosted development using a cross-compiler.

The physical interactivity side of things can be handled by an Arduino based robotics kit, but unless there's an available play area with a large hard smooth floor, a robot arm or similar may be preferable to an autonomous robot buggy.  If you do go down the buggy road, its well worth adding an ESP8266 WiFi module, which can be used to interact with the Arduino and even reprogram it remotely using esp-link: https://github.com/jeelabs/esp-link paired to the user's home WiFi, without the aggravations of a wired tether. 
 
The following users thanked this post: edavid

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 8275
  • Country: ca
    • LinkedIn
Re: Learning Simple Programming for a Ten Year Old?
« Reply #7 on: November 11, 2022, 10:11:56 pm »
Note I started Learning Atari Basic at the age of 11.  If your son really wants to learn, Basic may be possible at the age of 10 with guidance.  By the time I was 13, I was already fiddling with connecting my own hardware to my Atari 800 joystick ports and making software controlled hardware.  In the summer of 84, I did teach in summer camp Atari & Apple Basic to campers as young as ~9 years old, so it is possible which they all really enjoyed as I taught them to rudimentary think how to break down a problem steps you can explain to others or a machine to perform what you want them to do.
 

Offline jamesglanville

  • Contributor
  • Posts: 48
Re: Learning Simple Programming for a Ten Year Old?
« Reply #8 on: November 11, 2022, 10:17:26 pm »
I think something interesting that flashes/moves is much more interesting. There are only so many "hello world" programs you can write.

An arduino and an led matrix or something might be a fun start.
 

Offline fourfathomTopic starter

  • Super Contributor
  • ***
  • Posts: 2005
  • Country: us
Re: Learning Simple Programming for a Ten Year Old?
« Reply #9 on: November 11, 2022, 10:43:07 pm »
Thanks to all for the suggestions!  At the moment my grandson is enthusiastic about Mario Bros and Zelda, and I will admit that the graphics and action is a huge draw.  Perhaps some of the more interactive / graphical options mentioned would be more appealing, while still (I hope) introducing the purity and beauty of algorithms, logic, and numbers.  But that might be too much to ask for at his young age. I'm not going to push him into something that doesn't interest him, so we shall see what works.

BTW, I'm competent in more than a few programming modes; BASIC, assembly, Pascal, C, C#, etc., embedded and otherwise, so setting up that area and any hardware will be the easy part.
We'll search out every place a sick, twisted, solitary misfit might run to! -- I'll start with Radio Shack.
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 8275
  • Country: ca
    • LinkedIn
Re: Learning Simple Programming for a Ten Year Old?
« Reply #10 on: November 11, 2022, 11:00:40 pm »
If you look here: https://games.freebasic.net/listalpha.php

You will find a ton of games.  I know they are too complex to begin with, but it may help add interest.
Some of these games have their source code available.

Some fun games:

Axiebal 7  https://games.freebasic.net/dumpbyid.php?input=114 (Though a 2D game, it renders the screen using 3D geometry.  Surprisingly good graphics and music, fun, for anyone who likes a Marble Madness style game. (You can set the GFP to full 1080p res in the game options menu.))
Asteroids https://games.freebasic.net/dumpbyid.php?input=148 (This one includes the source code)
« Last Edit: November 11, 2022, 11:12:16 pm by BrianHG »
 

Offline eti

  • Super Contributor
  • ***
  • !
  • Posts: 1801
  • Country: gb
  • MOD: a.k.a Unlokia, glossywhite, iamwhoiam etc
Re: Learning Simple Programming for a Ten Year Old?
« Reply #11 on: November 12, 2022, 12:03:43 am »
I'd advise to skip that sterile, toxic and egotistical path (look at silicon valley types for confirmation of this) and maybe guide him into a PROPER engineering career, one where laws of physics.and constants are engineered, Vs the weekly whims of some gen X "engineer" at Google.

Stand him in good stead by lighting the fire of enthusiasm for PHYSICAL WORLD OBJECTS & it's far more rewarding.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9964
  • Country: us
Re: Learning Simple Programming for a Ten Year Old?
« Reply #12 on: November 12, 2022, 12:06:06 am »
BASIC is pretty much a dead issue.  I would expect anything with feedback to be more entertaining.  To that end, I recommend any of the 'arduino starter kits for kids' (yes, search Amazon for that phrase...)

https://www.amazon.com/ELEGOO-Project-Tutorial-Controller-Projects/dp/B01D8KOZF4

The tutorials start from the ever popular blinking LED up through motors, 7 segment displays and a host of other gadgets.  The tutorials are great! 

The code is presented in C.  The end goal is to build up the knowledge and confidence to move on to the robotics.

I see the manufacturer thinks the kit is suitable for 10+.  Clearly, it is going to depend on the kid and what level of interest they have.

The thing about Arduino is that it is all over the place.  There are thousands of projects to duplicate and coding is generally simple.  Worst case, Copy-And-Paste works well.

A wee bit of adult supervision in the early stages probably helps.  The software installation is straightforward and printing "Hello World" is very well documented.

https://arduinogetstarted.com/tutorials/arduino-hello-world

There are many other tutorials at that site.

I'm not aware of any version of BASIC that natively talks to stepper motors over GPIO pins. Maybe something could be done with the Raspberry Pi but I suspect it will be a lot of work.  I did a lot of similar work with the 8080/8085 and Palo Alto Tiny Basic but that was about 40 years ago.  We've moved on...
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9964
  • Country: us
Re: Learning Simple Programming for a Ten Year Old?
« Reply #13 on: November 12, 2022, 12:11:35 am »
I have a couple of these systems and they do indeed run Microsoft BASIC.  "Some assembly required!" doesn't begin to cover it.

https://rc2014.co.uk/
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 8275
  • Country: ca
    • LinkedIn
Re: Learning Simple Programming for a Ten Year Old?
« Reply #14 on: November 12, 2022, 12:38:11 am »
I'd advise to skip that sterile, toxic and egotistical path (look at silicon valley types for confirmation of this) and maybe guide him into a PROPER engineering career, one where laws of physics.and constants are engineered, Vs the weekly whims of some gen X "engineer" at Google.

Stand him in good stead by lighting the fire of enthusiasm for PHYSICAL WORLD OBJECTS & it's far more rewarding.
We are talking about a 10 year old learning to develop a skill set, not decide their future life yet.  Learning how to program can lead to learning physics as well.
I say fourfathom should choose something they can do together.
If fourfathom likes/knows Basic, or any other language, let him start there if he wants.

I'm 100% self taught from the start.  I went to programming first as a means to learn how to control hardware, though I did begin because of the games which were available on the Atari 800.
 
The following users thanked this post: tooki

Offline sokoloff

  • Super Contributor
  • ***
  • Posts: 1799
  • Country: us
Re: Learning Simple Programming for a Ten Year Old?
« Reply #15 on: November 12, 2022, 01:18:50 am »
I'm a little surprised to see no one recommended scratch yet:
https://scratch.mit.edu/

My kids both took right to it and you can get a lot done that's graphical and interactive well before they get bored. I think they were doing it when they were 7 and 9, maybe. There's a lot of online scratch examples, you can examine other people's code and see how they did things, plenty of YouTube tutorials, and a kind of mashup of some of the best of old 8-bit BASIC, Logo, Hypercard, blockly-style programming, and good support for sprites with an actor model under the covers.

Here's one we did together following a tutorial but then doing some extensions and customizations ourselves. (I'm not going to deny that I had a heavy role in keeping them unstuck or helping figure out what was going wrong, but they did all the driving on the keyboard and, based on projects they did afterwards alone, they understood most of what was going on.)

Brick-breaker game in Scratch

Another one that the kids did much more on their own:
Rainbow Chase
« Last Edit: November 12, 2022, 01:29:49 am by sokoloff »
 
The following users thanked this post: rsjsouza

Offline MikeK

  • Super Contributor
  • ***
  • Posts: 1316
  • Country: us
Re: Learning Simple Programming for a Ten Year Old?
« Reply #16 on: November 12, 2022, 01:33:19 am »
Karel?  Logo?
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 8275
  • Country: ca
    • LinkedIn
Re: Learning Simple Programming for a Ten Year Old?
« Reply #17 on: November 12, 2022, 03:28:50 am »
Karel?  Logo?
Yes, I learned 'Logo' in school before I learned Atari Basic.
 

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 3044
  • Country: us
  • Not An Expert
Re: Learning Simple Programming for a Ten Year Old?
« Reply #18 on: November 12, 2022, 04:44:38 am »
I was thinking about a similar thing over the summer.
It didn't end up happening, but I was leaning towards something to do with Python and Minecraft to relate it to something they are already excited about.  The Minecraft resources are ok, but I feel like it makes the basics of programming ideas a little convoluted since you need to interact with libraries from the beginning. 

I wasn't sure how well a command line python interpreter by itself would keep their interest to get through the whole "what is a variable, what is a for loop" type core lessons.
 

Offline fourfathomTopic starter

  • Super Contributor
  • ***
  • Posts: 2005
  • Country: us
Re: Learning Simple Programming for a Ten Year Old?
« Reply #19 on: November 12, 2022, 05:38:09 am »
I'd advise to skip that sterile, toxic and egotistical path (look at silicon valley types for confirmation of this) and maybe guide him into a PROPER engineering career, one where laws of physics.and constants are engineered, Vs the weekly whims of some gen X "engineer" at Google.

Stand him in good stead by lighting the fire of enthusiasm for PHYSICAL WORLD OBJECTS & it's far more rewarding.

Wow, eti, who pissed in your cornflakes?

I can't tell if your "sterile, toxic and egotistical" pejorative is directed at me, or software in general, or something else, so before I take offence I'm going to ask you nicely if you would care to explain this in more detail.

I'm not trying to turn my ten-tear-old grandson into a programmer, or an engineer -- that would be stupid and cruel.  I just wanted to give him the opportunity to learn a little more about logic and numbers than he is currently getting in school.  BASIC came to mind because I remember learning this simple, linear, essentially english-language, programming language and thought it might be an accessible way to familiarize a young boy with concepts such as IF, THEN, ELSE (FOR/NEXT can come later), and give him the chance to explore elementary-school math in a fun way.  If he wants to go further that's great, but that's up to him.

I currently design RF and digital gear, use Verilog, and code in C and C#.  There is no way I would try to teach my grandson that stuff at his age.
We'll search out every place a sick, twisted, solitary misfit might run to! -- I'll start with Radio Shack.
 
The following users thanked this post: voltsandjolts, tooki

Offline eti

  • Super Contributor
  • ***
  • !
  • Posts: 1801
  • Country: gb
  • MOD: a.k.a Unlokia, glossywhite, iamwhoiam etc
Re: Learning Simple Programming for a Ten Year Old?
« Reply #20 on: November 12, 2022, 05:46:05 am »
I'd advise to skip that sterile, toxic and egotistical path (look at silicon valley types for confirmation of this) and maybe guide him into a PROPER engineering career, one where laws of physics.and constants are engineered, Vs the weekly whims of some gen X "engineer" at Google.

Stand him in good stead by lighting the fire of enthusiasm for PHYSICAL WORLD OBJECTS & it's far more rewarding.

Wow, eti, who pissed in your cornflakes?

I can't tell if your "sterile, toxic and egotistical" pejorative is directed at me, or software in general, or something else, so before I take offence I'm going to ask you nicely if you would care to explain this in more detail.

I'm not trying to turn my ten-tear-old grandson into a programmer, or an engineer -- that would be stupid and cruel.  I just wanted to give him the opportunity to learn a little more about logic and numbers than he is currently getting in school.  BASIC came to mind because I remember learning this simple, linear, essentially english-language, programming language and thought it might be an accessible way to familiarize a young boy with concepts such as IF, THEN, ELSE (FOR/NEXT can come later), and give him the chance to explore elementary-school math in a fun way.  If he wants to go further that's great, but that's up to him.

I currently design RF and digital gear, use Verilog, and code in C and C#.  There is no way I would try to teach my grandson that stuff at his age.

I’ve had a terrible day. I’m sorry. Take care.
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 8275
  • Country: ca
    • LinkedIn
Re: Learning Simple Programming for a Ten Year Old?
« Reply #21 on: November 12, 2022, 06:26:03 am »
I'd advise to skip that sterile, toxic and egotistical path (look at silicon valley types for confirmation of this) and maybe guide him into a PROPER engineering career, one where laws of physics.and constants are engineered, Vs the weekly whims of some gen X "engineer" at Google.

Stand him in good stead by lighting the fire of enthusiasm for PHYSICAL WORLD OBJECTS & it's far more rewarding.

Wow, eti, who pissed in your cornflakes?

I can't tell if your "sterile, toxic and egotistical" pejorative is directed at me, or software in general, or something else, so before I take offence I'm going to ask you nicely if you would care to explain this in more detail.

I'm not trying to turn my ten-tear-old grandson into a programmer, or an engineer -- that would be stupid and cruel.  I just wanted to give him the opportunity to learn a little more about logic and numbers than he is currently getting in school.  BASIC came to mind because I remember learning this simple, linear, essentially english-language, programming language and thought it might be an accessible way to familiarize a young boy with concepts such as IF, THEN, ELSE (FOR/NEXT can come later), and give him the chance to explore elementary-school math in a fun way.  If he wants to go further that's great, but that's up to him.

I currently design RF and digital gear, use Verilog, and code in C and C#.  There is no way I would try to teach my grandson that stuff at his age.

This might be perfect for you: https://www.quitebasic.com/
Real-time online interpreter with program stepping to run a line at a time.
Sample basic programs included, simple enough for 10 year old beginners.
Nothing to download, 100% runs in your browser.
Even does simple graphics.
 

Offline _Wim_

  • Super Contributor
  • ***
  • Posts: 1568
  • Country: be
Re: Learning Simple Programming for a Ten Year Old?
« Reply #22 on: November 12, 2022, 06:29:42 am »
I'm a little surprised to see no one recommended scratch yet:
https://scratch.mit.edu/

Maybe not directly scratch as a language itself, but Lego Mindstorms is programmed with scratch:

https://education.lego.com/en-us/product-resources/mindstorms-ev3/teacher-resources/scratch-how-to-videos


 

Offline Infraviolet

  • Super Contributor
  • ***
  • Posts: 1185
  • Country: gb
Re: Learning Simple Programming for a Ten Year Old?
« Reply #23 on: November 12, 2022, 06:56:37 pm »
I recall a website called "learn python the hard way" which, for the first few sections, before fancy object-oriented stuff started to be discussed, gave a very good introduction to common programming structures and universal functionality (shared between almost all langugages).
...But programming with an arduino, and therefore being able to have a program reading real sensors and running real actuators is a lot more rewarding for a beginner than writing programs which just do things on a screen.
 

Offline DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6403
  • Country: es
Re: Learning Simple Programming for a Ten Year Old?
« Reply #24 on: November 12, 2022, 07:57:37 pm »
Didn't Lego made some sort of programmable stuff?
Would be great for him to program something he can actually see and play with.
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf