Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Looking for advice: How do you teach a child computer science?
5 points by dpflan on March 11, 2018 | hide | past | favorite | 10 comments
From your own experience(s), what has been useful for teaching a motivated child (e.g. middle-school age) Computer Science? I am looking for advice on how to continue to provide gradually more complex ideas and work and how to present ideas in a consumable and comprehensible manner. How have you taught and/or how have you learned?

I currently think letting the child take Udacity courses, using online resources, and working on problems from Project Euler are a start. While the child is learning on his/her own, there will be one-on-one sessions to elucidate concepts, to introduce new ones, to review old ones, and check work. I think that it is important to show connections from the topic of study to examples in the real world. I am beginning to think that a very useful approach is almost an apprentice model: the tutor and student agree upon a large project to create together with ideas coming from the student and support and guidance coming from the tutor. Once the project is selected, the tutor breaks the project down into actionable items that are learning opportunities (e.g. here would be a good place to practice OOP or a design principle, here would be a good place to examine computational efficiency/complexity, here would be a good place to examine recursion). The smaller pieces will add up and get "harder" until the tutor is autonomous. The tutor does the heavy lifting things that are fundamental and currently beyond the abilities of the student.

* I am not well versed and will be doing my own research into the "how to" of this question. I wanted to ask this here to see what discussion emerges to facilitate what I find and devise.

Thanks!




I taught my 4.5 year old daughter basic concepts in 10 minutes using scratch jr on a kindle. The animation aspect and ability to edit the characters were a huge appeal to younger children. There is a $5 book you can buy to get you started if you know nothing about scratch jr. There are versions for all of the tablets, so it is quite accessible. The version on the kindle is not super stable, so I would consider exploring the ios version.

We also used a mouse maze toy ( Code and Go Robot Mouse) where she programs the mouse to navigate different mazes that we construct to find the cheese. I switched it up and instead of using cards, I have her physically move the mouse and input each step. My neighbor also purchased this for his 5 year old son after watching my daughter program it. Seeing physical results of your programming is another benefit to this method.

I myself originally started in basic on the mid 80s by typing in different screen games. Eventually you pick up the different constructs and begin to make your own programs.

I was successful with this method for my nephew when he was 12, ten years ago. I had him type in programs from the free Python game book online. He modified them and was pretty fluent in the basics.

My wife has asked me to create a place to share these different resources we use to teach our child. I would be curious to know what resources others use.


I think that tangibility and playful feedback are great concepts for making the experience attractive - first superficially (how do you compete with iPad games :)), then deeper as a way to "see" the programming. I've brought in a GUI (Python's turtle [1.]) to help explore programs, computational and mathematical concepts, and to give more feedback and add another dimension.

The introductory programming course for the BS in CS I obtained taught Python and programming/cs concepts and used a robot (IPRE Scribbler 2 + Fluke 2 [2.]).

Did you create a place to share your different resources?

[1.] https://docs.python.org/3.6/library/turtle.html (pick your python version)

[2.] http://www.betterbots.com/


I setup a discourse forum on my site https://nextlesson.com but I have to give my wife and her sister an overview of the platform. They will setup the categories.


I'll tell you what I did: I always told them not to go into programming. Now two out of three have a skyrocketing career in startups, and the third is a math teacher who can build websites but doesn't...


Interesting. What motivated two of them go into programming? When did they not heed your advice?


I think there are two drivers in how you as a parent influence your children: what you say, and what you do. The latter usually is stronger. Compare for example how often parents who smoke themselves, succeed in keeping their children off of it..

Also: I guess there's a SO, that person has just as much an influence as you do (including showing passion for something). And of course there are others too.

I think their main motivation was them seeing my passion. And of course: advice are only words, actions speak louder.

In my opinion setting a strong example is the best you can do. Show them your passion. And accept that you will not - and should not - decide how they'll lead their life.


I understand your position: talking/speaking is even a subset "actions", so it makes sense that the actions are more affective and informative - either directly or over time when your children reach different stages in life and understanding. I do have eureka moments about my parents' behavior at times, but sometimes hearing them say why behaved as they did / acted as they did / setting an example or a construct for me to live in, is very useful. It can be a fun conversation. It's as though you wait until the words will be truly meaningful.


Upon re-reading I realize my last sentence did not come out exactly as I wanted to say it. What I really meant was that in the end (when they left the house) I realized that you both have and haven't a lot of influence on your children.

And even though I'm really happy with the way they turned out, and we like patting ourselves on the back for that, it's just as true that things could have gone sideways so easily due to bad luck, circumstances, things not under our control.

And all the good intentions beforehand notwithstanding: people have their faults, have bad days, can be unlucky.

Love, understanding, empathy, and humility make life so much better for everyone.


I'm currently following the apprentice model you're describing with my own children. Each of my kids are interested in a particular project of their choosing (personal website, mobile game, robotics). All are very simplistic projects but are fun and unique enough that each are excited about their own project and share progress with each other throughout the week. I spend one hour per kid every weekend 1-on-1 reviewing the progress, making suggestions, etc. Its very rewarding.


That's awesome; thanks for sharing! What ages are your children? Did your children first begin learning programming basics (e.g. perhaps the content of a CS 101 course or high school course; a sufficient knowledge base to make progress and to know when to seek help)? How far along in learning were they before beginning work on a larger project?




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

Search: