Jimoyiannis A. (2012). Developing a pedagogical framework for the design and the implementation of e-portfolios in educational practice. (original) (raw)
Related papers
Themes in Science & Technology Education, 4(2), 53-74., 2011
Introductory programming seems far from being successful at both university and high school levels. Research data already published offer significant knowledge regarding university students' deficiencies in computer programming and the alternative representations they built about abstract programming constructs. However, secondary education students' learning and development in computer programming has not been extensively studied. This paper reports on the use of the SOLO taxonomy to explore secondary education students' representations of the concept of programming variable and the assignment statement. Data was collected in the form of students' written responses to programming tasks related to short code programs. The responses were mapped to the different levels of the SOLO taxonomy. The results showed that approximately more than one half of the students in the sample tended to manifest prestructural, unistructural and multistructural responses to the research tasks. In addition, the findings provide evidence that students' thinking and application patterns are prevalently based on mathematical-like mental models about the concepts of programming variable and the assignment statement. The paper concludes with suggestions for instructional design and practice to help students' building coherent and viable mental models of the programming variable and the assignment statement.
2011
Abstract. Introductory programming seems far from being successful at both university and high school levels. Research data already published offer significant knowledge regarding university students ’ deficiencies in computer programming and the alternative representations they built about abstract programming constructs. However, secondary education students ’ learning and development in computer programming has not been extensively studied. This paper reports on the use of the SOLO taxonomy to explore secondary education students ’ representations of the concept of programming variable and the assignment statement. Data was collected in the form of students’ written responses to programming tasks related to short code programs. The responses were mapped to the different levels of the SOLO taxonomy. The results showed that approximately more than one half of the students in the sample tended to manifest prestructural, unistructural and multistructural responses to the research tas...
2013
Introductory programming seems far from being successful at both university and high school levels. Research data already published offer significant knowledge regarding university students' deficiencies in computer programming and the alternative representations they built about abstract programming constructs. However, secondary education students' learning and development in computer programming has not been extensively studied. This paper reports on the use of the SOLO taxonomy to explore secondary education students' representations of the concept of programming variable and the assignment statement. Data was collected in the form of students' written responses to programming tasks related to short code programs. The responses were mapped to the different levels of the SOLO taxonomy. The results showed that approximately more than one half of the students in the sample tended to manifest prestructural, unistructural and multistructural responses to the research ...
CSEIT 2012 conference proceedings, 2012
This paper provides insights into the underlying research on issues in teaching introductory programming at university which gave rise to the conceptualisation of the CABLE model - a learning environment for teaching computer programming trialed at the National University of Samoa over a period of 3 years. The paper describes why students find programming difficult. From analysis of the research, potential solutions are proposed. These solutions form the basis of recommendations for the conceptualization and establishment of a model of a learning environment called CABLE. Findings from the analyses of research on issues in teaching programming are also used as recommendations on methodology and implementation details of the proposed pedagogical model. Keywords-programming; computer programming; CABLE; collaborative learning; cognitive apprenticeship; modelling; metacognition; computer mediated communication I. INTRODUCTION (HEADING I) "Computer science educators have shown growing concern over the difficulties with which novice Computer programmers leam programming principles. Computer programming is a challenging subject area which places a heavy cognitive load on students [I - 3]. Most novice programmers have had little or no previous experience in programming and takes on average 10years for a novice to be proficient in programming [4]. This paper describes why students find programming challenging and then recommends potential solutions from which the proposed pedagogical model CABLE is conceptualized. From these recommendations the components of CABLE are then proposed and put together to formulate the CABLE learning environment. This learning environment was then trialed over a period of 3 years in programming courses at the National University of Samoa. 3rd Annual International Conference on Computer Science Education: Innovation & Technology (CSEIT 2012) Copyright © GSTF 2012 ISSN: 2251-2195 doi: 10.5176/2251-2195_CSEIT12.42 11. ISSUES AND DIFFICULTIES I LEARNING PROGRAMMING A. Cognitive requirements of programming Programming requires students to hold a wide range of information in working memory. These include the details of syntax and semantics specific to the programming language being used, some mental model of how to solve each problem, and the ability to differentiate between solving the problem and specifying the solution [5]. Computer programming also requires that the user be proficient in the use of (a) the development environment, (b) the programming language, and (c) compiler/interpreter, which are separate levels of th
Developing students' algorithmic and computational thinking is currently a major objective for primary and secondary education in many countries around the globe. Literature suggests that students face at various difficulties in programming processes, because of their mental models about basic programming constructs. Arrays constitute the first data structure students have to cope with in introductory programming courses. This paper presents the results of an empirical study on secondary education students' misconceptions and mental representations of the array data structure. Students' responses to written tasks regarding short code segments were mapped to the different levels of the SOLO taxonomy, in order to identify how students use arrays to solve programming problems. The analysis of the results showed that the majority of the students tended to manifest responses assigned to the lower SOLO levels, i.e. prestructural, unistructural and multistructural. The findings indicate that many students in the sample had incomplete or faulty representations of the array concept, which seem to be connected to their misconceptions about the programming variable concept.
A WEB-BASED LEARNING ENVIRONMENT FOR IMPROVING PROGRAMMING STUDENTS' MENTAL MODELS
Recent research has found that many programming students often hold non-viable mental models of basic programming concepts such as assignment and object reference. To improve those students' mental models, a constructivist-based learning model, integrating a cognitive conflict strategy with program visualisation, was proposed by the authors. In addition, a web-based learning environment has been developed to offer a practical tool for instructors and students to use the proposed learning model for teaching and learning. This paper describes this learning environment and also presents a preliminary study that was conducted to investigate the performance of this learning environment. The results of this study reveal that the learning environment is effective in helping students construct viable mental models of a relative simple concept, namely value assignment. The current aim of this work is to extend the environment to cover a number of key programming concepts and to make it available to fellow researchers and instructors for further investigation in their own teaching contexts.
Curriculum, Teaching and Learning, and Assessments for Introductory Programming Course
IEEE Access
Learning to program involves acquisition of various skills including problem solving, fundamental design techniques as well as critical thinking. Generally, most of the novice programmers struggle to develop all these important skill. The research community has addressed the problem in many different ways while involving improvisations in curriculum, pedagogical methods, cognitive aspects, supporting tools, and in designing assessments. This research aims to analyze and synthesize the existing literature in the aforementioned areas. Research articles pertaining to the area of Introductory Programming Courses (IPC) have been found using appropriate search queries, while nearly 60 research articles, published in last ten years, have been carefully selected by employing a systematic filtering process. The scope of this work only covers the research conducted for IPC in higher education. Main findings of this study show that ''solution proposal'' and ''evaluation research'' have been reported as two main research types adopted by these studies. Moreover, pedagogy, language choice and students' performance analysis are the most frequently addressed aspects of IPC; whereas, curriculum contents, assessment design, and teaching/learning through tools have appeared as less addressed aspects of IPC. Furthermore, a taxonomy of IPC has been presented based on the studied literature. Lastly, general considerations and future research directions have been presented for the practitioners and researchers in this area.
Toward a Framework of Programming Pedagogy
Encyclopedia of Information Science and Technology, Second Edition
Why is learning to program so difficult? One difficulty is that learning to program needs the acquisition of a multitude of inter-related skills. Jenkins (2002) argues that programming is a complicated task, which requires the mastery of a number of skills such as problem solving, abstraction, mathematical logic and testing, debugging and so forth. A novice programmer simply lacks these skills. More importantly, success in learning to program demands knowledge of computer itself. Ben-Ari (1998) points out that students lack a viable mental model to learn programming. On the other hand, undue emphasis is placed on the learning of programming syntax (Deek, 1999). In this article, we will focus on approaches of teaching computer programing. Winslow (1996) introduced the term “programming pedagogy” in his paper. Although programming pedagogy is not explicitly defined in the paper, the term here refers to any instructional methods and strategies which are used to teach students introduct...
Designing and deploying programming courses: Strategies, tools, difficulties and pedagogy
Education and Information Technologies, 2014
Designing and deploying programming courses is undoubtedly a challenging task. In this paper, an attempt to analyze important aspects of a sequence of two courses on imperative-procedural and object-oriented programming in a non-CS majors Department is made. This analysis is based on a questionnaire filled in by fifty students in a voluntary basis. The issues of the programming courses that are investigated refer to: the strategy selected for the introduction to programming; the sequence of the programming techniques and languages taught and the transition from the one to the other; students' difficulties with programming in general and with imperative-procedural and object-oriented programming in specific; the teaching and learning design of both courses; and the material that students rely on for learning programming. Based on the analysis of students' replies on the questionnaire, related work and the instructor's experience on teaching the courses, conclusions are drawn regarding all the aforementioned aspects of designing and deploying programming courses. The main contribution of the paper is the fact that all the important and interrelated aspects of a sequence of two programming courses are investigated in conjunction, providing realistic implications and guidelines for improving the quality and effectiveness of existing programming courses and designing and deploying new courses. The main results refer to the usage of a pseudo-language for an introduction to programming, the transition from procedural to object-oriented programming, the intrinsic difficulties of learning programming, and practices for a more successful teaching and learning design of programming courses. Keywords: Programming course design; teaching and learning programming; procedural programming; object-oriented programming; pedagogy 2004). The imperative-first and functional-first strategies were heavily used for decades, while the objects-first strategy attracted teachers' attention the last decade. For a long period of time extended research was carried out regarding the best choice of strategy for an introduction to programming with main opponents the imperative-first and objects-first strategy. Although, the results of the relevant studies are contradictory the majority of researchers seem to agree that students face more difficulties during their transition from imperative-procedural programming to object-oriented programming and not vice versa ). Some of the difficulties faced by students -with prior experience on an imperative-procedural language -during their introduction to OOP are the following: although the OO problem solving technique is considered more natural, it demands a new way of thinking that cannot be easily acquired by students with experience on problem solving with a procedural language (Tempte, 1991); students find it difficult to use correctly OOP concepts and tend to treat methods as procedures, ignoring their role in OOP (Handjerrouit, 1998; Handjerrouit, 1999). On the other hand, other researchers state that object-oriented languages demand knowledge of basic programming structures and characteristics and capabilities prior to using an OOP language . It is obvious that deciding what strategy to rely on for the introduction to programming is not an easy and straightforward decision. Moreover, in the case of a series of programming courses decisions have to be made regarding the overall strategies, or else what programming techniques will be taught and with what sequence. The next step is selecting a programming language that supports the selected strategy and meets the goals of the course and the program of studies. The available programming languages are numerous and selecting the one that will be used is a multicriteria decision. Researchers have proposed lists of criteria , key features and suggestions (Kaplan, 2010) for supporting teachers in selecting the first programming language. One of the most extensive list of criteria has been proposed by and includes the following criteria: software cost; programming language acceptance in academia; programming language industry penetration; software characteristics; student-friendly features; language pedagogical features; language intent; language design; language paradigm; language support and required training; and student experience. go a step beyond these usual considerations proposed as selection criteria Xinogalos, S. (2014). Designing and deploying programming courses: Strategies, tools, difficulties and pedagogy.
Programming web-course analysis: How to introduce computer programming?
2014 IEEE Frontiers in Education Conference (FIE) Proceedings, 2014
Nowadays, computer programming and logical thinking skills have been proposed as a fundamental knowledge, even to young learners. On one hand, in undergraduate STEM (Science, Technology, Engineering and Math) courses, the first contact of students with the logic of programming usually results in high failure rates. The literature and experiments conducted by the authors point out that this occurs regardless the adopted programming language. On the other hand, the literature presents some positive results when the paradigm used to introduce the subject is Visual Programming (VP), where the learners use icons to build their programs. This approach is successful even with young learners. In this context, a relevant question is whether, and how, the Visual Programming can help learners to understand a traditional textual programming language. The proposal of this work is to study differences between visual and traditional programming by analyzing the mental workload of using both paradigms during the introduction of algorithms and basic concepts of programming in the context of an online course of introductory programming. In order to perform such analysis, we adopted the NASA TLX protocol.