04 1 / 2013
I put some electronic components in Ed’s car garage. I asked what those are a couple times a week. In a few week, he learned them all.
24 6 / 2012
We were practicing a couple skills (executing simple operations, understanding the results, and writing them down on paper) in our 3rd Python class. I have to admit that we haven’t touched any real “Python” skills, but we did use the Python command line. A simple concept is to use Python as a calculator. In this case, the Python calculator transforms all arithmetic operations into its simplest form to a 3.5y-old boy, because he could just type, execute, and get the result in seconds. Edison felt it was easy and I thought it was amazingly simple and powerful.
22 6 / 2012
I think Edison enjoyed it. He wanted to play the Python terminal more, but we stopped him because he sat too close to the screen. Edison already had good amount of experience using keyboard to type from my Kidsearch app (he used it a lot when he was 2, but we banned him for a year).
It was a 20-min class. We started from our paper prototype (see class 1). After a short review for what we did last time, I setup the Python command line (Launch Terminal and type $python on my Mac). Edison was sitting on my lap while I instructed him verbally. I asked him to type “a=4”, because, on our paper prototype, the other side of “a” is “4”. In this case, we touched one of the important concept of programming- “Assign”. ”4” was assigned to the symbol “a”. Therefore, when we type “a”, the computer outputs “4”. Consequently, we digitized “b=2” and “c=1”. After that, we tried simple operations like “a+b”. We used our fingers to help Edison verify the math. He suggested to type a “g” and I asked him to assign “g” with a value of “100”. Then, We asked the computer by typing in “a+g”.
This 20-min journey was actually pretty hard intellectually. It involved several hard concepts that my son hasn’t been experienced. The concept of “=” in programming is very different in math. There are also several logics that we usually took them for granted, but they were not obvious to a 3-year-old. There should be more valuable stuff hidden in this 20-min. It was like a treasure-hunt experience for me.
21 6 / 2012
Learning a programming language is hard, especially for kids. I think the most important reason, for me, is to give him a tool to create as early as possible. We don’t get to create things that often. Most importantly, those created things won’t stay and accumulate. They disappear after a while. Drawings? Legos? Photos? Music? These are all great options. I’ll try exploring them.
It should be a playful experiment and I am the subject. It is certainly not one-way teaching because I have no idea how to teach a 3.5y old kid programming. What I do know is that I understand when he is getting impatient or interested. His emotional reaction is the best feedback mechanism for me to try and error. I have to keep him motivated and interested, otherwise, he won’t come back. He is an honest customer.
21 6 / 2012
Is it possible for a 3.5-year-old boy to learn a programming language before learning math? I am about to find out. Edison just learned recognizing the alphabets and numbers. He is so eager to learn new things and I feel like I don’t have enough things for him to learn. He got a little bit bored with his current toys. It becomes my problem that how to keep him busy, not bored.
How about learning Python- my favorite programming language? Where do I start? I don’t want him to use the computer too often because it hurts his beautiful eyes. So I thought about using physical materials to start. How about using stuff he’ve already known and familiar with? The alphabets and numbers.
I choose the concept of “variables” to start because we can use the materials he had mastered. I grabbed pieces of paper and wrote the letters- a, b, and c. On the other side of the paper, I wrote down numbers. In this case, each alphabet corresponds to a number. We started simple operations like a+b, b+c, and a+b+c. We used both paper and our ten fingers.
At the end, I tried to impress Edison more by showing him the operations in Python command line (but I thought that was the part confusing him a lot). We did our first class for about 20 minutes. Edison was responsive and seemed interested. It was really fun experience for me. I’ll ask him if he wanna learn more Python tomorrow.
21 6 / 2012
"I am so bored. Please play with me!"