I started programming at age 12, after my friend showed me how to do a little basic on his Commodore 64. I went back home to my Tandy Color Computer
and started writing programs for myself. You almost had to program
to get much out of a computer back then, but I am so glad I did. It has enriched my life to
understand the concepts behind computer programming at an early age.
Not only was I better around a computer, and led me into a career in
computers, but I was better in math, science, and an array of other
subjects and topics because of it. So, I have always wanted to teach
kids how to program and now, I have that opportunity with two students.
My students are in the 4th and 5th grades and I plan to post regular outlines of what we covered and the tools I used to teach so that others teaching how to program have a few ideas. This is the reason for this blog, http://childprogramming.blogspot.jp/.
Class Setup
First, I selected the Python 2.x programming language. I chose this because of its flexibility and it is a nice language to work with. Let me say this, however, I am not a Python expert. I have a degree in Computer Science and have programmed in many languages, but I am learning Python as I go. The point of my class is the fundamental understanding of imperative programming. So I will focus on language basics, algorithms, and problem solving - computer science.
Second, I ensured both students had a laptop and could load Edubuntu. I chose Edubuntu because it contained a lot more educational software and it would run on their lower-end, older laptops. Python is installed on Edubuntu by default, the only changes were to install the Gnome fallback environment during installation, to add the Scite programming editor with, "sudo apt-get install scite", and to remove shopping dash plugins with:
I teach this class with a very casual style. It is basically an open dialog where I am explaining, guiding, and showing them how to do things. I am not strict as I am not a school teacher and I do not have to control a large group of students.
I have a laptop with Edubuntu hooked up to my TV screen so everyone can see, me, the students, and the parents if they stick around. We take turns typing and I lead the discussion and ask them what they think about different ideas, or how they think something can be done. I try not to tell them their answers are wrong, I found out the logic towards their answers, and get them to the right answer. I always try to be enthusiastic, which at this point, is really easy.
Hopefully, you're reading this and you like where I am going with this class and you'll subscribe and better yet, also give input to my class notes as I put them out as future posts. I would love to get feedback, to hear from others teaching programming to kids, and get questions. I hope to hear from you.
(Also, all code we create on this blog is free for you to use with no guarantees.)
My students are in the 4th and 5th grades and I plan to post regular outlines of what we covered and the tools I used to teach so that others teaching how to program have a few ideas. This is the reason for this blog, http://childprogramming.blogspot.jp/.
Class Setup
First, I selected the Python 2.x programming language. I chose this because of its flexibility and it is a nice language to work with. Let me say this, however, I am not a Python expert. I have a degree in Computer Science and have programmed in many languages, but I am learning Python as I go. The point of my class is the fundamental understanding of imperative programming. So I will focus on language basics, algorithms, and problem solving - computer science.
Second, I ensured both students had a laptop and could load Edubuntu. I chose Edubuntu because it contained a lot more educational software and it would run on their lower-end, older laptops. Python is installed on Edubuntu by default, the only changes were to install the Gnome fallback environment during installation, to add the Scite programming editor with, "sudo apt-get install scite", and to remove shopping dash plugins with:
gsettings set com.canonical.Unity.Lenses disabled-scopes "['more_suggestions-amazon.scope', 'more_suggestions-u1ms.scope', 'more_suggestions-populartracks.scope', 'music-musicstore.scope', 'more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope', 'more_suggestions-skimlinks.scope']"
I teach this class with a very casual style. It is basically an open dialog where I am explaining, guiding, and showing them how to do things. I am not strict as I am not a school teacher and I do not have to control a large group of students.
I have a laptop with Edubuntu hooked up to my TV screen so everyone can see, me, the students, and the parents if they stick around. We take turns typing and I lead the discussion and ask them what they think about different ideas, or how they think something can be done. I try not to tell them their answers are wrong, I found out the logic towards their answers, and get them to the right answer. I always try to be enthusiastic, which at this point, is really easy.
Hopefully, you're reading this and you like where I am going with this class and you'll subscribe and better yet, also give input to my class notes as I put them out as future posts. I would love to get feedback, to hear from others teaching programming to kids, and get questions. I hope to hear from you.
(Also, all code we create on this blog is free for you to use with no guarantees.)
No comments:
Post a Comment