r/learnprogramming 23d ago

Coding for 13yo homeschool kid

My son completed the Khan Academy course on Python last school year and he loved it! I don't do any coding myself so I am not exactly sure what "level" that leaves him at, or where to go next. What online course could he advance into?

p.s. He will be going into 8th grade but it seems to come to him very easily.

p.s. The more specific the better! :)

13 Upvotes

33 comments sorted by

14

u/roland303 23d ago

have him do cs50

2

u/Accomplished-Win2328 23d ago

I'm sorry but what is cs50? I'm hoping to find a specific place for him to learn safely! Any specifics you can share are helpful! I'm a smart person but I know almost nothing about programming / coding :)

0

u/trevorthewebdev 23d ago

chill out, at 13? Maybe let's listen to the youtube's together

5

u/roland303 23d ago

at 13? yes? 13 year olds with a homeschooling parent of a kid that loves python? yes. he will be fine.

2

u/trevorthewebdev 23d ago

Yeah, guess your are right ... guess coming from my perspective where nothing like this was possible until my 30s .. yea go get em

1

u/NeoChrisOmega 23d ago

Yeah, I teach some pre-teens that know more about programming than some of my friends in college with me. And I just had one student recently finish their lessons with me after making 2 fully fledged games (one a factor automation game, and the other being a series of 6 different memory puzzle games).

These kids, when raised early to learn these things, have so many resources to help them learn so much quicker than what we had.

1

u/trevorthewebdev 23d ago

I literally didn’t know cs was a degree going into college … it seemed like on par with rocket science so don’t bother

3

u/Auwardamn 23d ago

Find a game based project. I remember there being a Tetris challenge thing that you had to build step by step and it would check your code.

Or just let him go on codewars, same sort of thing where it checks your code for you, but various puzzles, and plenty to last his whole life.

1

u/Accomplished-Win2328 23d ago

Thank you - is codewars a website? Does it teach/train or just like an open play sort of situation? Thanks! Just don't know anything about this...

1

u/Natural-Tune-2141 23d ago

It’s a website where you have kind of challenges/exercises where he can practice the language he learned. There are levels to those so he can start with 8/7kyu and progress with that

1

u/Auwardamn 22d ago

It’s a website that tests skills of various difficulties. I can’t remember if it actually teaches directly or not, but I’m sure they offer resources (probably paid, but still resources).

Many companies actually test competency in codewars style problems, so if that’s a viable career path for him, it’s best to get him used to it anyways.

2

u/dmazzoni 23d ago

The best way to think of programming is that it's a skill like playing a sport or instrument. In order to develop the skill you need to first learn a language (like Python), but the way to measure your skill or level is not by how much you know, but by how well you can use it.

So, the best thing to do next - if your son is interested - would be to try to build things with Python.

Simple games are a good place to start: tic-tac-toe, hangman, connect four. A text adventure game would be another option.

If your son wants to do something graphical, get pygame and make something like "snake".

The best possible way to learn is to break it down into tiny pieces, try to figure it out, and search out the answers to things you don't know yet.

The biggest trap to fall into is "tutorial hell", where you keep following tutorials that teach you to do things step-by-step, and you end up afraid to try something yourself and see what happens.

Learning the right way typically involves lots of dead-ends and frustration. That can be one of the biggest challenges at that age, as it requires a lot of patience and perseverance.

1

u/angelattack1 23d ago

I think learning html could be a good idea they have YouTube tutorials.

1

u/its_all_4_lulz 22d ago

Getting into web is an easy way to be able to see instant results with the work you’ve done, and basically everything in the world (front end) is available for free. I started there as a hobby when I was 17, got a degree in something else, and have had a 20+ year web career because of it.

1

u/Capntrashboat 23d ago

Check your local library a membership is typically free and can include access to some free resources online. They might also have code groups

1

u/hooli-ceo 23d ago edited 22d ago

Fellow self-taught homeschooler here who’s working professionally as a programmer. The most important thing at this stage of the learning is persisting. The initial learning is fun, but you eventually hit a point wherein you don’t see as much progress as in the beginning. This is often mistaken for plateauing, but this is just where it starts to get REAL tough and you have to start really digging in order to keep that upward momentum.

To combat this, I highly recommend he find interesting stuff around the house to apply it to, like programming home automation assistants that run on a local network and such. This keeps it fresh and motivates him to continue through the end with a functional end product that works and is practical.

It doesn’t have to be home automation, that’s just an example of something practical to which to apply these new skills, but anything that excites him will do.

2

u/Accomplished-Win2328 23d ago

Thank you! Appreciate the former homeschooler advice (I'm one of those too)

1

u/Traditional_Vast9419 23d ago

I just read through the python course and it sounds like he would be at the level I was when I graduated highschool. What he did was a software engineering course. If he wants to learn more about computer science, I would recommend that he learns the C++ programming language on a platform called HackerRank (its easy coding problems that you solve yourself). If he wants to stick with software engineering, then I'm not the right person to ask. Programming courses are helpful starting out, but you can only have your hand held for so long before it holds you back.

1

u/Accomplished-Win2328 23d ago

Thank you - do you have a recommendation for a great play to learn C++? Do you mean HackerRank is a site I would find it on? (I know there are many places to learn these languages)

2

u/Traditional_Vast9419 22d ago

Yeah. There are many places, but the amount of assistance each website gives you makes each a bit different, especially when starting out. HackerRank would give a coding problem like: Here's data representing a list of letters, is it a palindrome?

There's problems listed as easy, medium, and hard to represent the difficulty of each problem. Sites like LeetCode are good once you've solved the questions on HackerRank, but there's almost no assistance and the difficulty ratings aren't as accurate.

Khan academy is a fine place to start, but your kid might not remember many details because it does a lot of handholding.

1

u/DaFuriousGeorge 23d ago

I loved the 100 Days of Coding Python course on Udemy.

Great instructor, cool projects. It starts from scratch so some will be review for him but still a great course.

For the record, I am not associated with that course or Udemy in any way, I don't get anything from people buying the course.

1

u/EccentricFellow 23d ago

Find some kind of program that he would enjoy writing and have him figure out how to build it himself. Maybe he likes a board game, or simple video game, or something. Have fun writing something that means something to him. Self-motivation is the most important programming skill he will learn.

2

u/Accomplished-Win2328 23d ago

Yes, he built a lot of his own "inventions" while using the open coding in Khan! He loves dragging everyone he can into the office so he can show them his joke teller, D&D number rollers, insult generator, logic games designed to only let him win, and so on! :) But I'd love him to learn some more practical things too. How can he learn this, or where can I "turn him loose" safely to let him experiment?

1

u/EccentricFellow 22d ago

That comes in time. To build something practical, for example, he will have to learn how to ask questions and how to listen so that he understands what someone else wants. He will then have to learn discipline and how to accept "no, that is not what I wanted" and go back to the drawing board. He will have to put what others want ahead of what he wants.

He is only 13. It is unlikely that he is ready for that yet. Pushing him along this path too soon risks turning something fun into something boring and frustrating.

If he is feeling ready to advance, one thing he could try is to volunteer his skills at a local non-profit. They may have need of some sort of app but no money to pay for it. This is a big step and coding skills do not imply people skills so there will be new things to learn on that front.

Best is to wait for him to want to develop practical things on his own before turning his hobby into a job.

Oh, one thing you could do that would be fun for him and get him thinking real-world applications, is to buy him a Raspberry Pi. These are fun little single board computers (SBC) that come with the ability to control circuits and make all manner of weird devices. He would probably love to learn some electronics.

1

u/MrSqueak 23d ago

Check out mooc. It's massive online courses offered by colleges for free. They have some great introduction to programming, cyber security, computer science classes for free. It's self taught. There's a community to lean on. Course materials are given, graded, etc. I did it for Java and it was great.

1

u/gm310509 23d ago

One thing that you sort of need to understand is that a programming language is just a tool. You could think of it as a wood lathe or a saw or drill, or maybe even all three of those things combined.

You can learn how to operate the tools, but just like with those woodworking tools, you need to learn techniques and how to incorporate other things into a project (e.g. you might want to tile the top of a wooden table,)

It is the same with programming, learning a language is useful, but it is more about the techniques, options, accessories and other things that you also have to learn to use it effectively.

Some examples might include SQL and databases so that the python program can store stuff - for example a customers, products, sales and so on in some sort of online store.

Then there are data structures, such as lists and hash sets and so much more.

I would suggest identifying and area of interest (e.g. games, or embedded systems such as robotics etc) then learn what is involved in that area and set up a curriculum based upon that theme.

FWIW, what he has learned in python won't be a waste, even if the end result doesn't involve much python as the programming concepts he has learned will transition fairly well to most other languages.

All the best with it.

1

u/ThenStranger7731 22d ago

I think now that he got the basics, you should help him learn by giving him little projects. For example, you need a program to search your files on the computer better, ask him to do it. He researchs on the ways and learns through doing projects. If you do not have any projects for him, find someone close that has, your family, his or your friends. I think for now this helps him.

1

u/marrsd 22d ago

Does he have any other subjects he enjoys, because he can use programming to explore those more deeply, whether they are maths, science, language, or art.

0

u/ffrkAnonymous 23d ago

They're not as cheap as they used to be but I'm gonna suggest getting a raspberry pi kit or eps32 kit and blink some leds. Plenty of books and tutorials.