r/programmingforkids • • Feb 11 '26

Why do we teach the way we do?

28 Upvotes

I've been coding on and off for over 20 years. I work as a data analyst and am looking to transition over to more of a dev kind of role. I give this context to highlight that everything I know about coding across a bunch of languages has been learnt as an adult or older teen.

My daughter has just started school and I asked her teacher when they start learning to code because I have heard they start very early these days. I was told they start with bee bots (never heard of them but they are very simple bots that are programmed to move by increments) and then move on to scratch. I'm told it isn't until later in highschool around here (I'm in South Australia) that they learn any real programming language based coding.

My daughter's class will be doing basic reading and writing before the end of the year. So why do we wait so long after they can read and write to get them writing real code? What is the evidence based methodology behind this?


r/programmingforkids • • May 16 '19

I taught my son to write computer programs, and this is the result.

24 Upvotes

Hi! I taught my son to write computer programs. He's 11. Right now I am teaching him C. I told him to write a game for his homework and he wrote this game 'Zombie Nights'. I was so surprised! He had written games before in BASIC that impressed me but this was his most interesting program to date. You can play it by typing "make zombie" or using an IDE. Please tell us what you think about his game, he's really proud of it and I think it helps him get confidence to see when other people like his ideas. Here's the source code he wrote:

www.helloneo.ca/wiki/pfk/c_programming#zombie_nights_final

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

void store(void);
void zombie(void);

#define true 1
int nights = 3;
int ifDark = 0;
int hunger = 10;
int havesword = 0;
int havegun = 0;
int bullets = 0;
char option[20];
int zombies = 1;
int food = 0;
int money = 0;

int main(void) {
    char name[40];
    printf("Name: ");
    fgets(name, 40, stdin);
    name[strcspn(name, "\n")] = 0;

    srand(time(0));
    zombies = rand() % 5 + 1;

    while (true) {
        if (nights == 0) {
            printf("You survived the zombie invasion! Yay!\n");
            printf("Good work! The End.\n\n");
            return 0;
        } else {
            printf("\n\n\n *** You must survive for %d more nights! ***\n\n", nights);
        }

        if (ifDark > 20) {
            printf("\n");
            printf("It's getting dark.\n");
            printf("The zombies are coming to your house!\n");
            zombie();
            continue;
        }

        if (hunger < 3) {
            printf("Warnings: Your hunger is too low.\n");
        }

        printf("\n");

        if (hunger < 1) {
            printf("Oh no! You ran out of hunger! The end!\n");
            return 0;
        }

        if (havegun > 0) {
            printf("Gun: Yes\n");
        } else {
            printf("Gun: No\n");
        }

        if (havesword > 0) {
            printf("Sword: Yes\n");
        } else {
            printf("Sword: No\n");
        }

        printf("Money: %d\n", money);
        printf("Food: %d\n", food);
        printf("Hunger: %d\n", hunger);
        printf("\n");
        printf("Do you want to //eat// ?\n");
        printf("Go in the //store// ?\n");
        printf("Or go to //work// ?\n");
        printf("Do: ");

        fgets(option, 20, stdin);
        option[strcspn(option, "\n")] = 0;

        if (strcmp(option, "work") == 0) {
            printf("\n");
            printf("You go to work at your favorite restaurant\n");
            hunger--;
            money = money + 10;
            ifDark++;
            continue;
        }

        if (strcmp(option, "store") == 0) {
            printf("\n");
            printf("You enter the store.\n");
            hunger--;
            ifDark++;
            store();
            continue;
        }

        if (strcmp(option, "eat") == 0 && food > 0) {
            printf("\n");
            printf("You eat your food.\n");
            food--;
            hunger = hunger + 5;
            ifDark++;
            continue;
        }

        if (strcmp(option, "exit") == 0) {
            break;
        }

        printf("Something is wrong. Maybe you didn't type that properly.\n");
        // continue;	// omitted
    }

    // fallthrough -- reached on 'break;' above.
    printf("\n");
    printf("Exiting ...\n");
    return 0;
}

void store(void) {
    while (true) {

        printf("\n");
        printf("What do you want to buy (bread, steak, sword, gun, bullet or leave)? ");

        fgets(option, 20, stdin);
        option[strcspn(option, "\n")] = 0;

        if (strcmp(option, "bread") == 0 && (money > 4)) {
            printf("\n");
            printf("You pay for your loaf of bread.\n");
            money = money - 3;
            food++;
            continue;
        }

        if (strcmp(option, "steak") == 0 && money > 9) {
            printf("\n");
            printf("You pay for your yummy steak.\n");
            money = money - 10;
            food = food + 4;
            continue;
        }

        if (strcmp(option, "gun") == 0 && money > 29) {
            printf("\n");
            printf("You pay for your gun.\n");
            money = money - 30;
            havegun = havegun + 1;
            continue;
        }

        if (strcmp(option, "sword") == 0 && money > 9) {
            printf("\n");
            printf("You pay for your sword.\n");
            money = money - 10;
            havesword = havesword + 1;
            continue;
        }

        if (strcmp(option, "bullet") == 0 && money > 29) {
            printf("\n");
            printf("You pay for your bullets.\n");
            money = money - 1;
            bullets++;
            continue;
        }

        if (strcmp(option, "leave") == 0) {
            break;
        }

        printf("\n");
        printf("Something's wrong. Ether you don't have any money for that or you "
               "didnt type it properly.\n");
        // continue; not necessary at end of loop
    }

    return; // exit function, return control to main loop
}

void zombie(void) {
    while (true) {
        printf("\n");
        printf("\n");
        printf("Zombies left: %d\n", zombies);
        printf("What wepon do you want to use (sword, gun)? ");

        fgets(option, 20, stdin);
        option[strcspn(option, "\n")] = 0;

        if (strcmp(option, "gun") == 0 && bullets > zombies) {
            printf("\n");
            printf("You kill the zombie(s) without getting hurt.\n");
            bullets = bullets - zombies;
            hunger++;
            ifDark = 0;
            nights--;
            break;
        } else if (strcmp(option, "sword") == 0) {
            printf("\n");
            printf("You killed a zombie.\n");
            zombies = zombies - 1;
            havesword = 0;

            if (bullets > zombies || bullets == zombies) {
                bullets = bullets - zombies;
                printf("You killed the rest of the zombies with your gun.\n");
                ifDark = 0;
                nights--;
                break;
            } else {
                printf("You could not kill the zombies and the zombies ate your brain.\n");
                exit(0);
            }
        }
    } // while

    // fallthrough on break; above
    return; // return control to main program
}

r/programmingforkids • • Aug 29 '26

Self paced program for learning Minecraft mods?

21 Upvotes

We are homeschooled, my kids (9 and 11) have just moved from bedrock to java and are very motivated to learn how to mod Minecraft.

I’m looking at Codakid as a curriculum, but at almost $300 a year I want to make sure it’s the right move - does anyone have any expierence with Codakid or other self paced curriculums to teach Minecraft specific modding?


r/programmingforkids • • Mar 15 '22

KidCoders.dev - A website with a structured curriculum for teaching middle school kids Python

Thumbnail
kidcoders.dev
19 Upvotes

r/programmingforkids • • Jan 13 '20

Curated List of Links to help kids learn Programming

Thumbnail
docs.google.com
18 Upvotes

r/programmingforkids • • Sep 06 '24

Coding activity for children: Factoring a program using functions (5-6 years+)

16 Upvotes

I created a coding activity to teach children how to use functions in programming.

You can read the instructions, watch a video example, and download the materials for free here: https://codidactic.com/9/write-your-own-functions

The goal is to simplify complex coding tasks by "factoring," which means breaking them down into smaller, more manageable functions. In this activity, the child will:

  • Decompose an image into higher-level objects.

  • Create functions to draw these higher-level objects.

  • Use the functions they've created within a program to produce a complex drawing with minimal code.

I hope you enjoy it!


r/programmingforkids • • Feb 28 '24

your thoughts about real-world coding for kids?

16 Upvotes

Hello to everyone. I am a volunteer trying to teach children coding. There are many apps that help kids with coding. Drag and drop, block coding etc. I agree that block coding makes learning coding logic easier for kids. Well, isn't it hard for a kid to want to write real-world code after all this practice? I mean that how smooth passing from "coding with no error" world to real coding world. Were you a kid interested in coding? How was your coding adventure? How did you learn to code? Could you please let me know your thoughts? #codeforkids


r/programmingforkids • • Nov 20 '14

Best Programming Resources for Kids

16 Upvotes

Hey, new subreddit! How about we build a list of the best programming resources for kids?

Here's my list. Of course I've missed a lot. Please add your own!

code.org - Nowadays, I'd recommend anybody new to programming start by exploring code.org's awesome online material. Play a programming version of Angry Birds with them, and look for their longer sequence of lessons. Code.org is lead by Hadi Partovi, and their online tools were built with an awesome team including several ex-Microsoft folks and contributions from Facebook and Google and others. They are using Googler Neil Fraser's awesome Blockly editor, which was inspired by Scratch (below).

Scratch is a creative open-ended programming environment where you program using blocks. It's from Mitch Resnick's MIT's LLK group. I like their focus on creativity and accessibility for children. They also have an incredibly supportive online community for beginning programmers. My son first learned to program with Scratch, and now he's a really awesome programmer.

CS First is not as well-known as code.org, but it's one of my favorite ways to get beginners started with Scratch. They have a series of project sequences that work really well either on your own, or in clubs or classes. If you've done code.org and you're looking for something different, look here next. I've worked with the teachers who created CS First, and they are awesome educators who have put together incredible material. They have lots more coming too.

Snap is similar to (and inspired by) Scratch, but it's often used with older beginners, including university students. It is neat because it lets students explore higher-order programming concepts with functions and lambdas. It was formerly known as BYOB, and it's by Jens Mönig and Brian Harvey at Berkeley.

App Inventor allows beginners to program apps on their mobile phones, with all the sensors and gadget capabilities that implies. It is also block-based (also using Blockly). Originally created in collaboration with Mark Friedman's team at Google's Android, this very cool tool is now an MIT project by Hal Abelson's group at MIT.

Pencil Code lets beginners be web developers. They start with turtles and move on to HTML5/CSS and jQuery and socket.io etc. It has a unique switchable block-and-text editor (Droplet, created by my son!) that toggles between blocks and CoffeeScript or Javascript. Of course this tool is my favorite because it's the one I created for my own style of CS teaching: low-threshold no-limits. My goal is to propel kids to be creative using pro coding idioms (also check the book).

Processing is a visual way to get started with a Java-subset language. Created by visualization experts Ben Fry and Casey Reas in 2001, processing has enabled a whole generation of designers, artists, and data mavens to express their creations in code. This one is text-based, so a good step after blocks or Pencil. It is really beautiful.

Kahn Academy has a great CS offering that is centered around learning Javascript with processing.js (a Processing-inspired Javascript library). Kahn's CS offering is built by a team headed up by John Resig, the creator of processing.js and also jQuery.

Lego Mindstorms lets you program a LEGO robot you build. There are other robot alternatives, but LEGO's accessibility for kids is unmatched. Despite being made of plastic, they are mechanically awesome, and Mindstorms is probably the best introduction to robotics you can get today. (For learning robot code I wish that some alternatives to Lego's block language, like BrixCC, were more accessible.)

Arduino and Raspberry PI are the leading 'embeddable' platforms for learning. I find they're awesome for hardware hacking but a more difficult way to learn programming itself (E.g., the very nice Codebeder is really more grownup-oriented). Though some newer things like Coder and Minecraft PI are promising.

Alice is a 3d programming environment for learners. Alice was created in 1997 by Randy Pausch at CMU - he was one of the thought leaders in creating visual programming for learners. Alice is still developed by CMU, and it is still a unique offering in its 3d storytelling capabilities.

Code Academy has incredible online resources for learning professional programming languages such as Python and Ruby interactively, online. I have always liked teaching in Python, and code academy has knocked down one of the barriers: installation. You can use their tools to learn it totally inside a browser.

KT Byte has interactive online Java lessons - I see this group was created by ben from ktbyte (who I've met into at kids programming events), so here's a shout out to him! KT Byte's website is awesome and maybe the best way to learn Java online.


r/programmingforkids • • Mar 11 '20 Bravo

A Flowchart for Teaching Code to Kids and Teens

15 Upvotes

After three daughters and some time in STEM education, I wanted to share some of my experience teaching kids to code. So I made a flowchart of the different activities and languages we tried. I also wrote up the main decision points at here

DISCLAIMER: Based on my experience only. But if you have something you think I should add, please send me a message!


r/programmingforkids • • Feb 01 '25

How I learned to code

14 Upvotes

I am currently 13, and know HTML and C++ fluently. I never used paid courses. my mom would end up buying meeting times to learn, but I never had a good enough computer, I either had a celeron computer with 4GB of ram because it was cheap. Unless you need to do not get a celeron computer because it is cheap, a used thinkpad will do. Anyway because of this I never properly learned javascript because I couldn't have a zoom meeting and the IDE open at the same time. I used W3Schools to learn HTML and for C++ I would watch youtube videos (and W3Schools too). To run these "apps" I made, I would use an online compiler. and to run my HTML projects, I would make a file in the website vscode.dev and download it to my computer to run it. I did this all on a managed school chromebook the district probably spent less than a dollar on. Anyway I hope this helped


r/programmingforkids • • Aug 26 '19

Recreating 2048 Game!

14 Upvotes

r/programmingforkids • • Sep 01 '26

Free Screen Free Programming for Kids (6 to 11)

13 Upvotes

Hi everyone! I’ve been working on an educational project called Code & Craft Hub.

I create free, printable, screen-free activities that introduce kids ages 6–11 to computational thinking and coding concepts without needing a computer.

Some of the activities involve things like logic, binary, ciphers, algorithms, and problem-solving.

Website: https://craftandcodehub.base44.app/

I’d love to hear what you think or get feedback from anyone who tries the activities with their kids.

Thanks!


r/programmingforkids • • Jan 06 '23

Makecode vs Scratch vs mBlock vs Snap vs Blockly

13 Upvotes

I have 4 children of various ages but all under 12 yrs old interested in learning block coding. Quick search showed 5 main options: Makecode, Scratch, mBlock, Snap!, and Blockly. I cannot find any information on the differences between them. I'd love some insight into what makes the these options unique without having to create an account and enroll in classes for all 5.


r/programmingforkids • • Oct 20 '21

Hello I made this password generator in JS, and I am a 14 YO. (copy and paste) all you need to give it when using is length, don't go overboard though.

13 Upvotes

function randomString (length){ const validChars='`1234567890-=~!@#$% ^ &*()_+qwertyuiop[]QWERTYUIOP{}asdfghjkl;'ASDFGHJKL:"|zxcvbnm,./ZXCVBNM<>? ';

var strOut=[];

for(var q=0; q < length; q++){

var i= Math.floor(Math.random() * validChar.length);

strOut.push(validChar[i]);

} console.log(strOut.join(''))

}

do not generate a string more than 109,060,097 characters long.


r/programmingforkids • • Sep 14 '20

Modding Minecraft for a 10-year-old

13 Upvotes

My 10-year-old son really wants to make Minecraft mods. He quickly lost interest in the Lego robot.

I worry that learning Java will just be too difficult. Has anyone had success with teaching Minecraft mods to a child that age?

I see there's a course from Codakid: https://codakid.com/minecraft-coding/ - no idea if it's any good.


r/programmingforkids • • 26d ago

Online breadboard for kids learning electronics, the step before Arduino (I made it; free to try, paid licence to keep progress)

Thumbnail
gallery
12 Upvotes

Hi! I run a small after-school electronics workshop in Romania. Before kids write code for an Arduino, they need to understand what the code is switching on, so we start with circuits. Kids wanted to keep going at home, and a kit per child gets expensive, so I made an online version.

What it is: an online breadboard with guided electronics lessons

Who it's for: kids who are beginners, no prior knowledge needed

Subject: electricity and circuits (LEDs, resistors, buttons, sensors, relay, motor…)

Made by me: yes

Login: none needed to try; to keep progress, kids log in with a username and PIN (no email or personal data from the child)

• A short lesson, then the child builds the circuit and presses Simulate. If it doesn't work, it says what's missing instead of giving the answer.

• An LED without a resistor really burns, and stays burnt until it's swapped.

• 22 lessons, 137 broken circuits to fix from just the symptom, and a 1v1 duel with a friend.

• 7 languages (English, French, German, Spanish, Italian, Serbian, Romanian).

Cost: free to try (link in the first comment). The licence is 50 lei/month (~€10) or 500 lei/year (~€100) per child; co-ops and groups get packs from 10 seats.

Feedback from educators and parents is very welcome, especially what you'd want after it (we're thinking about where code fits in).


r/programmingforkids • • Sep 21 '24

Need recommendations

12 Upvotes

Hi, my child (13yrs) is interested in learning coding programs. I do not know about the materials and instructions needed for beginners. Please suggest some websites or courses for him to start learning coding.


r/programmingforkids • • Oct 02 '22

Best program (curriculum) for kids to follow and learn?

12 Upvotes

Software engineer here, my kids learned to code, outside of school, summer week at coding academies. But I want to start them up in a more structured setting, an online program that they can follow and I can follow their progress, at their speed. For kids, I can see the appeal of python, but open to other coding languages. What do you recommend?


r/programmingforkids • • Nov 18 '20

JavaScript for Kids

12 Upvotes

I've been working on a JavaScript framework to make JavaScript more accessible for kids and beginner programmers. The idea came after sitting down with my son to teach him some JavaScript, and quickly losing him while trying to explain the DOM.

The framework abstracts all of that complexity. You can throw down a lineTo command and a line appears right away.

https://github.com/maissaninc/kidjs

I would love any thoughts or feedback.

I would also like to ask, what in your experience are the items that new or young programmers get tripped up on? I'll start the list:

  • Improper case

  • Not closing blocks

  • Quotes inside of quotes


r/programmingforkids • • Sep 27 '25

Want to learn how to code? Try out EasyDev: Learn to Code!

Post image
10 Upvotes

Link to the App Store page: https://apps.apple.com/app/6749594445

Hello everyone, I wanted to share my new Learn to Code app, EasyDev. This app has courses with difficulties ranging from beginner-friendly to pretty advanced in Python, C++, and Java. I found a lot of other learn to code apps to be lacking in quality content, so I decided to change that.

The app itself was made exclusively by me, including all the programming, UI, assets, logos, etc. The actual learning content was also handcrafted by using structures similar to popular websites such as Edube and Codecademy, and there is a lot of interactive and descriptive content that takes inspiration from these websites, which are very popular for their effectiveness in teaching people how to code.

If you are interested in learning Java or just want to check the app out, please consider downloading the app using the link above. Also, if you experience any bugs or errors of any kind, please go to the Discord (in the app store page or directly in the app (Settings -> Join the Discord)) and let me know. Thanks in advance!


r/programmingforkids • • Jun 13 '24

Family coding game: Teach your kid how to use Conditions (age: 4+)

10 Upvotes

I created this family game that could help you teach your kids how to use conditions. You can watch the video of my son, my wife, and me playing it here: https://www.youtube.com/watch?v=7tNLo6TOSTw

If you want to see the entire learning series, I created a playlist with all the videos where I teach my son the principles of coding by playing games: https://www.youtube.com/watch?v=7zIJ1bwdrpI&list=PLHb3wBITvu6gJZgu5xNfjpZuQ_5sS9ZYh

You can read the instructions for the game and download the materials for free here (I recommend you glue them to cardboard): https://codidactic.com/5/learn-how-to-use-conditions

I hope you enjoy it, and if you try it, please share your experience with all of us!


r/programmingforkids • • Mar 01 '21

Best coding languages for kids in 2021

10 Upvotes

1.Scratch 3.0

2.Blockly

3.Java

4.Python

5.JavaScript

6.Lua (Roblox)

7.Alice

8.C# (Unity)

9.Swift

Source © : https://knovhov.com/most-marketable-programming-languages/


r/programmingforkids • • Jun 16 '20

Since Camp is at home this year...any thoughts on Coda Kids vs. CodeKingdoms for their Roblox online classes?

10 Upvotes

I have a 9 and 11 year old, both have a gaming PC (both are freaking human aimbots too lol), both have used and gotten tired of Tynker (I wasn't too thrilled with it - it was too simplistic I think, and lost their attention, with no clear way to ramp to actually making something - but we have lifetime memberships, so maybe I could revisit).

Coda and CK seem like they would be engaging in that they arent 'too easy' and that they actually make a thing, that they can play.

Any feed back would be cool. I think I'm leaning towards Coda Kids at the moment, but barely. I'd just like to have them on some schedule at home (can't just PLAY roblox all summer)


r/programmingforkids • • Nov 23 '19

I've designed a JavaScript Sandbox for Kids. Thoughts?

Thumbnail
howtocodejs.com
10 Upvotes

r/programmingforkids • • Oct 29 '19

My son is interested in programming. I need your opinion on the following resources.

10 Upvotes

He is still in elementary school but he is interested in all things technology. We got him started on scratch but maybe we need a more formal education. I have read a lot about these resources I mention below and did not get a clear idea. If you have any insight please share.

  1. Code.org - doing self defined coding exercises at his own pace. But I have read opinions online sharing why kids should not learn using code.org

  2. Grasshopper from google

  3. Joining him in codeninjas. https://www.codeninjas.com/ Belt system for programming. Tried looking for reviews but did not get too much insight into the curriculum. Seems interesting but expensive.

So, what do you think of these? Or are there other better resources we should try out? Any insight will be appreciated.

Thanks!