[Edu-sig] promoting computer literacy through programming python
jmillr at umich.edu
Wed Dec 31 17:33:37 EST 2003
Hi, and a Happy New Year to everyone.
For the past year or so, I've been working on my doctoral dissertation
in Educational Technology at the University of Michigan. I've finally
finished (passed the oral exam on Dec. 17th) and I've posted it in .pdf
http://www-personal.umich.edu/~jmillr/miller_dissertation.pdf (1.25 MB)
The reason I mention it here is that I decided to do a qualitative
analysis of the messages posted to this newsgroup. Here is the topic
that I was pursuing: What considerations are most important in teaching
Python as a first programming language in a secondary school setting? I
thought that the messages posted here would provide sufficient material
to approximate a reasonable answer to the question.
I'd like to stress the fact that I only considered a fraction of the
total material; there was simply too much to include all the
interesting and provocative ideas that have been addressed over the
past four years. I also ignored all the personal interactions and
focused instead on the ideas being presented.
I'd also like to thank everyone who posted to this newsgroup with their
insightful perspectives on the difficulties of promoting Python
programming in educational settings. I have learned much from reading
and analyzing these archives. I hope that this dissertation will prove
useful to others who share these concerns.
If anyone is inclined to take a look at it, but won't be able to read
the entire 288 pages, I suggest that Chapter 4 might be the most
interesting as it most directly deals with the messages and ideas of
the newsgroup, along with Chapter 5 which provides the conclusions
drawn from the results of the fourth chapter.
Finally, 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
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.
More information about the Edu-sig