Experiences/guidance on teaching Python as a first programming language

Chris Angelico rosuav at gmail.com
Tue Dec 10 00:55:32 EST 2013


On Tue, Dec 10, 2013 at 4:25 PM, Gregory Ewing
<greg.ewing at canterbury.ac.nz> wrote:
>> On Monday, December 9, 2013 5:53:41 PM UTC+5:30, Oscar Benjamin wrote:
>>
>>> 5) Learning to program "should be painful" and we should expect the
>>> students to complain about it (someone actually said that!) but the
>>> pain makes them better programmers in the end.
>
>
> That's like saying that when teaching woodwork we shouldn't
> let people use hammers, we should make them use rocks to
> bang nails in, because it will make them better carpenters
> in the long run.

But in teaching woodwork you SHOULD let people use basic tools, and
not just a CNC lathe. Or in the most extreme sense, putting together
IKEA furniture is not carpentry, and neither is picking from an
extremely limited toolbox programming - which is why "Build a program
without writing a line of code" systems are junk for anything
complicated. (Occasionally, VERY occasionally, it's possible to use
the simple drag-and-drop system to get you 90% of the way, and then
fill in the rest yourself. Usually, you'll end up fighting the system
as soon as you do something the author didn't intend.)

Programming shouldn't be painful just for the sake of making it
painful. But you should be programming, not just solving a Sudoku
puzzle. It should be possible for a programmer to develop a unique
program that does a unique thing, and if that's beyond the scope of
the system, the system isn't a programming system. (Might still be a
useful system, of course, but it's not programming.)

ChrisA



More information about the Python-list mailing list