39 research outputs found
Do Robots Dream of Virtual Sheep: Rediscovering the "Karel the Robot" Paradigm for the "Plug&Play Generation"
We introduce âC-Sheepâ, an educational system designed to teach students the fundamentals of computer programming in a novel and exciting way. Recent studies suggest that computer science education is fast approaching a crisis - application numbers for degree courses in the area of computer programming are down, and potential candidates are put off the subject which they do not fully understand.
We address this problem with our system by providing the visually rich virtual environment of âThe Meadowâ, where the user writes programs to control the behaviour of a sheep using our âCSheepâ programming language. This combination of the âKarel the Robotâ paradigm with modern 3D computer graphics techniques, more commonly found in computer games, aims to help students to realise that computer programming can be an enjoyable and rewarding experience and intends to help educators with the teaching of computer science fundamentals. Our mini-language-like system for computer science education uses a state of the art rendering engine
offering features more commonly found in entertainment systems.
The scope of the mini-language is designed to fit in with the curriculum for the first term of an introductory computer program ming course (using the C programming language)
Critters in the Classroom: A 3D Computer-Game-Like Tool for Teaching Programming to Computer Animation Students
The brewing crisis threatening computer science education is a well documented fact. To counter this and to increase enrolment and retention in computer science related degrees, it has been suggested to make programming "more fun" and to offer "multidisciplinary and cross-disciplinary programs" [Carter 2006]. The Computer Visualisation and Animation undergraduate degree at the National Centre for Computer Animation (Bournemouth University) is such a programme. Computer programming forms an integral part of the curriculum of this technical arts degree, and as educators we constantly face the challenge of having to encourage our students to engage with the subject.
We intend to address this with our C-Sheep system, a reimagination of the "Karel the Robot" teaching tool [Pattis 1981], using modern 3D computer game graphics that today's students are familiar with. This provides a game-like setting for writing computer programs, using a task-specific set of instructions which allow users to take control of virtual entities acting within a micro world, effectively providing a graphical representation of the algorithms used. Whereas two decades ago, students would be intrigued by a 2D top-down representation of the micro world, the lack of the visual gimmickry found in modern computer games for representing the virtual world now makes it extremely difficult to maintain the interest of students from today's "Plug&Play generation". It is therefore especially important to aim for a 3D game-like representation which is "attractive and highly motivating to today's generation of media-conscious students" [Moskal et al. 2004].
Our system uses a modern, platform independent games engine, capable of presenting a visually rich virtual environment using a state of the art rendering engine of a type usually found in entertainment systems. Our aim is to entice students to spend more time programming, by providing them with an enjoyable experience.
This paper provides a discussion of the 3D computer game technology employed in our system and presents examples of how this can be exploited to provide engaging exercises to create a rewarding learning experience for our students
Evaluation of Robocode as a Teaching Tool for Computer Programming
Robocode began as an educational tool to aid in learning Java programming. It has since evolved into something of a phenomenon, as the prospect of creating simple to complex virtual tanks appears to pose an attractive challenge to both novice and expert programmers alike. What started out as a teaching tool has grown into a worldwide network of competitors, all keen to prove that their âbotâ stands out from the crowd. Competitions are well organised and many Robocode events are a PR dream for the computing companies that sponsor them. Without a doubt, this easy to use application has sparked the imagination of the world of programming. This is especially evident in the number of higher education institutes that regularly hold competitions for their computing and engineering students, often inviting participants from other colleges. In Ireland alone, a major national event for third level students is held annually at the Tipperary Institute. Sponsors have included the likes of Microsoft and Lenovo and students from most Irish universities and colleges have taken part. This is merely a scenario that has been mimicked across the globe.
A cursory browse through a typical computing faculty website will likely reveal a reference to Robocode. This paper attempts to look back to the roots of Robocode, and evaluate its merits as a teaching tool whether for use inside or outside the classroom. The detailed results of a survey are presented, showing the responses of students who have used the tool in a number of capacities, more specifically, an evaluation by those who have participated in the national competition or merely used the tool as part of their programming course work. Lecturers have also been asked for an evaluation to gauge its effect on programming students. With so many willing to dedicate extracurricular time to participate, it is worth investigating what ignited this spark in the first place. What motivates a student or indeed any programmer to want to develop a robot tank that fires bullets, and, attempts to dodge the bullets of other tanks
Game design for a serious game to help learn programming
Tese de mestrado. Multimédia. Faculdade de Engenharia. Universidade do Porto. 201
Recommended from our members
The Effectiveness of Using Lego Mindstorms Robotics Activities to Influence Self-regulated Learning in a University Introductory Computer Programming Course.
The research described in this dissertation examines the possible link between self-regulated learning and LEGO Mindstorms robotics activities in teaching concepts in an introductory university computer programming course. The areas of student motivation, learning strategies, and mastery of course objectives are investigated. In all three cases analysis failed to reveal any statistically significant differences between the traditional control group and the experimental LEGO Mindstorms group as measured by the Motivated Strategies for Learning Questionnaire and course exams. Possible reasons for the lack of positive results include technical problems and limitations of the LEGO Mindstorms systems, limited number and availability of robots outside of class, limited amount of time during the semester for the robotics activities, and a possible difference in effectiveness based on gender. Responses to student follow-up questions, however, suggest that at least some of the students really enjoyed the LEGO activities. As with any teaching tool or activity, there are numerous ways in which LEGO Mindstorms can be incorporated into learning. This study explores whether or not LEGO Mindstorms are an effective tool for teaching introductory computer programming at the university level and how these systems can best be utilized
Self-beliefs in the introductory programming lab and game-based fantasy role-play
This thesis was submitted for the degree of Doctor of philosophy and awarded by Brunel University LondonIt is important for students to engage in adequate deliberate practice in order to develop programming expertise. However, students often encounter anxiety when they begin to learn. This can present a challenge to educators because such anxiety can influence practice behaviour. This thesis situates this challenge within the Control- Value Theory of Achievement Emotions, emphasising a need for domain-specific research and presenting new research tools which can be used to investigate the area. Analysis of data collected from three
cohorts of introductory programming students on web programming (2011-12) and robot programming (2012-13 and 2013-14) courses show that programming self-concept and programming aptitude mindset can predict programming anxiety and that programming anxiety is negatively correlated with programming practice. However, levels of anxiety remained consistently high across this period. A method to enrich these psychological constructs through a multimedia-rich learning environment is proposed. Drawing upon the interplay between narrative reinforcement and procedural rhetoric that can be achieved in a fantasy role-play, students' self-concept can be enhanced. A double-blind randomised controlled trial demonstrates promising
results, however small effect sizes suggest further research is needed
Teaching and learning introductory programming : a model-based approach
The dissertation identifies and discusses impact of a model-based approach to teaching and learning introductory object-oriented programming both for practitioners and for computer science education research.Learning to program is notoriously difficult. This dissertation investigates ways to teach introductory object-oriented programming at the university level. It focuses on a model-based approach, describes and argues for this approach and investigates several of its aspects. It gives an overview of the research in teaching introductory programming in an objects-first way. The dissertation also investigates ways for university teachers to share and document best practices in teaching introductory object-oriented programming through pedagogical patterns. The dissertation addresses both traditional young full-time students and experienced programmers (although not in object-orientation) participating in part-time education. It examines whether the same success factors for learning programming apply to a model-based approach as to introductory programming courses in general for full-time students and gives a general overview of research in success factors for introductory programming. Some factors are the same, because studentsâ math competence is positively correlated with their success. The dissertation examines how experienced programmers link a model-based programming course to their professional practices. The general answer is that the part-time students do not need to have a direct link to their specific work-practice, they expect to create the link themselves; but the teacher must be aware of the conditions facing the part-time students in industry. Furthermore, the dissertation addresses interaction patterns for part-time students learning model-based introductory programming in a net-based environment. A previously prepared solution to an exercise is found to mediate the interaction in three different ways. Design patterns have had a major impact on the quality of object-oriented software. Inspired by this, researchers have suggested pedagogical patterns for sharing best practices in teaching introductory object-oriented programming. It was expected that university teachersâ knowledge of pedagogical patterns was limited, but this research proved that to be wrong; about half of the teachers know pedagogical patterns. One of the problems this dissertation identifies is the lack of a structuring principle for pedagogical patterns; potential users have problems identifying the correct patterns to apply. An alternative structuring principle based on a constructivist learning theory is suggested and analysed
The use of ALICE, a visual environment for teaching and learning object-oriented programming
University students learning object-oriented programming (OOP) encounter many complexities. This study undertook empirical research aimed at analysing learnersâ interactions with the Alice visual programming environment, which seeks to engage and motivate learners to grasp concepts of OOP, whilst creating animated movies and video games.
A mixed-methods approach was employed, using questionnaire surveys and interviews to investigate learnersâ experiences with Alice and their understanding of OOP. Findings indicated that learners lacked problem-solving abilities; were unable to grasp programming concepts on an abstract level and spent insufficient time practicing programming exercises. Alice proved to be an effective tool in helping to address these challenges and in improving learnersâ grasp of OOP. Learners found Alice to have good usability.
Furthermore, test and exam results revealed a statistically significant difference between performances of learners who had been taught Alice in comparison to similar learners who were not exposed to the Alice intervention.ComputingInformation SystemsM. Sc. (Information systems