What considerations are most important in teaching Python as a
first programming language in a secondary school setting?
http://www-personal.umich.edu/~jmillr/miller_dissertation.pdf (1.25 MB)
Here is the abstract of the dissertation:
"""
Computer programming contributes an essential aspect to a well-rounded
computer literacy, analogous to the role of writing in the domain of
traditional print literacy. Many computer languages are unwieldy for
rapid prototyping; however, the open-source Python language was
designed to be easy for beginners to learn and is appropriate as a
first computer language. This dissertation explores what considerations
are most important in teaching Python as a first programming language
in a secondary school setting.
The data examined was three years worth of messages publicly posted to
the online Python edu-sig newsgroup. These messages were filtered to
obtain only those that were contained in meaningful threads; that is,
threads of mean length or longer containing a mean number or more of
unique posters. The filtered threads were then categorized by a)
subject header and b) phrases identified by an automated keyword
algorithm, and further reduced by choosing categories most germane to
this dissertation’s topic. The selected threads were then subjected to
a qualitative content analysis.
The data revealed numerous issues that teachers who may want to
incorporate programming into their classroom may need to deal with,
including, whether to establish a standalone programming class or
integrate programming exercises with other subjects; the importance of
establishing programming teams and involving the students’ interests;
how to present both procedural and object-oriented programming styles;
differences in mathematical notation compared with traditional classes;
encouraging a healthy programming aesthetic; and teaching algorithmic
thinking.
Three major conclusions were derived from the results: a) computer
programming is a bona fide form of writing that combines well-formed
arguments with good stories, and is central to a complete mastery of
computer literacy; b) learning to program enables programming to learn;
that is, the major purpose of learning computer programming in school
settings is to develop the means of using programming to promote
learning in other subject areas; and c) computer programming fosters a
variety of executable notations that alters what is worth knowing in
other subject areas.
"""
LogoForum messages are archived at:
http://groups.yahoo.com/group/LogoForum