As someone who has spent a fair bit of his life teaching, I find it "fascinating" to see the reactions of the users here, most of which appear to have at least some experience with programming and none (from what I can see) having any significant teaching experience to draw upon.
Teaching beginners can be extremely challenging. A majority of beginning students, no matter what field is being taught to them, will simply not master the material and will easily get "tripped" by something that advanced users will find trivial.
Most of what P. Guo wrote on his various articles, including this one, strongly resonnates with me, and jives with my own experience as a teacher. His Online Python Tutor tool [1] is a fantastic teaching (and learning!) aid and shows his understanding of what is needed to help beginners learn.
I completely agree. The only beginners I have taught were my sons ---I wrote what I thought were the basics for them in a book, The Hackers Ways [1]--- but P. Guo's articles very much resonate with me as well. Helping them see that the tools were the means to an end, something they could master and that would make them much more efficient, was a big part of the effort.
I'm reminded of Massimo di Pierro, who teaches comp sci as his day job, talking about the problems of getting students using that stuff http://www.youtube.com/watch?v=iMUX9NdN8YE&feature=youtu.be&...
which led him to write web2py which helps avoid some command line stuff for web dev though you'd still probably need it after a while.
1. Are graduate computer science students starting their research, not taking classes) really "beginners"?
2. Would Gou consider learning Python to be "intellectually stimulating" or "bullishit", considering that his stated goal is to "produce publications in an applied computer science field".
Teaching beginners can be extremely challenging. A majority of beginning students, no matter what field is being taught to them, will simply not master the material and will easily get "tripped" by something that advanced users will find trivial.
Most of what P. Guo wrote on his various articles, including this one, strongly resonnates with me, and jives with my own experience as a teacher. His Online Python Tutor tool [1] is a fantastic teaching (and learning!) aid and shows his understanding of what is needed to help beginners learn.
[1] http://pythontutor.com/