MarkShot -> RE: Hot Spot (11/20/2013 12:04:34 PM)
*** Introduction ***
Don't worry about side tracking ... this thread will drift into obscurity anyway.
Well, I can send you the lesson notes I did with my friend's daughter (PM an email address) to give you some idea what I thought was worth doing with a child being introduced to computers. We just did it over the Summer. If we had continued, then:
We would have covered a few more basic programming constructs. The constructs are like standard tools programmers use to construct software. Like: input, output, variables, conditional statements, loops, and subroutines ... Then, we would have gone on to do projects (build bigger things). Additionally, I would have continued getting deeper into other concepts like networking, remote control, servers, security, ...
Prior to starting with her, I did a search to see what might be appropriate for a child. These were the two finalists I came up with:
*** Scratch by MIT ***
This developed specifically for teaching children and has a large following. It is highly graphical and you use graphic building blocks to construct programs. (Most programming done by professionals and amateurs tends to be textual.) Programming with Scratch is like building interactive stories. As you'll see from the Web site, the focus is very game oriented for children. Of course, in constructing games, you do learn to program.
*** SmallBasic by Microsoft ***
This was developed as intro to programming for both adults and children. Back in the early days of micro-computers BASIC was truly that and a good intro language. But it got quite complicated over the years. SmallBasic goes back to the roots. It has a minimum of language statements. The coding is textual, but it handles creating graphics nicely. It is really the same kind of programming professionals do, but with less power. However, you may also see as a clever means by Microsoft to "up sell" Visual Basic. Visual Basic is professional level, and is not free. By getting large numbers of children started with SmallBasic, you could say that they are seeding the future market.
*** Selection ***
My student's mom was very firm about "no games for my daughter". About 10-15% of Taiwan's youth show addictive behavior when it comes towards their mobile devices. So, my choice was pretty much made for me there. In any case, her daughter loves computers and is smart. I didn't really want to treat her as a child with a toy language, but see what she could achieve given her prior knowledge and intellect.
Still for a 7 year old, I think would recommend Scratch over SmallBasic. I think the graphic building block nature of Scratch will be easier than trying to get a 7 year old grasp abstract concepts.
Disclaimer: This was a learning experience for both myself and the child. I am not an educator and don't even have children. My main qualification was a systems background and I was willing.
*** Problems Encountered ***
I had to come up with novel ways of presenting various concepts given that she had only completed the 4th. grade.
Windows/iOS (what is an operating system?): a government that rules the hardware
PSU (power supply unit): instead of explaining how voltage is stepped down we looked water flowing from a faucet and reducing it to a manageable trickle
Variables: not having science or algebra, I came with shoe boxes to represent the abstract concept of containers for things.
Variables was by far the hardest concept she had to grasp. We struggled with it for a couple of weeks. Also, I gave her mother permission to go over it a few times with her in Chinese. All instruction/examples/definitions were generally intentionally restricted to English.
I also learned from her mother by mid-Summer that no matter how motivated and smart a kid is that they need frequent breaks. As she said, "it's not medical school". Watching the clock and taking breaks got her refreshed and engaged again.
You should realize that just like human languages computer languages all share common constructs. Thus, by teaching your son one language, you'll make the next much easier to pick up.
A fantastic thing for you to do as a parent! Good luck!