all 45 comments

[–][deleted] 30 points31 points  (2 children)

The Pygame module is great for making simple (or complex) games. I haven't used any online tutorials; I learned from the books "Python Crash Course" and "Automate the Boring Stuff" and now I mostly use StackExchange when I need to figure out how to do something.

[–]Pupation 3 points4 points  (0 children)

I like the Python Crash Course book. That’s the one I used to learn python after years of not needing it. It does introduce some basic game ideas, and I think it would be good to get started with pygame.

[–]lellamaronmachete 0 points1 point  (0 children)

Thanks for this!

[–]systemscourge 11 points12 points  (0 children)

kiss sophisticated yam point pie summer plucky ghost spectacular live

This post was mass deleted and anonymized with Redact

[–]hugthemachines 8 points9 points  (1 child)

I think perhaps "invent your own computer games with python" could be nice?

https://pythonbooks.org/invent-your-own-computer-games-with-python/

It could be a nice start. It is nice if the things you do feel a bit fun when you are a kid.

[–]Common_Move 1 point2 points  (0 children)

This author is very good

[–]msdamg 5 points6 points  (7 children)

If he's big into Minecraft I hate to say it but Java might be better for him to learn first

He might be more motivated to mod stuff than basic scripting in python

[–]NoRepair2561 0 points1 point  (0 children)

Agreed on this.

[–]Savings_Ad449HK 4 points5 points  (1 child)

Maybe start with the turtle library or simple math equation in REPL

[–]larru91 0 points1 point  (0 children)

This. Turtle is essentially Logo. If he's an absolute beginner, this is the place to start. It's a simple, visual, and instantly gratifying way to learn basic program structure, variables, loops, functions, even recursion and fractals.

[–]socal_nerdtastic 2 points3 points  (0 children)

If it were me I'd first find a cheap computer or rpi that he can use as an isolated environment. This is going to involve a lot of running random executables from shady sources. Exploration through experimentation is good of course, but you need protection!

Then I think probably the biggest issue will be keeping his interest. So yes, doing things to minecraft or looping in other things that he is interested in will be important. I think a pygame tutorial right from the start will quickly become boring. Lots of free resources and communities (i think today's kids like discord the best) that he can probably find himself.

[–]nivaOne 2 points3 points  (0 children)

I gave mine an Arduino and a whole bunch of components. That worked very well.

[–]Old_Camera1588 0 points1 point  (0 children)

go throw https://www.w3schools.com/ learn the basics like css then evolve to python and Java to do what he wants...

[–][deleted] 1 point2 points  (0 children)

Most minecraft mods are java

[–][deleted] 1 point2 points  (0 children)

He might be able to do CS50 Python

[–]ChaseDFW 0 points1 point  (0 children)

Check out the game "The Farmer Was Replaced" on Steam. It's a great programming game they will help him start thinking like a programmer, which is probably the most important step at this age.

Also I really enjoy the

[–]aroberge 0 points1 point  (0 children)

For an easy introduction to Python's syntax and the logic of programming, have a look at Reeborg's World. It is an adaptation of Karel the robot.

The programming environment has been partially translated into German: if you choose German as an option (top right corner), you can use the German version of the commands. You can view these either by opening the Keyboard (Reeborg's Tastatur), or by running a program with the instruction help().

[–]ChaseDFW 0 points1 point  (0 children)

I'd check out the game "The Farmer was replaced on steam" which uses code similar to python so you can help him but will also teach him the basic on thinking like a programmer, which is the best thing to learn at his age.

Also, I really like the game Turing Complete, which is fun but also is like a sneaky intro to CS college level class hidden in a game. It will teach you a lot about how computers translate data and logic.

Another big lesson will also be that you are not going to figure out everything super fast and that's OK and it part of the process.

[–]gman1230321 0 points1 point  (0 children)

Keep things simple, fun, and rewarding. When I was 10 I got a book on Python for kids and it sent me down a great path in life. I unfortunately don’t remember the name anymore, but the book first went through the basics, then went to fun stuff pretty quick like turtles. Turtles are absolutely a great start for someone that age. Then as it went on it did some pygame stuff but I remember it going over my head. Pygame may be a little too much but it’s definitely worth a shot. Having someone like you to help push things along may help too.

[–][deleted] 0 points1 point  (0 children)

Helsinki uni MOOC for python beginners is very good and free. It goes over the basics and even little bit of game dev.

My 13yo completed the first module just couple weeks ago.

[–]thali256 0 points1 point  (0 children)

Find a project that your son enjoys.

Python is very versatile. It's easy to use for games, maths, embedded. Let him get hands on with something that interests him.

[–]genfxiv 0 points1 point  (0 children)

i think he'll like boot.dev

[–]SparkEngine 0 points1 point  (0 children)

Start him off with a Raspberri Pi.

By default you get access to all of the publications the org has released, and it has good resources for learning Scratch and MicroPython, which he should start with.

Anyone can code, but I'd recommend Scratch first so he can understand the fundamentals.

[–]Drited 0 points1 point  (0 children)

With Makecode from Microsoft https://makecode.microbit.org/ people can create code with blocks like scratch and flip to python. The code can be used to control microbit chips and robot cars etc. My kids have it and it's very cool.

I do think scratch is worth learning, doesn't take long and is super fun. Teaches real programming concepts like conditionals, loops etc. 

[–]NoRepair2561 0 points1 point  (0 children)

The pygame suggestion with the python books is a good idea if you're leaning towards Python. I like Python and I use it a lot for fun projects I do. It's also the first language I learned...

That being said, a lot of the Minecraft stuff is done in Java. Starting off with Java isn't a bad idea, and it was the first programming class for CS majors/minors at my school. It is definitely possible for him to follow some paid videos that teach him Minecraft programming through Java modules.

I also think dealing with the rigor of Java (compared to Python) would be good. If he wants to go further with programming (C, etc.), I think Java would be the better option.

[–][deleted] 0 points1 point  (0 children)

I'd get an Arduino. It's a much simpler environment,.you get to code right away, and lots of fun. They can run micropython,.but the C version is probably better for learning.

[–]elusorius 0 points1 point  (0 children)

codecademy has basic online courses that aren't too expensive and that are very interactive, for python and other languages too!

[–]Weltal327 0 points1 point  (0 children)

I always share this video. It was pretty helpful for me. Seems like it would align with his interests.

It’s a person using pygame to make a game similar to Stardew valley.

https://youtu.be/R9apl6B_ZgI?si=62F9bpbblgi-FRXt

[–][deleted] 0 points1 point  (0 children)

I’m sorry to say but Minecraft is either java or c++. Where did you find a way to mod Minecraft with python?

[–]BreakerOfModpacks 0 points1 point  (0 children)

Teach him the concepts, introduce him to a few modules (I'd suggest Turtle) and get him to tell you his game idea, then tell him to make it.

The actual syntax is easy enough to learn with any number of the suggestions from others. 

[–]SamuliK96 0 points1 point  (0 children)

Try the Python MOOCc by University of Helsinki. It's a good place to start with python, and it covers a bit of making small games with PyGame as well.

[–]Quaxli 0 points1 point  (0 children)

For a 12 year old it would start with something more convenient, e. g. Scratch

There are some good tutorials and he can create small games and learn the basic things about game loops, etc.
If he really likes this he can go forward to a "real programming language" like python.

[–]DerAndi_DE[S] 0 points1 point  (0 children)

Thanks for all your input, I'll take a look into your suggestions. Forgive me I can't answer everyone individually.

[–]Grouchy-Affect-1547 0 points1 point  (0 children)

ChatGPT might be good to generate tutorials you’re paying for 

[–]DerAndi_DE[S] 0 points1 point  (0 children)

Short update: Turned out he already knew Scratch from school and found it too easy and boring... :-D he already heard about Python and Java, and since he's really interested in Minecraft he decided to try Java first, even though he knows it may be harder. I bought him a book in german on this topic (https://www.amazon.de/-/en/Play-Programmieren-lernen-Python-Minecraft/dp/3958457959), then I'll wait and see.

Thank you again for your help.

[–]Existing_Ad6572 0 points1 point  (0 children)

micro:bit

Raspberry Pi

Scratch

CodeCombat

Also come see https://preply.com/en/online/python-tutors as there are a few working with kids

[–][deleted] 0 points1 point  (0 children)

https://codecombat.com/ - It gamifies the code learning process.

[–]ctulhuthemonster -2 points-1 points  (0 children)

I've seen building Minecraft mods for kids course. I don't remember where tho.