Hacker Newsnew | past | comments | ask | show | jobs | submit | bootup's commentslogin

I agree with you on your first point where you say that the best way to get concepts is by breaking things. But two to five minutes for explaining such CS concepts as variables, functions, and even operators may prove to be nothing more than just a fleeting moment, especially if you are dealing with a group.

Do you mean 8-16 as an age range or a number of students in the class?

Also, not all kids get excited at the first sight of scale. It often requires taking time to explain things and give different examples of this phenomenon.


Sorry, I should have been more specific. When I say "explain operators", I mean something along the lines of "To add numbers, you can write '2+5 <enter>' and it will give you 7". In two to five minutes you can probably explain addition, subtraction, multiplication and division and then link it back to variables. So "Type 'i = 3 + 3 <enter>'. Now type 'i <enter>'. It should give you '6'."

It seems to me that attention span is the biggest hurdle. You're unlikely to hold a ten year old's attention for more than a couple of minutes if they don't have a solid understanding of why the concept you are teaching is important and how it ties in to the other concepts they have learnt. If you can show them how useful a concept is, they're probably more likely to go and gain a more thorough understanding on their own.

> Do you mean 8-16 as an age range or a number of students in the class?

Age range. Ideally you would want to avoid having that sort of spread in a single class (perhaps take one class for the 8-12 age range and one for 13-16 age range).

> Also, not all kids get excited at the first sight of scale. It often requires taking time to explain things and give different examples of this phenomenon.

True, I'm just basing what I wrote on what my friends and I found particularly interesting. It's probably different for everyone.


How did you find playing the RoboRally game? Did you think you that were being taught programming, or that you were just playing a board game? Thanks.


Well, I have more than 10 years of programming experience, so I obviously did not get the feeling of being taught programming. But I think non-programmers also do not have this feeling. So people play the game, learn to program their robots and maybe don't even realize that this is actual a kind of programming.

I think what people can learn from the game is how to combine simple instructions into more complex robot movement. In addition, you to step through your 'program' in your head in order to check that it is doing what it is supposed to do. But I honestly cannot say if this game is suited to teach programming.


One advantage of the "how to train your robot" activity is that abstraction can occur more than in RoboRally, such as creating repeatable subroutines (eg, turn around then say "I'm dizzy" 100 times).


SkyMarshal, check out a new game called Code Hero. It's a game that teaches kids how to control Unity 3D env with code.

Their team just raised 170k on Kickstarter and they have the beta ready for download.

http://primerlabs.com/download

http://www.kickstarter.com/projects/primerist/code-hero-a-ga...


It better be a computer literacy thing.

Many of us are taught music lessons early in life but only some become musicians. The main goal of these lessons is not really for us to become professional musicians in future, but to know that music is composed of notes, who the classical musicians were, what instrument are there, and so forth. The same thing applies to arts and painting classes. The basic goal is for us to get an idea about basic techniques and gifted people.

The main thing to learn is the fact that both music and painting are forms of expression and that we will continually encounter them in life. Also, with the help of these early lessons many uncover their inner genius and that helps them go in the known direction from that point on.

Since coding is an activity that trains one's computational thinking - a skill that is so relevant today - it better be introduced early in life too. It is also a form of expression, and knowing that it exists and how it can be applied is just as relevant as knowing about arithmetic, letters, music, art, etc.

I don't suggest that the format of the current classes is the right one (in fact, I believe that it is not), but it is essential to have a child-friendly methodology and teach coding, or rather "programming", as a skill early in life.


Thanks for sharing this, Josh!

I absolutely agree with Nikos' approach to teaching programming young learners without using an actual code. If we teach kids the idea of programming early - it will then be much more intuitive for them to pick up the language formalities later. Because by that time, such a fundamental question as "why" is already answered in practice.

In other words, the time for a real language comes as an actual need that has been experienced in practice and doing. And that makes all the difference in understanding what you need and why.

It's all over the web that more and more parents and teachers come to appreciate the idea of teaching kids to code. But the problem is that they don't know where to even begin or what tools to use. As a result, kids looking to learn programming today are faced with two main extremes:

(1) storytelling, game dev, and animation programs; and (2) real-world languages or tools based on IDEs;

Programs in the first category are all fine, except for cases when the app is too compute-intensive, or 3D objects are clumsy or rough-looking (but these problems are just temporary).

But those using real-world IDEs to introduce programming are effectively training young pilots on real fighter jets. Such tools seem too complex and intimidating even for experienced computer users. What they really ought to be using is a "flight simulator", but currently there are too few tools that allow to do that and all pretty limited.

Even when we have something that useful it makes absolute sense to use physical games in the gym to introduce the notion of composing instructions for something/someone else (a parent-robot in Nikos' case :)

Nikos, thanks for sharing your work, and congrats on joining Knewton!

Hope you don't mind me including a link to videos of your class once again:

https://www.facebook.com/drtechniko


I'm familiar with Scratch as an element of the first category; what other (meta-)programs do you recommend?

I learned some HyperCard and some Basic as a kid, but didn't get hooked until i could do useful things with shell scripting in college, which is definitely a case for category 2, or perhaps something even simpler: programs written in a plain text editor or even just on the command line itself.

The power to do things that matter is typically more motivating to girls than to boys, who will do something just because it's there (ie, why boys tend to play more video games and more girls end up in teaching and social-justice work). Just trying to provide another perspective. :)


Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: