John, Thanks so much for letting us see and read your dissertation! I read through the beginning sections so far and at every point I was thinking: YES! This is ammunition that I need for explaining to my district why computer programming is important! I teach at a middle-school in a VERY literacy-based district. When I brought up that I wanted to teach some programming, the head of our IT dept. replied: well he can come up with a proposal, but really it's a shame he doesn't just use what we already have available on the network. What that meant is that she wanted me to teach kids more Excel, Word, Powerpoint, etc. So if my IT head is clueless, then you can imagine my entire district! What I love so far about your dissertaion is that you have captured the process of computer programming and have described it in terms of relevance and using vocabulary that these literacy-focussed people will be able to understand and categorize. I realize that they are clueless about why programming is key to true computer literacy and your work gives me the words and vocabulary to help them understand what I mean. Thanks again! BJ MacNevin ----- Original Message ----- From: "John Miller" <jmillr@umich.edu> To: <edu-sig@python.org> Sent: Wednesday, December 31, 2003 2:33 PM Subject: [Edu-sig] promoting computer literacy through programming python 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 format at: 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 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. """ John Miller _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig