Resources and Readings Learning Computer Programming

Resources

Blockly - http://code.google.com/p/blockly/

Readings

Connolly, C., Murphy, E., & Moore, S. Second Chance Learners, Supporting Adults Learning Computer Programming. http://www.ineer.org/Events/ICEE2007/papers/407.pdf

Published abstract: The focus of this paper is adult learning, with regard to understanding how adults learn computer programming. Some computing students learning programming for the first time often have ineffective mental models for how a program operates and they fail to transfer their programming knowledge beyond what is taught. They lack appropriate cognitive skills that are a prerequisite to learning computer programming, and have a mental block when it comes to understanding the abstract constructs involved. This can cause the students to become anxious, or even fear programming. As performance is negatively affected by anxiety, this consequently impacts on their academic performance. This paper explores programming anxiety and the construction of mental schemas necessary for learning computer programming.

Fabiane Barreto Vavassori, B. (n.d). Exploring the educational potential of robotics in schools: A systematic review. Computers & Education, 58978-988. doi:10.1016/j.compedu.2011.10.006

Published abstract: This study reviews recently published scientific literature on the use of robotics in schools, in order to: (a) identify the potential contribution of the incorporation of robotics as educational tool in schools, (b) present a synthesis of the available empirical evidence on the educational effectiveness of robotics as an educational tool in schools, and (c) define future research perspectives concerning educational robotics. After systematically searching online bibliographic databases, ten relevant articles were located and included in the study. For each article, we analyze the purpose of the study, the content to be taught with the aid of robotics, the type of robot used, the research method used, and the sample characteristics (sample size, age range of students and/or level of education) and the results observed. The articles reviewed suggest that educational robotics usually acts as an element that enhances learning, however, this is not always the case, as there are studies that have reported situations in which there was no improvement in learning. The outcomes of the literature review are discussed in terms of their implications for future research, and can provide useful guidance for educators, practitioners and researchers in the area.

Fetaji, M., Fetaji, B., & Ebibi, M. (2007, October). Computer Programming Through Cognitive and Constructive Approaches. In World Conference on E-Learning in Corporate, Government, Healthcare, and Higher Education (Vol. 2007, No. 1, pp. 1526-1530).

Published abstract: Learning programming languages in a traditional manner is difficult. There are many disadvantages in teaching and learning programming in the classical classroom compared with e-learning environment. To overrun these demerits virtual learning environments are developed, but usually the pedagogical aspect in development of e-learning technologies is left behind any consideration. In our research study we are analyzing pedagogical issues and propose a pedagogical approach in developing e-learning technologies for learning programming. Analyses of the pedagogy in the developed virtual environment for learning programming in Java is realized and proposed are recommendations to address the problem that novice users have in learning programming in Java language.

Flannery, L. P. (2011). Dancing the “Robot Hokey-Pokey”: Cognitive Developmental Level as a Predictor of Programming Achievement (Doctoral dissertation, Tufts University). http://ase.tufts.edu/DevTech/resources/Theses/LFlannery_2011.pdf

Published abstract: Distinctive within the extensive ecosystem of children's technologies available today are those for constructing and exploring digital objects – for instance by building robots and programming their behaviors. Such technologies have gained popularity as they can be both entertaining and enriching, especially when designed and used according to cognitive developmental and constructionist learning principles. The TangibleK Robotics Project has conducted three years of developmentally driven research on technology designs and learning expectations for CHERP, a robotics programming tool for kindergarteners. This thesis examines preschoolers‟ and kindergarteners‟ problem-solving and reasoning during a programming task as a function of their cognitive developmental level. Results show that while children in late pre-operations engage in meaningful programming explorations, their work differs qualitatively from that of older children transitioning into or already in early concrete operations. The findings inform discussion of developmentally differentiated learning expectations and issues to consider in future technology revisions.

Kazakoff, E., & Bers, M. (2012). Programming in a robotics context in the kindergarten classroom: The impact on sequencing skills. Journal of Educational Multimedia and Hypermedia, 21(4), 371-391.

Published abstract: This paper examines the impact of computer programming of robots on sequencing ability in early childhood and the relationship between sequencing skills, class size, and teacher’s comfort level and experience with technology. Fifty-eight children participated in the study, 54 of whom were included in data analysis. This study was conducted in two different school environments, where both class size and teacher’s experiences with the technology used varied – one teacher had used the system for the prior year, the other teacher had not. School environments were further subdivided into control and experimental groups. Kindergarten children in the experimental group were exposed to the TangibleK program for a period of twenty hours, taught by their classroom teacher. Children participated in computer programming activities using a developmentally appropriate tangible programming language, specifically designed to program a robot’s behaviors. All fifty-four participants sequencing skills were assessed before and after the intervention using a picture story sequencing task and analyzed using a repeated measures, 2x2x2 design ANOVA. A significant interaction was found between group assignment and test results. No significant interactions were found for school assignment. Results are discussed taking into account class size, teacher experience, and teacher comfort level with technology.

Mayer, R. E. (2004). Should there be a three-strikes rule against pure discovery learning? American Psychologist, 59(1), 14.

Abstract: http://psycnet.apa.org/journals/amp/59/1/14/

Pea, R. D., & Kurland, D. M. (1984). On the cognitive effects of learning computer programming. New ideas in psychology, 2(2), 137-168.

Published abstract: This paper critically examines current thinking about whether learning computer programming promotes the development of general higher mental functions. We show how the available evidence, and the underlying assumptions about the process of learning to program, fail to address this issue adequately. Our analysis is based on a developmental cognitive science perspective on learning to program, incorporating developmental and cognitive science considerations of the mental activities involved in programming. It highlights the importance for future research of investigating students' interactions with instructional and programming contexts, developmental transformations of their programming skills, and their background knowledge and reasoning abilities.

Schmidt, R., Masuch, Maic, & Othlinghaus, J. (2011). "Towards a Game-Based Programming Learning Environment for Kids." Mensch & Computer 2011: 11. fachübergreifende Konferenz für interaktive und kooperative Medien. überMEDIEN-ÜBERmorgen. Oldenbourg Wissenschaftsverlag, 2011.

Published abstract: In this paper we describe our vision of an engaging, game-based programming learning environment for novice learners aged 10 to 13. We aim to support class teaching situations until pupils reach an advanced level of knowledge.

Ranjeeth, S. (2008). An investigation of the impact of human cognition on the acquisition of computer programming skills by students at a university (Doctoral dissertation, University of Technology).

Published abstract: This study aimed to explore the impact of cognitive ability on the understanding of computer programming by students enrolled for a programming course at the University of KwaZulu-Natal. The rationale for this study is provided by the general perception held by the academic community that computer programming is a difficult faculty to master. This assertion is corroborated by reports of high failure rates in computer programming courses at tertiary institutes. A literature review was undertaken to investigate the contribution of other factors on the ability to achieve competence in computer programmer. Based on the outcome of the literature review, this study argues that cognitive ability warrants a higher priority relative to the other factors. As a strategy, cognitive science theory was consulted to establish a framework to quantify competency in computer programming. On the basis of this endeavour, two protocols were identified to facilitate the quantification process. The first was the “deep and surface” protocol used in previous studies to ascertain students’ cognitive style of understanding for computer programming. The second was an error analysis framework which was developed as part of the current study. These protocols were used as frameworks to underpin the data collection phase of the study. This study found that at least 50% of the students enrolled in a computer programming course adopt a superficial approach to the understanding of computer programming. In order to explain this phenomenon, a cognitive ability test was administered. Here it was established that at least 39% of these students have not reached a level of cognitive development that will enable the invocation of abstract thought. The study also found that this inability to handle abstractionism, an essential requirement for success in computer programming, is reflected in the severity of errors made in computer programming assessment tasks.

Rolandsson, L. (2012). Changing Computer Programming Education; The Dinosaur that Survived in School: An explorative study of educational issues based on teachers' beliefs and curriculum development in secondary school (Doctoral dissertation, KTH).

Published abstract: With the intention to contribute to research in computer programming education the thesis depicts the mind-set of teachers and their beliefs in relation to the early enactment of the informatics curriculum in Swedish upper secondary school. Two perspectives are covered in the thesis. Based on original documents and interviews with curriculum developers, the enactment of the informatics/programming curriculum during the 1970s and 1980s is explored (Paper 1). This historical perspective is supplemented with a perspective from the present day where current teaching practice is explored through teachers’ statements (seminars with associated questionnaires) regarding their beliefs about teaching and learning programming (Paper 2).

Schatz, C. G. (2010). Educational Robotics: Transformative Or Trendy? Stanford University.

Published abstract: This study investigated the use of robotics activities to teach introductory computer programming. Two conditions, one using physical programmable robots and one us- ing a virtual programmable agent, were used to teach parallel curricular sequences in secondary technology classes. Addressing open questions and inconsistent findings in existing literature, the study examined the comparative effect of each condition on both cognitive and affective outcomes. Instrumentation included assessment items, affective scale measures, semi-structured interviews and queries of participants' back- ground (e.g., prior experience) and demographic information. In general, no main effects of condition were found on cognitive or affective measures. However, significant effects of gender and other background variables suggest robotics activities used in a general classroom setting may serve to reinforce rather than disrupt existing patterns of differential success and engagement.

Unuakhalu, M. F. (2008). Enhancing problem-solving capabilities using object-oriented programming language. Journal of Educational Technology Systems, 37(2), 121-137.

Published abstract: This study integrated object-oriented programming instruction with transfer training activities in everyday tasks, which might provide a mechanism that can be used for efficient problem solving. Specifically, a Visual BASIC embedded with everyday tasks group was compared to another group exposed to Visual BASIC instruction only. Subjects were 40 undergraduate students enrolled in 2 sections of a Visual BASIC programming class. Students in the 2 intact classes were assigned 1 of 2 instructional treatments. Problem-solving and programming competency instruments were used as a pre-and posttest measure. After an 8-week treatment, the results of the study did not show any significant difference between both groups on general problem solving ability as measured by the instrument used. Only 1 of the 4 problem-solving skills (Analysis of Attributes) measured, showed an improvement in performance favoring the programming plus everyday task group. Significant improvement in performance favoring the programming plus everyday task group versus the programming-only group was identified. An unexpected but significant difference between both groups on the programming competence test was also identified.