Educational Technology Lab
Dept. Of Pedagogy
Philosophy, Pedagogy, Psychology (PPP), School of Philosophy
National & Kapodistrian University of Athens

 

Teaching how to teach how to teach programming

Vasilios Dagdidelis dagdil@uom.gr

University of Macedonia, Greece

Abstract

Over these last 12 years in Greece, a very large program has gradually been implemented whose aim is to integrate ICT into education generally, and into teaching practice specifically. Recently, Informatics and Computer Science teachers were also included. Training of teachers is an important part of this project – especially Informatics teachers. The preparation of trainers of these teachers “includes” necessary three distinct levels of interaction (preparation of trainers, training teachers, teaching of pupils) and thus it requires a negotiation on three distinct levels. Several important aspects of this preparation of trainers are examined and some findings, concerning the majors problems of this preparation, are examined. Our most important finding shows some aspects of the complexity of such a preparation program.

Keywords

Teaching Programming, Training Teachers, Transposition Didactique.

Introduction

Programming as a specific field of knowledge, balancing between art (Knuth, 1974) and science (Dijkstra, 1971; Dijkstra, 1976), between the demands of a rigorous branch of applied mathematics (Hoare, 1996) and the requirements of a profession, is a highly complex mental activity. Learning to program, even at an introductory level, seems to be difficult for young students: they usually do not understand the concepts of algorithms, data structures and programs and do not appear to be able to solve problems go beyond the ordinary or obvious.

As in other scientific fields, such as Mathematics or Physics, effective teaching requires specific course organization. The teacher should have specific knowledge and skills in order to not only recognize the difficulties encountered by students, but also to use possible methods for overcoming these difficulties, as well as to transform student misconceptions into other, more functional concepts. The teaching of programming, therefore, is a very demanding process. The teacher has to teach concepts whose "economy", i.e. function, cannot be understood in class. Students can, in the context of a programming course, for example, understand how an assignment or a selection structure in a given programming language works. However, it is much more difficult for them to understand why it is necessary to program in the context of specific paradigms, such as structured programming or object-oriented programming. The reasons for such a choice are of a scientific or economic nature, and these conditions cannot be reproduced in the classroom.

The basic elements that the preparation of teachers of programming should include are students spontaneous perceptions and their standard errors, which will give teachers the knowledge needed to be able to deal with any difficulties the students encounter in the classroom; also course organization in order to maximize teaching efficiency and knowledge acquisition.

At another level, when preparing their courses, trainers instructing teachers not only have to be aware of the students difficulties in solving programming problems (i.e. what the teachers should know), but also they need to be acquainted with any difficulties that the teachers themselves may encounter in teaching programming..

In this paper, as the title implies, we present a number of practices used in the preparation of trainers, In other words practices that are related to teaching trainers how to teach teachers how to teach students programming.

Τhe PAKE schools

Over these last 12 years in Greece, a program has gradually been implemented whose aim is to integrate ICT into education generally, and into teaching practice specifically. Basically, the project involves K12 education in Greece. It is worth noting that within the context of this program seminars have been attended by about 120,000 teachers, some of whom have attended more than one (i.e., at different levels). This number represents approximately 65% ‌‌of all active teachers (estimated total: 180,000) Recently, Informatics and Computer Science teachers were also included, making this a very significant program affecting the entire Greek education system.

The program has three levels of training/education: the first level corresponds to basic Computer skills, such as word processing or Internet navigation. The second level corresponds to specific training for teachers on how to use ICT in the classroom. At this second level, each scientific discipline (primary teachers, teachers of Mathematics, Physics etc) follows specialized courses in pedagogy and teaching using ICT. The third level corresponds to the training of trainers to teach at the second level. This takes place in training schools with the Greek acronym PAKE. In Greek it stands for PAnepistimiaka Kendra Ekpedefsis, «Πανεπιστημιακά Κέντρα Εκπαίδευσης», meaning "University Centers for Educating (Trainers)".

These centers periodically operate as schools that prepare trainers, in other words, they are a very special kind of educational establishment where trainers of teachers are instructed by highly specialized educators. The following diagram may better explain the role of PAKE:

 

Figure 1. educating trainers in PAKE. Each arrow means educates

 

Thus, training of trainers in PAKE requires a negotiation on three distinct levels:

§ Level 1: teachers teach programming to students. Several research findings point out the difficulties faced by students when dealing with programming concepts and students perceptions when attempting to solve problems. The concept of teaching scenario was created for the teaching of programming. A teaching scenario is a detailed description of a teaching module which can last more than one hour. Apart from the description of the learning objectives and the lesson itself, each teaching scenario includes information concerning classroom organization, the learning theories which the course is founded on, and when necessary, elements on epistemology. The teaching scenario attempts to provide a broad and in-depth analysis of the course that the teacher has prepared.

§ Level 2: trainers instructing teachers. Besides the general principles of adult education, there are no substantial research on findings specifically on the training of Informatics and Computer Science teachers. The training scenario - similar to the teaching scenario- is the central idea of these courses. A training scenario describes in detail a unit (a piece of knowledge) which is taught to teachers. As is the case with the teaching scenario where a very important element is students misconceptions of students, a significant part of the training scenarios make reference to the basic problems that may arise in the training of teachers. A characteristic problem is Greek teachers awareness (or lack of) the necessity of such training. A typical response is: What can 144 training hours of seminars offer to teachers with 10-15 years of teaching experience? Teachers also tend to pose specific objections example, why they have to be trained in the teaching of Logo and Logo-like environments (such as Scratch and the Greek environment Xelonokosmos, the StarLogo and Turtle Art). The program tries to include all the necessary elements in order to provide complete training to Informatics and Computer Science teachers.

§ Level 3: training trainers (educators at PAKE instruct trainers). Few research data exist in this area – if any. In this case there is no particular scenario to follow, as is the case with levels 1 & 2 above, as the content and purpose of training trainers is too broad to fit into a single scenario model. A key element in the training of trainers was the distinction between levels 1 and 2. For instance, the trainers themselves many times questioned the need to actually create training seminars. The training of trainers does not only include preparing them to deal with new technologies that are known but have not yet been introduced in education - such as tablets and smartphones but also to prepare them for technologies that are completely unknown. How does one prepare trainers in technologies that are unknown? Among other things, certain recent changes in the Computer Science course at school, has resulted in added obstacles to training. In Greek schools, the interdisciplinary approach to the various subjects has recently been introduced along with a ‘projects’ approach (students work in groups on a specific project topic over the semester). Even in IT, there is an evident orientation to digital literacy or computers/information literacy. These changes are creating a new framework, a new "school ecology" in which the IT course is a part of. As is perhaps to be expected, these changes were not immediately accepted by all teachers thus compounding the task of training.

Examples, good practices, and some observations

The most important principles and applications of teaching practices that the trainers’ training courses were based on are listed below.

§ A comprehensive training curriculum that is versatile and long term. The duration of the curriculum of the participant trainers course lasts over 380 hours covering many scientific fields and areas of knowledge. Thus, distance learning, synchronous and asynchronous (with environments such as Moodle platform and e-luminate) as well as issues related to the management of school laboratories and learning environments such as LAMS, are covered to a great extent. Besides technical skills, the trainers were also given an important theoretical base which included learning theories and teaching methodology, as well as issues related to adult education and modern theories about web 2.0 and Social Networking. What is termed the General section comprises an important component of the trainers training. This section of the program is shared with other disciplines, such as Math or Physics in similar PAKE seminars. It should be noted here that some trainers disputed the need for such the general section in their training. Even though as a general principle it was accepted that there is common subject matter in different academic fields, such as learning theories or certain didactic phenomena (for example, incorrect or incomplete perceptions of students) which can be applied to various courses, nevertheless, trainers were sceptical about being taught subjects that were not, in their view, directly related to ICT.

§ The training of trainers includes a very strong component of the Didactics of Informatics Theory and particularly that of computer programming. Apart from the basic concepts of teaching, such as a the concept of didactic contract and transposition didactique, this theoretical framework also includes research data related to concepts such as variables, the structure of repetition and choice teaching recursion, empirical research on the different programming environments and programming languages, algorithms, data structures, and other concepts. This approach enabled the differences in the construction of the teaching and training scenarios to be clearly seen, since the theoretical model of reciprocal interactions and observations of a teaching system (see Figure 1) clearly defines the framework within which these teaching interactions take place. The theoretical approach also contributed to the understanding of didactic material as phenomena, i.e. as observable events that are not random but are produced by causes and can thus be studied. Despite the fact that the trainee-trainers seem to understand and accept the Theory of the Didactics of Informatics and in particular of programming, it is not fully certain, however, whether they found all the didactic concepts taught useful. Especially in the early years, similar reservations were expressed in other fields, such as in the Didactics of Mathematics. Today, however, very little doubt remains as the Didactics of Mathematics is an established field of research in its own right.

§ Practical experience constitutes a central factor in the training of trainers. The practical aspect of the course included the trainers having to observe both teaching and training classes. In addition, they had to create both teaching and training scenarios, and then implement their teaching. Each trainer had to first teach students at a school and then teach teachers at an in-service seminar. At all times a PAKE supervisor provided assistance and guidance during these practicals. The subject matter that was taught was decided by both the supervisor and trainee-trainer. Furthermore, all the observations and instructions were carefully designed with the supervisor’s help. On completion of the practical, the trainee-trainers were required to submit a detailed report that was discussed by all the participants.

§ In addition to becoming familiar with environments such as Moodle, platform e-luminate, LAMS and the like, participants are also taught to create teaching and training scenarios both for concepts related to various programming paradigms and different languages and environments. Their training includes theory and exercises related to teaching structured programming, object-oriented programming and functional programming (Logo-like style). These three options in some way correspond to the three different orientations for the teaching of programming in Greek schools: (i) programming as part of a broader informatics fluency (mainly in the first 9 years); (ii) programming as a preparatory course for high schools (structured); (iii) programming as a job qualification (object-oriented, mainly in vocational schools). The respective languages are Logo-like languages, and those for object-oriented and structured programming. In most cases, the software used has many options which can support novices in learning programming concepts: they one to see, to some extent, the execution of the programs; they have structure editors, friendly interface and messages with precise content and clear meaning. Programming concepts are also taught indirectly in other environments, such as spreadsheets.

§ The system for the evaluation of trainee-trainers includes both a formative and final evaluation Participants are required to several essays and reports throughout the program (16 in total) that vary in content and size. They are also required to participate in forae, create (and update) blogs, to upload their work in e-portfolio (Mahara), and generally to take part in a series of activities of a digital nature that are in some way related to the training program they will undertake on completion and certification. They then must sit a final test, which includes a series of closed-type multiple choice questions, and the like. However, the section of the examination that is worth the most marks is an essay of a training scenario (that includes a teaching scenario) on a particular concept or method. Throughout the PAKE course participants prepare, present, comment on dozens of both teaching and training scenarios, with the objective to become familiar with this particular way of working.

§ In addition to items directly related to the teaching of Informatics generally and programming in particular, participants are also taught a number of subjects that are essential, or simply useful for their training, such as techniques in adult education.

Comments and conclusions

The PAKE training program has provided numerous qualitative and quantitative data enabling us to reach some initial conclusions.

A point worth mentioning relates to the deeper understanding of mainly theoretical concepts, that the participating trainee-trainers acquire. For example, constructivism is a widespread theory of learning that supports multiple teaching methods. However, in many cases, the constant reference to constructivism in the participants’ scenarios seems to be more of a routine procedure, rather than the outcome of thorough analysis and choice. This phenomenon was also observed in other cases. For instance, the constant reference to scenarios of particular theoretical views and generally accepted assumptions integrated into the dominant paradigm, at times appears to be more the result of an "alignment" with the paradigm, rather than an informed choice. It is often the case that theoretical concepts, especially when not accompanied by a significant number of concrete examples, are totally misunderstood by participants.

The integration of programming into the school curriculum requires a specific transposition didactique: scientific knowledge and professional practice is transferred to the school and included in the educational context. Thus, the concepts are simplified to make them more easily understood; the course is organized into 45-50-minute sessions, which is the duration of a teaching period in Greek schools; the subject matter has been organized into introductory units, exercises, questions, problems. However, during this transposition of concepts into the school environment, another transformation takes place: namely, the scolarization of an entire scientific field favors certain types of problems, while marginalizing other aspects of the key concepts, such as algorithms, data structures, and programming generally. For example, data structures as a means of encoding entities of the external world, such as images, text, etc., are rarely referred to in the school environment. Trainee-trainers in many cases, did not fully acknowledge the importance of teaching or the activities on such issues, considering them of no use, since they were not directly related to current concepts of programming at least the school version of programming.

Due to the fact that this program was implemented for Informatics and Computer Science for the first time in 2011, the data thus far do not allow us to evaluate further the effectiveness of the training that the participant trainee-trainers underwent. Subsequent phases of the training program, we hope will provide more in-depth information on this issue.

References

Chevallard, Yves (1994) Les processus de transposition didactique et leur théorisation, Contribution à l’ouvrage dirigé par G. Arsac, Y. Chevallard, J.-L. Martinand, Andrée Tiberghien (éds), La transposition didactique à l’épreuve, La Pensée sauvage, Grenoble, p. 135-180.

Dijkstra, Edsger W. (1971) EWD316: A Short Introduction to the Art of Programming. T. H. Eindhoven, The Netherlands, Aug. 1971.

Dijkstra, E.W. (1976), A Discipline of Programming, Prentice-Hall Series in Automatic Computation.

Hoare, Antony R.  (1996) Mathematical models for computing science. NATO ASI DPD 1996: 115-164

Knuth, Donald E. (1974) Computer Programing as an Art, ACM Turing award lectures, ACM New York, NY, USA.