<<  Back ::

Exploratory + Collaborative Learning in Programming (ECLiP)



ECLiP: Exploratory + Collaborative Learning in Programming is a framework for the design of a set of learning activities,in the context of any subject matter, that aim to achieve learning goals of different levels such as Comprehension, Application, Checking-Critisizing, and Creation. ECLiP follows the key idea of the "Learning-for-Use" model and adopts characteristics from the exploratory and collaborative learning, comprising a three-step process:

  • Acquiring Knowledge: It is essential to engage students in learning activities concerning simple authentic problems that are close to their experience, show the usefulness of the programming process beyond the specific course and make them to become curious and seek for new knowledge. Various forms of scaffolding (e.g. questions, case studies) may be included in order to (i) stimulate the students to acquire the new knowledge, and/or (ii) make them aware of their own difficulties.
  • Learning by Exploring+Collaborating: The learning activities may guide the students to activate their existing mental model and subsequently to revise/modify it. This can be achieved, for example, if the students are engaged in learning activities that ask them, at first place, to predict the results of a simple program, addressing specific programming constructs, and afterwards to examine and compare the predicted results to the actual ones. Through suitably designed questions and additional scaffolding tasks, the students can understand the functional characteristics of the programming constructs and revise appropriately their mental model in case of preconceived misconceptions. Additionally, the students may run and study examples, try to understand their function and make changes to the programs or proceed with solving similar problems. Moreover, in order to enhance the learning and support the development of skills for self-monitoring/self-control/critical thinking, it is essential to incorporate characteristics from collaboration. The collaboration may take place at different stages and may have the form of groups where the students act equivalently or the form of "role playing" where they act according to specific roles (e.g. "pair-programming").
  • Applying-Refining knowledge: Reflection may be achieved (i) by asking the students to check their thinking, and/or to reason their decisions and/or (ii) by engaging the students in collaborative activities in which they examine and discuss their ideas with others and/or evaluate others statements/solutions. The learning activities concerning the application of knowledge, may ask the students to (i) develop/modify a simple program, and/or (ii) check the correctness of a program and modify it appropriately according to the problem definition, and/or (iii) act as evaluators of other students' work. The students may collaborate at different stages of the learning activities (e.g. at the beginning for exchanging ideas in the design of a solution or at the end for implementing a program).


    Gogoulou, A., Gouli, E., Grigoriadou, M., & Samarakou, M. (2003). Exploratory + Collaborative Learning in Programming: A Framework for the Design of Learning Activities. In V. Devedzic, J.M. Spector, D.G. Sampson & Kinshuk (Eds.) Proceedings of the 3rd IEEE International Conference on Advanced Learning Technologies, (Athens, Greece, July 2003), 350-351.

    Gogoulou, A., Gouli, E., & Grigoriadou, M. (2003). Adopting Exploratory + Collaborative Learning in an Adaptive CSCL Environment for Introductory Programming. In Volume VII of AIED03 Supplementary Proceedings: Workshop on Innovations in Teaching Programming, (Sydney, Australia, 2003), 417-424.

    Γρηγοριάδου, Μ., Γόγουλου, Α., & Γούδα, Κ. (2005). Εφαρμόζοντας το Πλαίσιο ECLiP για τη Διδασκαλία των Επαναληπτικών Δομών στα ΤΕΕ. Πρακτικά 3ου Πανελληνίου Συνεδρίου "Διδακτική της Πληροφορικής", (Κόρινθος, 7-9 Οκτωβρίου).

    Γρηγοριάδου, Μ., Γόγουλου, Α., Γουλή, Ε., & Σαμαράκου Μ. (2004). Σχεδιάζοντας 'Διερευνητικές + Συνεργατικές' δραστηριότητες σε εισαγωγικά μαθήματα προγραμματισμού. Στο Πολίτης Π. (Επιμ) Πρακτικά 2ης Διημερίδας με Διεθνή Συμμετοχή με τίτλο: «Διδακτική της Πληροφορικής», (Βόλος, Ιανουάριος 2004), 86-96.