Experiences/guidance on teaching Python as a first programming language

rusi rustompmody at gmail.com
Wed Dec 11 22:52:02 EST 2013


On Thursday, December 12, 2013 7:12:32 AM UTC+5:30, Roy Smith wrote:
>  rusi  wrote:

> > Kernighan and Ritchie set an important "first" in our field by making
> > "Hello World" their first program.

> Yup.

> > People tend to under-estimate the importance of this:
> > Many assumptions need to be verified/truthified/dovetailed
> > starting from switching on the machine onwards for this to work.

> At the time that they wrote it, very few people who used computers ever 
> got anywhere near the power switch :-) But, the point is valid.  To get 
> "Hello, world" to print, you've got to figure out a lot of stuff.  
> Predating the whole agile movement by two decades, it is the 
> quintessential MVP.  It compiles and runs.  The rest is just adding 
> features and fixing bugs.

Which comes back full-circle to where we started: if

main() { printf("Hello World\n"); }

is the foundation on which other programs are built, then later excising
the print(f) is a significant headache -- at least for teachers as Steven
also seems to have found.

If instead the print was presented more as a 'debug' -- when something
goes wrong stick a probe in there and figure the problem -- then
leaving it there would be as unacceptable as a car mechanic giving you
your keys with the hood open and parts lying around.

Anecdote about the great mathematician Gauss: He was asked why
his writings were so devoid of motivations/explanations. He answered:
Do you leave the scaffolding after the building is built?



More information about the Python-list mailing list