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