Learning Python with my 4th Grader
April 30, 2014
Earlier this week my wife and I pulled our son out of school. I don’t want to go into too many details. Let’s just say K-8 schools, public and private, no longer accommodate physically active children. Tom Sawyer and Huckleberry Finn would be thrown out within a week. Schools are so busy punishing students who fail to demonstrate angelic behavior during circle time (or the equivalent) that they’ve forgotten their primary job is to provide an engaging environment where kids can explore and learn … and have a childhood. Perhaps if gym and recess were appropriately prioritized kids wouldn’t be so lazy and obese and maybe they’d learn more efficiently. For the powers that be, it’s more important to just “get through the school year” without upsetting snowplow parents. I wonder how my clients would feel if I told them I don’t really want to have my team fix any bugs or develop any new software features because we just want to “get through the year” and collect our paychecks?
In any case, we find ourselves homeschooling for the balance of the 2013-2014 academic year. Maybe beyond. We’ll see. So, I’ve decided my 4th grader should learn computer programming. I’ve been wanting to learn Python and so we’re going to try learning together. Since I have a day job we will probably be limited to 15-30 minutes per day.
Once upon a time I worked as a programmer and I still work in software development though now only in a management capacity. I also do a fair bit of data analysis, some with programming components. So I know how to write code. But I’ve never coded in Python. I’m motivated to learn Python because I hear it strips out a lot of the annoying syntax shared by most languages based on C. And it’s open source so I don’t have to invest in a proprietary compiler or IDE, I can just download and code away.
Perhaps for the same reasons, Python is becoming a leading programming environment for statistical computing. It may usurp the R language/environment because of greater flexibility and simplicity. The jury is still out but my money is on Python. I am also willing to bet SAS and SPSS will move toward endangered species status in the coming years. Since I teach statistics I want to be able to provide guidance for students who have the interest and inclination to pursue emerging careers in Big Data.
My son shows some aptitude for math and science and, like most kids, is very interested in video games. So he’s enthusiastic about our learning project hoping he can build a cool gaming app. I don’t know why educators wait until high school to teach programming. The introductory concepts are not terribly complex (same goes for statistics by the way) and I think my son will take to it. If his ability to navigate Minecraft servers is any indication he’ll be slinging code like a maniac in no time.
In any case, I plan to write a bit about our experiences along the way. Stay tuned!
Go to Lesson 1 – Hello World