Yesterday was a good vacation day at my sister's house. As usual with me, I don't seem able to have a completely computer-free day. I did some work tasks, and then turned my attention to my sister's network problems. She has a Mac, which is wired, and several Windows laptops. The windows laptops weren't able to connect to the Verizon-supplied DSL modem and router in-one. It was set up for WEP (64-bit). I tried numerous times to get the windows laptops working and found finally that that using 128-bit encryption WEP solved the problem. Except for one computer. It was an old Dell laptop with Windows. She wants this to be her daughter's (my 11 year-old niece) computer. This laptop was running extremely slow and could not connect to the Verizon router, even when not encrypted. This particular laptop also uses a PCI Linksys wireless card, so perhaps it's out of date enough to not work with the Verizon router.
My sister asked me if I could make the laptop work and run faster. I replied "Do you care what I install or remove from it?" She said I could do what I wanted with it. I installed Kubuntu on it and was pleasantly surprised! Sound, graphics, and the wireless card worked fine, except it still doesn't work with the Verizon router, so I used their old Linksys router which I connected to the Verizon router and lo and behold, it worked fine. Wireless card.
Kubuntu is the perfect solution for my niece. No viri. Everything she needs - browser, word processing, and a screen grabbing app. She and her friend have a Wordpress blog for tips on a computer game (I think "Supersecret") she likes to play. I was able to get the flash plugin for Firefox working which allows for her game and youtube videos to play. My sister and husband were amazed to see an old laptop renewed!
So, back to the main point of this post: I started talking to my niece about how her games and website work. I explained in simple terms programming and databases. She seemed to completely understand. I decided to install MySQL as well as write a simple Perl program that printed different messages depending on input as well as ran a simple loop of 10 iterations. I explained each line of code and then ran it for her. I explained how her games probably use the simple concepts in the program. Then I created a simple table in MySQL that had three columns called blogentry. I figured this would be a good start since she understands blogs. I explained what a database table is, then showed her how to insert two rows of data. She then took control of the keyboard. Without asking, she entered a third row into the database - without me having to explain! She just used the example I had typed above and figured out how to construct and SQL statement!
I then showed her how she can select data from the table. I asked her to select specific columns which she did intuitively.
This has made me realize: kids can learn this stuff! I think -- no, I know -- there are several adults who if put in front of the computer in the same way, would have not been able to do that at all.
So, why can't they start teaching things like this at an earlier age? Our one-size-fits-all-government-run education system is so antiquated and inflexible, and has not caught up to the things children need to learn at an early age. I think we focus too much on liberal arts, meanwhile the rest of the world is training their children to develop technology and actually build things. Even if they started teaching children simple logic, that would be a good start. It would help them not only if they enter a technical field but also to be able to have good reasoning abilities. The other question to consider is how many teachers would actually be able to able to even teach these concepts? We would need people who know these concepts in the first place to be able to even teach them.
I know that when my child, who is due in January, enters school-age years, I will be seriously considering finding a private school that is in line with the educational objectives that I would want for my child versus a conveyor-belt educational system.