Skip to content

Studier med variationsteori

yarafaris edited this page Jun 14, 2022 · 8 revisions

Dokumentation av studier som använder variationsteori.

Nyckelord för sökningar

Studier

Skriven av: Jarkko Suhonen, Errol Thompson, Janet Davies och Kinshuk

Abstract: There are various challenges in IT education. Students have difficulties in applying the key concepts, theories and techniques taught in introductory courses. At the same time, the backgrounds of students are becoming more and more diverse. Teachers work with heterogeneous student cohorts. Phenomenographic studies can be used to understand different perspectives of learners’ understanding. Variation theory is a promising approach to improving the teaching of computing subjects. The theory can be applied to design variations in teaching that make explicit the different aspects of computing concepts. We discuss the role of variation theory in creating diversity in teaching practices to reach students with diverse backgrounds and expectations.

"In this paper we discuss the applicability of variation theory as a course design tool to enrich teaching practices in computing subjects. We provide two examples of the use of variation theory and discuss the role of variation theory in assisting teachers to reach students with diverse backgrounds and expectations. "

Exempel 1: Programming concepts (3.1)

  1. Använda variationer i problem för en given konstruktion eller koncept, och få fram egenskaperna av den valda konstruktionen eller det valda konceptet inom programmets kontext. Konstruktionen/konceptet är konstant medan kontexten varierar.
  2. Fokusera på ett återkommande problem där variation appliceras i användningen av en konstruktion eller ett koncept.
  3. Fokusera på ett återkommande problem och använda olika konstruktioner eller koncept för att lösa det problemet.

"What is a program?" -> Genom att läraren presenterar olika exempel på vad ett program är (som studenterna känner till) skapas det en länk till tidigare kunskaper. Exempel är TV program, datorprogram, recept, byggnadskonstruktioner osv. Studenten ska sedan diskutera vad som karaktäriserar dessa olika exempel på program. Komma fram till algoritmer + data.

"The conceptual understanding of students can be further strengthened by comparing programme examples with non-programme examples and/or by letting students come up with their own examples of programmes and nonprogrammes. Further discussion can be held to investigate the characteristics of programmes. A goal of this activity is to discuss the key aspects and to construct a conceptual understanding of a programme and how it might be created. The examples are chosen to highlight the characteristics of a computer programme represented by the teacher’s ‘intended object of learning’. They are also chosen because they represent variations of the concept within the context familiar to the students (background knowledge)."

Exempel 2: Software development process (3.2)

  1. An approach to address the issues related to teaching of software development is to model the software development strategy. For example a strategy such as ‘divide and conquer’ or ‘programming by intent’ could be applied to a range of problems and applied consistently through the teaching of concepts and ideas. In this case, the process remains static but the problems vary, thus revealing that the process is not problem-dependent. If the opportunity were available, it might also be desirable to vary the programming language or development environment so that the learner saw that these strategies for programming are not dependent on the programming language or programming paradigm. They may be adapted but still utilised.

  2. An alternative variation strategy is to use different software development strategies to solve the same problem. For example, the strategy of ‘functional decomposition’ might be contrasted with ‘programming by intent’, thus allowing the learner to see that alternative strategies can be used to address the same problem and possibly come to similar solutions.

Intressant från diskussionen

"It is easy to argue that variations are always used in teaching. The question is whether those variations are effective. From a variation theory perspective, the variations that are effective are those that help present the critical aspects of a phenomenon and not simply those that show how the phenomenon varies from some other phenomenon. If we revisit the ‘What is a program(me)?’ example, what worked were the variations that helped students to think about algorithm and data. They were presented with a number of familiar and maybe not so familiar program(me)s that focused on these two aspects. They were also given non-examples that focused either on the data or on the algorithm but did not include both. The examples also avoided including other complexities of programming such as syntax and semantics. If variations are to be used in teaching then it isn’t adequate simply to know the definitions and to be able to present these to the students. The teacher needs to understand the critical aspects that are encapsulated in those definitions and the variations of examples and questions that will help create an enacted object of learning that makes those critical aspects visible. "

Skriven av: Neena Thota & Richard Whitfield

Abstract: This article describes a holistic approach to designing an introductory, object-oriented programming course. The design is grounded in constructivism and pedagogy of phenomenography. We use constructive alignment as the framework to align assessments, learning, and teaching with planned learning outcomes. We plan learning and teaching activities, and media with an understanding of variation theory and the ways in which students learn to program. We outline the implementation of the course, and discuss the findings from the first cycle of an action research study with a small sample of undergraduate students. An investigation of the preferred (deep/surface) learning approaches of the students led us to believe that these approaches can be influenced through course design. Personal constructs of the students, elicited through the repertory grid technique, revealed that rich inventories of learning resources are highly valued. We comment on the transformational processes of the experience of the participants, and identify areas for further refinement and investigation in the next action research cycle.

Kommentar: Denna artikel har samma syfte som oss. "This article traces the attempt to understand and adopt learning and teaching theories to design an introductory OOP course.". Det dom kommer fram till är att efter denna studie så förstår dom studenternas perspektiv bättre. Alltså inga "woow" resultat som vi kan använda oss av. Dock tar dom upp vissa saker som är intressanta även för oss.

Andra studier som bygger upp författarens kurs:

  1. In terms of implementing variation theory, Marton and Trigwell (2000) mention the possibility of opening up new patterns of variation with the use of information technology. Computer science education, by necessity, is dependent on software for teaching and learning. A range of educational media such as learning objects, visualization, development, and animation tools are available for OOP. The incorporation of some of these tools with a learning management system is reported by Ro¨ßling and Kothe (2009).
  1. A principled approach for generating a teaching strategy with educational media can be found in the Conversational Framework developed by Laurillard (2002). This framework is based on phenomenographic research and combines discursive, adaptive, interactive, and reflective activities matched with educational media. Laurillard prescribed a sequence of iterations of dialogue, actionfeedback, adaptation, and reflection to expose students to new ideas, to improve their practice, and link this improved practice to further developed understanding. The framework seemed a purposeful way to integrate learning opportunities, assessment and feedback mechanisms, and management of student progression with OOP-related tools and the university’s learning management system.

Metoder författaren lärde sig under studiens gång som hon kommer att använda sig av/redan implementerat:

image

a) "Students were expected to use the full range of assessment and other teaching and learning activities to achieve the desired programming outcomes and affective values. The curriculum was tailored to emphasize particular ways or even the full range of possible ways of going about learning to program (Bruce et al., 2004). Students modeled real world problems and followed the entire process from analysis to implementation of code (Eckerdal & Thune´, 2005). Several opportunities were given to students to contrast, generalize, and separate aspects of approaches (Marton et al., 2004) in preparing the assignments given to achieve ILO2. Then, the students fused all of these aspects, to complete the end-of-term project to achieve ILO3."

b) "Collaborative work using pair and team programming projects, and guided practice activities were incorporated (Van Gorp & Grissom, 2001; Wulf, 2005). A broad range of learning contexts – peer assessment, oral presentations, interactive lectures/labs, and role plays – were employed to deepen understanding and to keep students engaged and motivated (Biggs & Tang, 2007). Constructivist recommendations for effective learning in programming were followed: The identification of students’ preconceptions, and the provision of adequate and appropriate tools (Hadjerrouit, 1999). Helpful resources for the novice programmers were available in the form of adaptive quizzes, and lecturer and peer feedback. Course content, code samples, and tutorial exercises were provided online through the university’s learning management system. Prior knowledge and possible range of learning styles (Felder & Silverman, 1988) were acknowledged by presenting a variety of material that was suitable for novices and for challenging more experienced students."

c) "Specific attention was paid to increasing the relevance of the course and student motivation for learning (Booth, 1997). Writing about their personal goals and learning plans enabled students to define their aims and to reflect on their level of motivation. Journal entries, on topics such as pair programming, team work, and testing, focused the attention of the students on the relevance of these for programming. Best practices in OOP included interpreting code before producing code at the method, class and class model levels (Caspersen & Bennedsen, 2007). Practice exercises at different levels of proficiency were matched with the intended learning outcomes to encourage qualitatively different conceptual understandings. These activities explicitly addressed student misconceptions of objects and classes (Ragonis & Ben-Ari, 2005; Robins et al., 2003). Examples that were relevant and familiar to multi-cultural groups (Suhonen, Thompson, Davies, & Kinshuk, 2007) were cited in class to create dimensions of variation. Use of unified modeling language (UML) diagrams, and debugger was added so that student could comprehend the critical aspects of understanding objects and classes (Eckerdal & Thune´, 2005)."

Studien kom fram till att (tog ut delar som kan vara intressant för oss):

  1. "We have learnt that students consider a choice of resources, assignments, and activities as helpful for programming. Our students prefer a variety of informational sources created specifically for them rather than links to web resources available online. Preparing and collecting the material required extra preparation, but our use of narrative media for varied content seems to have yielded significant benefits to the students."

  2. "Understanding and knowledge of programming was perceived to develop through skills based activities and brainstorming together for ideas. The written exam and practice quizzes were not very popular as our students preferred to design and create programs, rather than answer questions about vocabulary or trace code. Detailed feedback was deemed effective for learning. We admit that it entails a lot of work to use grade descriptors and to return exhaustive comments on assignments and projects. Pair programming was preferred over programming by oneself. Peer help and the team project were ranked as being only moderately useful for effective learning."

  3. We intend to design materials in-house to bring out critical aspects to tackle the persistent OOP-related errors and misconceptions that we have noticed.

  4. "We have also been alerted to the need for formal instruction for students to develop essential team skills."

  5. "Jacobs (2000) suggests that evaluators of educational innovations should combine formative, summative, and illuminative measures."

Skriven av: Anders Berglund, Anna Eckerdal

Abstract: In learning to program, there is a complex interplay between the learning of practice (what to write, how to read compiler messages, etc.) and the learning of theory (what programming constructs are good for, how they “work”, how the programme executes etc.). Our on-going project focuses on this interplay - normally not directly visible for the learners themselves - and offers insights about the complexity of the learning process. From a micro-level analysis of video films of students’ collaboration in lab sessions, we follow how the students attention moves from one aspect to another (theoretical or practical), and then further, until, in good cases, we can document that a meaningful learning has taken place. Theoretically the project takes its point of departure in a framework, inspired by the roots of phenomenography and variation theory. Theory and practice are here interpreted from a pragmatic perspective, close to the students’ (and, as we believe, most programmers) intuitive understanding and use of the terms. The ultimate aim of the project is to support teachers and teaching institutions to teach programming in such ways that students better learn how to program. That is, the project takes its point of departure in the disciplinary learning - the learning of programming - and aims to propose possible improvements in our teaching, by building on the insights gained by the microanalyses of the students’ learning. In this paper we illustrate, from an example, how the research process leads us from microlevel observations on how the students attentions move from different aspects (both theoretical and practical) of the half-ready computer program they aim to finalize, over our analysis of the lab sessions, to some insights in the complex interplay between theory and practice in programming students’ learning process.

Kommentar: Studien har gjorts på tre olika universitet i Sverige på studenter som går sin första programmeringskurs.

"The variation in the syntax lies in that the code in the examples in the supporting documents differ from their own code in that they do not use curly brackets. This insight triggers a movement in their attention. Further there is a variation between what Adam reads in the document and where he first puts the left bracket { directly after if. Cecilia finally tries to compare curly brackets to ordinary parenthesis to better understand their semantics. This variation in the syntax comes to the fore by practice-oriented actions as well as theory oriented reflections: reading the document and typing a curly bracket in a way that seems correct, and reflecting on how this relates to ordinary parenthesis. "

Slutsats:

"The example from the on-going research discussed in this paper illustrates a common pattern in our data: It is not until the students do something in practice; here they start to write an ifelse-statement, that they notice a variation between their own code and the code in the examples. In the practice the students open up a variation so that they become aware of a gap in their understanding; they do not know the syntax and semantics of curly brackets in Java. When the students notice the gap they try to fill it. A complex movement between practice-oriented and theory-oriented actions follows. The pattern we see is: In the practice students notice variation, often created by the students themselves, which makes them becoming aware of a gap in their understanding. The practice thus seems to strengthen and direct students’ attention, through variation, to such gaps and thus opens for learning. "

Skriven av: Michael Thune & Anna Eckerdal

Abstract: Previous research shows that many students find it difficult to learn computer programming. To learn computer programming includes both gaining theoretical understanding and learning to develop programmes in practice. To this end, teachers commonly design programming exercises for the students in the computer laboratory. To be able to improve the process of designing such exercises, there is a need of a more detailed understanding of the interaction between learning of theory and learning of practice in laboratory sessions. In this paper, an approach for investigating this interaction is proposed. Theoretically, the approach is based on phenomenography and variation theory. To illustrate the approach, it is demonstrated in detail how it was applied to a small but rich case of empirical data from a computer laboratory session. The main result presented here is the new approach for analysing data. In addition, the results of the case study shed preliminary light on the interaction between learning of practice and learning of theory when students work with programming assignments in the laboratory.

Skriven av: Anna Eckerdal

Abstract: Computer programming education has practice-oriented as well as theory-oriented learning goals. Here, lab work plays an important role in students' learning. It is however widely reported that many students face great difficulties in learning theory as well as practice. This paper investigates the important but problematic relation between the learning of theory and the learning of practice for novice programming students. A phenomenographic and variation theoretical analysis on novice students' understanding of concepts is combined with a variation theoretical analysis on students' programming activities. It is shown that different levels of practical proficiency as well as different levels of conceptual understandings are related to dimensions of variation. The paper proposes a way to describe how students' learning of practice and concepts are related. In this way it extends traditional use of phenomenography and variation theory by discussing students' learning of practice as well as concepts, and specifically how these relate.

https://dl.acm.org/doi/abs/10.1145/1595356.1595360 https://dl.acm.org/doi/abs/10.1145/2853199 https://dl.acm.org/doi/abs/10.1145/3304221.3319783 https://dl.acm.org/doi/abs/10.1145/2700519 https://www.diva-portal.org/smash/record.jsf?pid=diva2%3A173221&dswid=1865 https://www.researchgate.net/profile/Fadia-Nasser-Abu-Alhija/publication/315352846_WHAT_LEARNING_COMPUTER_SCIENCE_LOOKS_LIKE/links/5915fe06aca27200fe50169c/WHAT-LEARNING-COMPUTER-SCIENCE-LOOKS-LIKE.pdf https://ieeexplore.ieee.org/abstract/document/9273812 https://www.learntechlib.org/p/217581/ https://d1wqtxts1xzle7.cloudfront.net/47666533/A_Study_on_Variation_Technique_in_Course20160731-2296-199lg2w-with-cover-page-v2.pdf?Expires=1655220520&Signature=RlAGedf07ZqXyofAqEI3lW6ITPmgj09WIBfRCN5K1NXKU5xk70RHTcmgO80SAS8gs8vlEsyeTjmMa0ZkZNPMfhMBhNI5vlTwZyTJa2g1pRi36GQEuaM9euSTws0e5oKLTXe5czrARRFWtXwDe9V16H4aKjZgG8LQ02YXqMbd5xMRlJhSGf4RBm3N9czX79HwwijwwC9JrDulURYshvqFr-5~yssPyP842TRLWIuJT3RE9IDUPPOzAAfMwrTyhiZMFwTGQQaEX0i-AsbnLIPDCYz2uf2eMFyp5wn91QkqiZSlvRRWb7MoxyrtewFU6qNk6VIORebFkdFb6RPlW056Zg__&Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA https://dl.acm.org/doi/abs/10.1145/2699751 https://dspace.mit.edu/handle/1721.1/107336