Archives | Categories

Kittle Kids

Table of Contents

1 Introduction

Kittle Kids is a project focusing on KIDS EDUCATION.

Actually, I haven't developed a mature system yet, but just want to share the materials, tools, methods, tricks I've used to teach my kid. Maybe it will be developed into a complete system one day, if you are interested in it, you can contact me to discuss more about it.

Generally, I teach my kid three disciplines:

  • Mathematics and Programming
  • English, as we are native Mandarin speaker
  • Physical Education

The common disposition of these disciplines is they are the most fundamental disciplines, and kids/people need no prior social or life experience to learn them.

2 Mathematics and Programming

2.1 Mathematics

Here is an outline of math knowledge points my kid had learned before he was six. I will continuously list other items along my teaching process.

Besides the outline, I also recommend some materials and tools:

  • The math textbooks of primary school, secondary school, and high school, especially the latter two series, they are good.
  • Many other books, like:
    • Tao Terence's <Solving Mathematical Problems> (《陶哲轩教你学数学》)
    • Tao Terence's <Analysis> (《陶哲轩实分析》)
    • What is Mathematics? (《什么是数学》)
    • 《十万个为什么 数学篇》
    • Discrete Mathematics and Its Applications(《离散数学及其应用》)
  • Maxima, a free and easy to use CAS (Computer Algebra System).
  •, a tool for drawing function curves thus very helpful to learn analytical geometry. is another similar tool.

2.2 Programming

Choosing fundamental, practical, yet interesting programming languages is the first step of teach programming, and here are my choices:

  • Racket
  • Haskell
  • Python
  • Julia
  • C/C++
  • Others: JavaScript(TypeScript), Rust

Racket, as a lisp, has a homogeneous syntax, so it is easy to kids. It also has many other pros: (a) numerous of libraries, including Turtle geometry, Drawing, GUI Toolkit, Web Sever, and many others; (b) many books about teaching directly or indirectly around it, like How to Design Programs, Realm of Racket, Picturing Programs, Racket Programming the Fun Way, and SICP.

There are other teaching projects using Racket as well:

Haskell is a pure functional programming language. It has its most conceptions borrowed from mathematics, and this makes it friendly to kids who love math.

Julia is a general purpose language who is very lispy and math-friendly, Python is the hottest one nowadays and it is very easy too.

C/C++ are the most fundamental programming languages on which our computer world are built, and they are also the first tier of the chosen languages for many competitions.

Learning not only one languages at the same time will widen and deepen the view and the mind of kids, the comparison between them will introduce them thoughts of how computer works and why were these languages designed like what they are.

After all, Brilliant is another place for learning math and similar things.

2.3 Games

I also use games to teach math and programming, in these steps:

  • learn how to play it
  • learn how to implement it ourselves
  • try to write a robot to play it automatically

Below lists the games I've used:

3 English

Learning natural language has no shortcut, but for kids, it is much easier, just listening, reading, and speaking, that is, do the same as when they were learning their native language.

To let them do that, you should give them something interests them, I gave my kid many math materials (he likes math very much) in English, and Youtube Kids. He watches these series on Youtube everyday:

  • NumberBlocks
  • AlphaBlocks
  • Akili and Me
  • BabyBus - Math Kingdom Adventure and others

And now he talks to me in English increasingly everyday.

4 Physical Education

I am not good at this so I handed it over to a professional coach.

5 TODO What next?

Feel free to contact me to ask anything and share your experiences.


Built with Emacs 25.2.2 (Org mode 9.4.5).

Last updated: 2021-05-21 Fri 06:22.

Green Web Hosting! This site hosted by DreamHost.