Abstract
We present the design, implementation and evaluation of a training programme for Computer Science teachers on the educational use of the Python programming language inside and outside school. The programme used educational resources centred on meaningful, self-contained programming projects. The training programme followed a blended-learning approach thus offering an opportunity to many computer science teachers make their first steps towards the educational use of the Python language within a very promising learner-centred pedagogical framework. Using initially an online course made it possible to reach a much greater number of Computer Science teachers, especially those living in remote areas and through them, have a considerable impact on students through the subsequent establishment of local code clubs. Following the initial teachers’ training phase, groups of teachers that have been already formed were guided to establish local code clubs, recruit students, design a number of sessions and implement them. The evaluation results demonstrate the effectiveness of the code club approach and its acceptance by the participating students.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Teaching introductory programming courses has received much attention the last years. This is mainly due to the ubiquitous use of computers, the proliferation of the so called cultures of participation [1], end-user programming [2] and end-user software engineering [3]. These trends are addressing software tools that provide powerful scripting languages to enable flexible customization and rich interactive content development by end-users. In this respect, knowledge of computer programming concepts is nowadays necessary for most knowledge workers including scientists and engineers. Consequently, many higher education departments have included introductory programming courses in their curricula [4]. Furthermore, many countries extend their curricula in secondary or even primary education to address the development of basic programming skills [5]. The importance of computer programming has received even more attention through computer coding campaigns such as The Hour of Code and Europe Code Week. Informal learning opportunities are also offered in many countries following the organizational approach of coding clubs [6].
Following the above trends, Python has been introduced in vocational training curricula (professional lyceums) as well as in upper secondary education in Greece. However, many Computer Science teachers are not familiar with Python and all available professional development opportunities (mostly short webinars) are in high demand and overbooked. To address the need of enabling secondary Computer Science teachers in Greece to get familiar with the Python programming language and adopt effective learner-centred pedagogies, a 7-month teacher training programme was designed and implemented with partial funding from the Google CS4HS initiative. This programme is described here along with its evaluation. It was offered in a blended-learning fashion starting with a 3-month distant learning phase to study the Python language through self-contained programming projects and a subsequent 3-month phase with face-to-face collaboration focusing on the establishment of local code clubs. The programme finished with an evaluation phase of one month duration.
2 Previous Steps on Promoting Coding in Schools Within a Creative Learning Context
An initial exploration on the potential of programming in education from the perspective of providing opportunities for students in primary and secondary education develop their own coding projects for learning was undertaken during the pSkills project [7]. The target was to build a community of primary and secondary teachers, mainly computer science teachers, to exploit modern educational programming languages in their courses. The pSkills teacher training activities were structured as a three-step process: (a) initial training and community building workshops with over 400 participants in total; (b) pilot workshops, one in each one of the four participating countries with over 40 participants in Greece, Austria, Italy and Estonia; and (c) the pSkills Summer School, a one-week intensive training event with 10 participants. pSkills offered materials to enable teachers guide their students through an engaging learning process during which they develop their own coding projects. The focus was on developing digital games using an appropriate educational programming language [8]. Game development was based on Scratch [9] and game distribution on the Scratch community site. Towards the end of the implementation period of the project, an explosion of interest of computer science teachers on its themes was observed. Over 250 teachers participated in the local workshops held in Crete, Greece. Most of them started to apply the ideas into the classrooms and, within the context of creative projects with their students.
Following the successful impact of the pSkills project, our focus expanded beyond computer science education to include other domains including non-formal and informal education. The opportunity for this was given within the context of the ALICE project [10] and its decision to include games as a creative language to be adopted by adult trainers along with Music, Digital Storytelling, and Children Narratives. ALICE targeted adult trainers with the aim to enable them design and implement intergenerational creative learning environments. The project designed and piloted a graduate programme for educators in Greece, Italy, Switzerland, UK and Romania. The programme was offered through a learning portal and included face-to-face sessions as well in each one of the five participating countries, thus adopting a blended-learning approach. The training consisted of six learning units and a final project. One of these learning units targeted digital games and a number of participants adopted games as a creative language to work on their individual projects during which they designed and implemented learning activities where adults and children they were invited to learn together in creative ways. The term gaming-literacy was adopted to signify a step towards the accommodation of a new way of thinking, working, collaborating, teaching and learning, as initially introduced by Zimmerman [11].
The work reported in this paper is a third step towards supporting educators on the integration of new technological tools in their teaching practices emphasizing on digital skills and creative learning. This time, the focus is on general purpose programming language, not an educational or creative language as it was the case in the pSkills and the ALICE projects respectively. In particular, the programming language adopted in this case is Python and its use as a first programming language for novices taking into account the parallel developments in the school curricula in Greece and the need to support Greek computer science teachers on their use of the Python language within a pedagogical framework that promotes active learning within engaging learning scenarios in coding clubs. Selecting coding clubs as the pedagogical framework of our approach incorporates the positive prior experience on promoting coding in formal, informal and non-formal learning settings in pSkills and ALICE projects.
3 Teachers’ Training
The design of the training programme was based on the principles of social constructivism: Initially, participants explored the course material and develop Python skills, as they delved into the programming projects and tackled the assignments. The assignments, meant to induce structure on the learning process, were implemented in groups exploiting the special features of the underlying learning platform. There were no lectures on Python programming. The course facilitators served as peer advisors, guides and coordinators. Following this initial phase of getting familiar with the Python language and the proposed pedagogical methodology, participants were asked to apply the knowledge and skills they have acquired, in workshops or coding clubs for their students, exploiting scenario-based pedagogical approaches. In this context, they eventually composed their own training material and developed strategies for cooperating with other participants from their regional group, learn from and support each other. There was also a strong element of reflection, self- and peer-evaluation at the final phase of the project. As already stated, an important aspect of the training programme was its blended-learning approach to promote collaboration among computer science teachers in many locations parts of Greece including several remote areas.
The program consisted of three phases. In the first phase (3 months) participants studied, explored and evaluated the course material, familiarizing themselves with Python and the programming projects approach. In the second phase (3 months) participants implemented the course material in coding clubs. The final phase (1 month) involved extensive reflection and evaluation of the course.
The kick off was done via a teleconference that presented the overall structure and objectives of the training programme. Every month there was a live online session with the course facilitators, where participant groups had the opportunity to make presentations or engage in structured discussions. During the course, participants also communicated via discussion forums, online chat rooms and videoconferencing facilities offered by the Coursevo platform [12]. Participants worked together in regional groups and posted their assignments online, each group creating a portfolio that was reviewed by their peers. All results were documented and shared in the form of adaptable learning scenarios (i.e. project-based scenarios and/or lesson plans) that referenced teaching objectives of the Greek CS curricula and were organized in a digital repository that is available to all CS teachers through a Creative Common license for further reuse after the end of the project.
The training portal used for setting up the blended learning framework of the training programme is the evolution of MOLE, a multimedia online learning environment [13] that was initially developed to support educational activities in university departments. MOLE integrated tools and services for educational material reuse in an interoperable manner [14]. After its successful adoption in the academic environment, it has been adapted and enhanced under the name Coursevo to support professional development and training within a context that enables the establishment and sustainable operation of Communities of Practice (CoP) [12].
Coursevo enables communication between tutors/trainers and trainees, cooperation among trainees and access to coursework information and learning resources. It can combine traditional classroom-based lessons and practical sessions, with self-study and eLearning. Coursevo platform hides the complexity and frees the trainers from tedious system maintenance tasks, since a course or even a full functional learning site can be created in a few steps following the SaaS (Software as a Service) paradigm.
Coursevo integrates BigBlueButton (http://bigbluebutton.org/) to enable video teleconferencing. This proved very important for the implementation of the programme: One synchronous teleconference was organized each month to give guidance to participants, present best practices and examples, answer to questions and solve practical problems, especially for the organization of local code clubs. Furthermore, the workgroup support offered by Coursevo was used and appropriately adapted to enable the coordination of work in each group (code club organizers) and facilitate the development and submission of assignments.
4 Establishment of Code Clubs and Evaluation
Following the initial teachers’ training phase, the groups that have been already formed were guided to establish local code clubs, recruit students, design a number of sessions and implement them. In each session the organizers were asked to prepare appropriate worksheets possibly reusing the ones used during the initial training or creating new ones. 28 code clubs were established all over Greece with a total number of participants exceeding 500 students ranging from K7 to K12 (12 to 18 years old) including students from vocational education schools. The evaluation of the code clubs was done an initial and a final questionnaire.
Table 1 summarizes the socio-demographic profile of the participants, their participation in the code club and their expectations and previous experience in coding. 69.9% of the participants were boys and 30.1% girls. Grades K-9 and K-10 represented around 70% of the participants. Participants were mainly informed from their computer science teacher at school. The main motivation for participation was their interest in coding. A high percentage expected to learn to code without help and learn something different than in school courses. Most of the participants could not see any obstacle in their participation in the code club and were determined to participate in all sessions of the code club. Finally most of them had a first coding experience at school.
Table 2 presents the programming environments used in the participants’ previous coding experience, mainly Scratch (https://scratch.mit.edu/), Microworlds (http://www.microworlds.com/) and Python.
Table 3 presents the self-evaluation of the students regarding their existing coding skills before their participation in the code club. Most of them believe that their coding skills are rather low. The opinion of the majority about coding is that it is a useful skill, challenging, helps in analytical thinking and is fun. Students would like to create mainly action games, mobile apps, robotics apps and games of logic and secondarily programs to solve mathematical problems and educational apps.
Table 4 presents the findings after finishing the code club. The positive impact on all variables is evident. The participants report that they now better what coding is and they have a better understanding of what kind of programs they would like to create.
Table 5 presents how the participants evaluate the code club and the teachers. All variables are given in 5-value Liker scale and it is evident the positive evaluation in all of them. The table also shows the self-evaluation of certain parameters regarding the participation. Again all evaluations are positive or very positive. Finally the table presents how the participants evaluated the Python language and its learning potential, with positive results as well.
The code clubs had a very positive impact on students in terms of developing programming skills and positive change in their attitude towards programming which is seen as an important professional pathway. Table 6 demonstrates these findings presenting the change in students’ attitudes on the questions of pre- and post-questionnaires.
5 Conclusions and Future Plans
The paper describes a teacher training scheme based on meaningful self-contained programming projects that are undertaken by students in coding clubs. A transfer was observed between knowledge acquired by the teachers and use of this knowledge with their own students. Evaluation was based on questionnaires and self-assessment for teachers and a pre-, post-questionnaire evaluation of the students that participated in the coding clubs established. Focusing on engaging programming projects rather than relying on artificial exercises addressing the syntax and the structure of Python (as it is the case in traditional classroom teaching) highlights a wide range of higher-level concepts ranging from functional abstraction and problem-solving strategies.
Participating teachers were supported through distant-learning facilities to study special material on the Python programming language and thus gain confidence in using an alternative, engaging methodology which can serve as a springboard for exposing their students to Computer Science practices and concepts.
Future work will address the transfer of the material and the methodologies reported in other domains (e.g. mathematics [15]) that could use coding to make learning playful and more engaging. Furthermore, we plan to explore the integration of visual interfaces to Python capitalizing promising results with respect to the performance gain that those interfaces can offer to novices [16].
References
Fischer, G.: Understanding, fostering, and supporting cultures of participation. Interactions 18, 42–53 (2011)
Myers, B., Ko, A., J., Burnett, M.: Invited research overview: end-user programming. In: CHI 2006 extended abstracts on Human factors in computing systems, pp. 75–80 (2006)
Ko, A.J., et al.: The state of the art in end-user software engineering. ACM Comput. Surv. (CSUR), 43(3), 21 (2011)
Aleksic, V., Ivanovic, M.: Introductory programming subject in European higher education. Inform. Educ. 15(2), 163–182 (2016)
Balanskat, A., Engelhardt, K.: Computing our Future: Computer Programming and coding-Priorities, School Curricula and Initiatives Across Europe. European Schoolnet (2014)
Smith, N., Sutcliffe, C., Sandvik, L.: Code club: bringing programming to UK primary schools through scratch. In: Proceedings of the 45th ACM technical symposium on Computer science education, pp. 517–522 (2014)
Ovcin E., Cerato C., Smith D., Lameras P., Moumoutzis N. The pSKILLS experience: using modern educational programming languages to revitalise computer science teaching. In: International Conference on the Future of Education, Florence, Italy (2011)
Smith, D., Lameras, P., Moumountzis, N.: Using educational programming languages to enhance teaching in computer science. In: EDGE 2010 Conference on the Use of Technologies in K-12 and Post-Secondary Education, Newfoundland & Labrador, Canada (2010)
Peppler, K., Kafai, Y.: Creative coding: programming for personal expression. In: 8th International Conference on Computer Supported Collaborative Learning (CSCL), Greece (2005)
Moumoutzis, N., Christoulakis, M., Pitsiladis, A., Sifakis, G., Maragkoudakis, G., Chris-todoulakis, S.: The ALICE experience: a learning framework to promote gaming literacy for educators and its refinement. In: International Conference on Interactive Mobile Communication Technologies and Learning (IMCL), pp. 257–261 (2014)
Zimmerman, E.: Gaming literacy – game design as a model for literacy in the twenty-first century. In: Perron, B., Wolf, M.J.P. Eds. The Video Game Theory Reader 2, New York; London. Routledge (2009)
Pappas, N., Arapi, P., Moumoutzis, N., Christodoulakis, S.: Supporting learning communities and communities of practice with Coursevo. In: Global Engineering Education Conference (EDUCON), pp. 297–306. IEEE, Athens, Greece (2017)
Pappas, N., Arapi, P., Moumoutzis, N., Mylonakis, M., Christodoulakis, S.: The multimedia open learning environment (MOLE). Never Waste a Crisis! 76 (2011)
Mylonakis, M., Arapi, P., Pappas, N., Moumoutzis, N., Christodoulakis, S.: Metadata management and sharing in multimedia open learning environment (MOLE). In: García-Barriocanal, E., Cebeci, Z., Okur, M.C., Öztürk, A. (eds.) Metadata and Semantic Research. MTSR 2011. Communications in Computer and Information Science, vol. 240, pp. 275–286. Springer, Berlin, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24731-6_29
Lameras, P., Moumoutzis, N.: Towards the gamification of inquiry-based flipped teaching of mathematics: a conceptual analysis and framework. In: 2015 International Conference on Interactive Mobile Communication Technologies and Learning, pp. 343–347 (2015)
Kyfonidis, C., Moumoutzis, N., Christodoulakis, S.: Block-C: a block-based pro-gramming teaching tool to facilitate introductory C programming courses. In: Global Engineering Education Conference (EDUCON) 2017 IEEE, Athens, Greece, pp. 570–579 (2017)
Acknowledgments
The work reported in this paper was partially supported by the Google CS4HS programme (https://www.cs4hs.com/).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Moumoutzis, N., Boukeas, G., Vassilakis, V., Xanthaki, C., Pappas, N. (2022). Py4hs: A Computer Science Teacher Training Programme Promoting Python Code Clubs. In: Auer, M.E., Tsiatsos, T. (eds) New Realities, Mobile Systems and Applications. IMCL 2021. Lecture Notes in Networks and Systems, vol 411. Springer, Cham. https://doi.org/10.1007/978-3-030-96296-8_85
Download citation
DOI: https://doi.org/10.1007/978-3-030-96296-8_85
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-96295-1
Online ISBN: 978-3-030-96296-8
eBook Packages: EngineeringEngineering (R0)