Kittle Kids
Table of Contents
This project had been stopped, and this page will not be updated any more. The reason is that I found my kid learns too quickly, and I must see him as a fellow but not a kid now.
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 two disciplines:
- Mathematics and Programming
- English, as we are native Mandarin speaker
The common disposition of these disciplines is they are the most fundamental disciplines, and kids/people need no prior social or life experiences 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 (as of 2020). I will continuously list other items along my teaching process. I think one can follow these knowledge points and order of them to learn or teach.
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:
- 《十万个为什么 数学篇》
- What is Mathematics? (《什么是数学》)
- Tao Terence's <Solving Mathematical Problems> (《陶哲轩教你学数学》)
- …
- Maxima, a free and easy to use CAS (Computer Algebra System).
- or Mathematica, a powerful mathematics tool.
- https://www.desmos.com/, a tool for drawing function curves thus very helpful to learn analytical geometry. https://www.geogebra.org/ is another similar tool.
I have given a full list of them in a later section of this post.
2.2. Programming
Choosing fundamental, practical, yet interesting programming languages is the first step of teach programming, and here are my choices:
- Racket (and/or other lisp dialects)
- Haskell
- C/C++
- Python
- MMA (Wolfram Language) and/or Maxima
- JavaScript(TypeScript)
- Julia
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.
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.
Wolfram Language and Maxima are CAS, they are helpful on modeling and solving mathematic problems. And also they will give an overview of full symbolic system and its differences from other programming languages.
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.
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.
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:
- Kittle Buffer
- Minesweeper
- John Conway's Game of Life
- PLT Games within Racket
- Minecraft
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. Materials my kid uses
4.1. Books
- 《十万个为什么 数学篇》
- Singapore Math Textbooks (Primary, 1-6)
- What is Mathematics? (《什么是数学》)
- Discrete Mathematics and Its Applications(《离散数学及其应用》)
- Tao Terence's <Analysis> (《陶哲轩实分析》)
- Tao Terence's <Solving Mathematical Problems> (《陶哲轩教你学数学》)
- 盖尔范德中学生数学思维丛书全套 (Gelfand, Springer)
- Infinite Powers
- Princeton Lifesaver Study Guides (3 books)
4.2. Blogs and Youtubers
- NumberBlocks
- AlphaBlocks
- Akili and Me
- BabyBus - Math Kingdom Adventure and others
- https://numberock.com/
- https://mathantics.com/
- https://mindyourdecisions.com/blog/
4.3. Software and Apps
5. Updating log
- 2022.01, stopped this project.
- 2021.11, added some materials.
- 2021.04, first version.
6. Discuss and Comment
Have few questions or feedback? Feel free to send me(killian.zhuo📧gmail.com) an email!