
Dear all, During the last six months, I have given an introductory programming course to high school students using Python. The course covered the fundaments of programming: data types, conditionals, loops, files, exceptions, modules, functions, and so on (no graphics). At the same time I taught Java to another group of high school students, which turned out to be a really "eye-opening" experience; using both languages at the same time really pointed out the advantages of Python. Starting in mid-April, I will give a continuation course to the same students now including OOP concepts and graphics. Based on my positive experience of Python, I will continue using it as the language of instruction. In addition, I am curious about trying out pair-programming in high school settings, and have therefore decided to use this methodology in the course. So far I have come up with two alternatives for how to go about this course: 1) Use PyGame from the very beginning of the course. 2) Cover OOP in the traditional (text-based) manner, using IDLE as in the basic course, and later in the course introduce a GUI module, e.g. AnyGUI, for graphical programming. Using the first approach, graphics could be introduced already during the first lecture, and no distinction would have to be made between non-graphical and graphical programming. This might, on the other hand not be the case with the second approach; in fact, I feel there may be a risk of the students developing an idea of OOP and graphical programming being two different things if they are introduced separately. As an active lurker on the edu-sig list, I therefore decided to present my small "dilemma" here. How do you think OOP and graphics could best be introduced in high schools? Is one of my alternatives OK, or do you have other suggestions? The fact that the students will be working in pairs will hardly affect the choice of teaching approach. Best Python-regards, Linda Grandell Åbo Akademi University Turku, Finland