THE USE OF LEGO MINDSTORMS NXT ROBOTS IN THE TEACHING OF INTRODUCTORY JAVA PROGRAMMING TO UNDERGRADUATE STUDENTS

Similar documents
COMPETITION RULES. Last Revised: January 11 th, Table of Contents

Teaching Bottom-Up AI From the Top Down

Robot Programming Manual

Levels of Description: A Role for Robots in Cognitive Science Education

Designing Toys That Come Alive: Curious Robots for Creative Play

Robotic teaching for Malaysian gifted enrichment program

Mindstorms NXT. mindstorms.lego.com

Start a Robotics Elective at Your School

An Introduction to Programming using the NXT Robot:

Academic job market: how to maximize your chances

Summer on Campus - Learning Robotics with fun

Instructors. Manual GEARED. After-School Robotics Program By Haley Hanson

Robotics using Lego Mindstorms EV3 (Intermediate)

Which is the most successful way to teach Y8 painting:- Through controlled mark making exercises or teaching experimental techniques approach?

Learning serious knowledge while "playing"with robots

ACTIVE LEARNING USING MECHATRONICS IN A FRESHMAN INFORMATION TECHNOLOGY COURSE

A Learning System for a Computational Science Related Topic

I.1 Smart Machines. Unit Overview:

Robotics Workshop. for Parents and Teachers. September 27, 2014 Wichita State University College of Engineering. Karen Reynolds

Blue-Bot TEACHER GUIDE

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. LEGO Bowling Workbook

Mobile Robot Navigation Contest for Undergraduate Design and K-12 Outreach

Supplementary File 2. EnLightenment Collated and Summarized Teacher Feedback. 17 Responses from 101 Sent Surveys

Homeschool Propeller Car Build, Sept 28 2:00 2:50

CSC C85 Embedded Systems Project # 1 Robot Localization

COSC343: Artificial Intelligence

HOLY ANGEL UNIVERSITY COLLEGE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY ROBOT MODELING AND PROGRAMMING COURSE SYLLABUS

Pre-Activity Quiz. 2 feet forward in a straight line? 1. What is a design challenge? 2. How do you program a robot to move

Robot Olympics: Programming Robots to Perform Tasks in the Real World

The use of programmable robots in the education of programming

Program Your Robot to Perform a Task

Pre-Day Questionnaire

Teaching Embedded Systems to Berkeley Undergraduates

Liaison audit/questionnaire for national curriculum in design and technology between primary and secondary school

Robotics Contest Contact: Robin Schamber

Activity Template. Subject Area(s): Science and Technology Activity Title: Header. Grade Level: 9-12 Time Required: Group Size:

SAMPLE INTERVIEW QUESTIONS

UNIVERSITY OF CAMBRIDGE FACULTY OF LAW OPEN DAY 2018

Research as a Deliberate Chess Activity Software Testing Platform for Professional Dynamic Development of the Education Sector

TEACHING PLC IN AUTOMATION --A Case Study

Venture Analysis for Lego Mindstorms in the Educational Technology Market

Intro to Interactive Entertainment Spring 2017 Syllabus CS 1010 Instructor: Tim Fowers

TEST PROJECT MOBILE ROBOTICS FOR JUNIOR

BEYOND TOYS. Wireless sensor extension pack. Tom Frissen s

Artificial Intelligence Planning and Decision Making

JHU Robotics Challenge 2015

ROBOTICS. also enjoy buildi ng things with such manipulatives as Legos. Robotics was the. Real World. technology build engineering intuition.

Directed Writing 1123/01

Ages 9+ Monday, Nov 14 5:30-7:30 Saturday, Dec 3 9:00-11:00

The Robot Olympics: A competition for Tribot s and their humans

Lab book. Exploring Robotics (CORC3303)

I was told to be a park ranger in my senior spring with a stat degree. Real helpful.

RUNNYMEDE COLLEGE & TECHTALENTS

The Seeds That Seymour Sowed. Mitchel Resnick Professor of Learning Research MIT Media Lab

Evaluation of a Tricycle-style Teleoperational Interface for Children: a Comparative Experiment with a Video Game Controller

Meet Katherine. Pensions Actuarial

Efficient Use of Robots in the Undergraduate Curriculum

APSC 150 Project: Remotely Controlled Satellite Launcher Design [Feb.2015]

Scholarship Workshop for International Students planning to attend the University of Oregon

MY QUEST. Will s Story

Week Lesson Assignment SD Technology Standards. SPA Handout. Handouts. Handouts/quiz. Video/handout. Handout. Video, handout.

Meet our interns. Intern profile. Katherine Pensions London

A Lego-Based Soccer-Playing Robot Competition For Teaching Design

Procedural Level Generation for a 2D Platformer

Scheduling Algorithms Exploring via Robotics Learning

The Texas 4-H Roundup Robotics Challenge Invitational

Unit 6.5 Text Adventures

Project: Circular Strife Paper Prototype Play-test IAT Team Members: Cody Church, Lawson Lim, Matt Louie, Sammpa Raski, Daniel Jagger

Hi everyone. educational environment based on team work that nurtures creativity and innovation preparing them for a world of increasing

Robotics 2a. What Have We Got to Work With?

Your EdVenture into Robotics 10 Lesson plans

UVic Department of Electrical and Computer Engineering

Introducing High School Girls To PC Board Assembly

OPEN SOURCES-BASED COURSE «ROBOTICS» FOR INCLUSIVE SCHOOLS IN BELARUS

Completing your Duke of Edinburgh Award. An edofe Guide

The light sensor, rotation sensor, and motors may all be monitored using the view function on the RCX.

*2010 NASPA Case Study: A Dangerous Outlet

2015 Maryland State 4-H LEGO Robotic Challenge

Team Description Paper

Automata Depository Model with Autonomous Robots

Where C= circumference, π = 3.14, and D = diameter EV3 Distance. Developed by Joanna M. Skluzacek Wisconsin 4-H 2016 Page 1

A Day in the Life CTE Enrichment Grades 3-5 mblock Programs Using the Sensors

1hr ACTIVITY GUIDE FOR FAMILIES. Hour of Code

Adapting design & technology Unit 3A Packaging. Dr David Barlex, Nuffield Design & Technology

Programme Title: BSc (Hons) Business Management (Full Time and Part Time) On Campus Division. URL None

CCG 360 o stakeholder survey 2017/18

University of Northampton. Graduate Leaders in Early Years Programme Audit Monitoring Report by the Quality Assurance Agency for Higher Education

Drumtastic: Haptic Guidance for Polyrhythmic Drumming Practice

Now Education Guide to Supply Teaching

Robotic Systems Challenge 2013

Q Learning Behavior on Autonomous Navigation of Physical Robot

Kids Learning Engineering Science Using LEGO and the Programmable Brick

Problem Solving with Robots

Journey through Game Design

Both strategies are available on the CCG s website:

Learning Computer Programming with Autonomous Robots

School Based Projects

Robo Golf. Team 9 Juan Quiroz Vincent Ravera. CPE 470/670 Autonomous Mobile Robots. Friday, December 16, 2005

Western Kansas Lego Robotics Competition April 16, 2018 Fort Hays State University

Programming and Multi-Robot Communications

Transcription:

THE USE OF LEGO MINDSTORMS NXT ROBOTS IN THE TEACHING OF INTRODUCTORY JAVA PROGRAMMING TO UNDERGRADUATE STUDENTS Elizabeth A. Gandy: University of Sunderland Department of Computing, Engineering & Technology, David Goldman Informatics Centre, St Peter s Way, Sunderland. SR6 0DD liz.gandy@sunderland.ac.uk http://osiris.sunderland.ac.uk/~cs0ega/ Samuel Bradley University of Sunderland Department of Computing, Engineering & Technology David Arnold-Brookes University of Sunderland Department of Computing, Engineering & Technology Norman R. Allen University of Sunderland Department of Computing, Engineering & Technology ABSTRACT This paper describes a project carried out within the University of Sunderland s Department of Computing, Engineering and Technology during the 2008/9 academic year to investigate the potential for the use of LEGO Mindstorms NXT robots in the teaching of basic programming skills to undergraduate students. The project s initial proposal and context is discussed, with potential benefits identified and feedback methods outlined. The paper then describes of students and evaluates the student feedback and results obtained. In addition, a number of spin-off projects are the operational issues encountered when the project was implemented for two separate cohorts described which have provided additional benefits to students, the department and local schoolchildren. The paper concludes by outlining future work which is being carried out at the University of Sunderland as a result of this project. Keywords LEGO Mindstorms NXT, programming, Java, robots 1. INTRODUCTION In recent years the University of Sunderland has put in place a scheme called the Innovation Challenge which is defined as an opportunity for module leaders to identify a development in one of their modules which they wish to be considered for an award as an example of innovative and effective enhancement of the student learning experience. Staff members, who wish to participate, are required to submit an initial proposal at the start of the academic year detailing their proposed innovation and their plans for evaluation. Up to three projects from each of the Faculties in the University are then chosen to receive additional support over the course of the year in order to implement their innovation. At the end of the year final reports are submitted and one of the projects from each Faculty is chosen to receive the Innovation Challenge Award, presented at the Graduation Ceremony, including a 500 bursary towards furthering the project to enhance the student learning experience in future years. This paper describes a project submitted for the Faculty of Applied Sciences award in the 2008/9 academic year. The purpose of the project was to use LEGO Mindstorms NXT robots within a Level 1 Software Development (Java programming) module in order to help students gain a better understanding of basic programming concepts by seeing a very practical application of the code, rather than through the rather artificial scenarios used in previous years. This module is common across a range of Computing Programmes at Level 1 (including BSc Computing, BSc Network Computing, BSc Forensic Computing, Joint 2

Honours degree programmes with Computing as a Major subject) and runs for a period of ten weeks (three hours of lecture/classroom time plus three hours of practical lab sessions each week). In a typical academic year upwards of seventy students study the module with all attending the large lecture/classroom sessions together but lab-based practical sessions being split into groups of twenty-five students. This paper outlines the original project proposal, explains how the robot sessions were integrated into the module, provides evidence of its impact and evaluates some of the spin-off projects resulting from it. 2. PROJECT PROPOSAL 2.1 Project Aim The overall aim of the project was to evaluate the potential use of robots to assist in the development of basic Java Programming skills. In particular, the students would be provided with demonstrations of how the basic programming constructs they are being taught can be put into practice by programming LEGO Mindstorms NXT models. They would then be given a series of challenges within tutorials to develop their own programs which could be tried out on actual Lego Mindstorms NXT models (The Innovation Challenge support for the project enabled the purchase of seven such kits1, although only a single kit was available in the initial stages). An important aspect of the initial pilot project would be the development of case study material and practical student exercises, applying the basic programming constructs covered in the module to a physical entity (the robot model), using an approach not tried previously within programming modules in the Department. There is evidence (Barnes, 2002) that the use of such activities can enhance and support the learning process and introduce students to Object Oriented and Event-driven programming in a fun and entertaining way (Garcia & Mc-Neill, 2002). Students can also experience the use of the programming constructs in a real and physical manifestation rather than in the more traditional abstract form (which is it accepted students can find challenging, in addition to learning the programming language). 2.2 Potential Benefits In the 2007/8 academic year, the Software Development module had successfully used challenges and competitions to improve the student experience but these challenges were somewhat artificial in nature. It was hoped that the use of the LEGO models would provide more focus for the students and enable them to work over the course of the module (building on their knowledge each week) on the development of a meaningful end-product. A number of students who have previously studied the module were consulted on the proposal in the initial stages and their response was very supportive. To quote a recent BSc Network Computing graduate: Lego robots!! I might enroll again for next year's intake!!. Other potential benefits of the project were identified as: The resulting models could be used as demonstrations at Open Days and other Recruitment events, showcasing what Level 1 students can achieve. The LEGO Mindstorms NXT kits purchased could also be incorporated into Open Day workshops. The ideas could be taken forward (and the Lego Mindstorms Models utilised) in later modules to teach more advanced programming constructs such as advanced event-handling, message passing and concurrency (in particular the module leader for the Level 2 Network Programming module was interested in taking the ideas forward). The success of the project and publication of its results would potentially encourage staff to come up with other innovative ways of using this technology, within a wide variety of modules/subject areas. 2.3 Evaluation Methods Evaluation is an important requirement of the Innovation Challenge so a number of evaluation methods were identified in the initial proposal. In common with all modules in the department, feedback would be taken from students during the consolidation week in the middle of the module and at the end (with adjustments to the activities if necessary). Attendance would be monitored and compared with previous years data (attendance at tutorials in recent years has been lower than lectures due to the fact that many students do not engage with the current practical programming exercises). 1 LEGO 8527 Mindstorms NXT kits are available from Amazon.co.uk for 149.99. 3

The key evidence of success (via the feedback) would be the level of enjoyment and benefit the students feel they have gained from the exercise, since programming is currently considered a hard, dry, boring topic. It was hoped that if students gained greater enjoyment from the module then retention and assessment results would be improved. 3. PRACTICAL IMPLEMENTATION OF THE PROJECT Prior to using the NXT Robots with the students, a basic framework was written (using Java) to hide the complexities of the code necessary to drive the robot and interact with its motors and sensors. This was based around the use of the BlueJ Java programming environment (BlueJ, 2009), using an additional plug-in to provide facilities to connect and download files to the robot directly from the development environment (Bowes, 2009). The standard robot firmware was replaced with the LeJOS firmware (LeJOS, 2009), providing a set of Java classes which could be utilised in order for programs to be written which could be downloaded and run directly on the robot itself. The additional framework written specifically for the module provided a wrapper around the more complex functionality required and hid the event-handling code (which was beyond the scope of what was covered in the module) within a utility class which could be incorporated into a BlueJ project and accessed via simple method calls. This framework meant that the students could be provided with an initial template from which to develop their own programs and some simple instructions on how to incorporate specific robot commands. A series of robot programs were devised and mapped onto particular module content as listed below: RobotWalk (basic motion and conditional statements): Robot is moved by pressing the touch sensor and stopped by releasing it. Buttons on the control panel itself determine whether the robot moves forward or backward. Coward (loop statements): Robot moves forwards continuously poling the ultrasonic sensor. When it senses an object within 10cm that it may crash into it reverses and turns away. Defender (loop statements and methods): Robot rotates, continually poling the ultrasonic sensor for an object within 10cm. When an object is detected it moves quickly forwards, pushing the object out of range and then returns to its starting point (i.e. defends its territory!). Reverser (arrays and random numbers): Robot moves in a series of steps at random speed, direction and distance. The movement is stored so that, once complete, the robot can retrace its steps and return to the starting point. FileReverser (file handling): As for Reverser but with actions being stored in a file. [This challenge was abandoned prior to showing it to the students due to difficulties in implementing file handling on the robot and the requirement for code structures not covered in the module]. The module ran twice during the 2008/9 academic year for two different cohorts of students. The first cohort (L1 Term 2) consisted of 56 students from BSc Computing and BSc Network Computing; the second cohort (L1 Term 3) consisted of 16 students, primarily from BSc Forensic Computing; with Joint Honours students attending whichever cohort fit best into their timetable. The implementation of the robot into the module sessions is described separately below for each cohort, since there were some significant differences in operation: 3.1 Cohort 1 At the time of the first cohort, only one NXT robot was available therefore it was not practical for students to work on it themselves within tutorials (there is to date no Java NXT simulator to enable students to work without the robot device itself). Instead, the robot sessions were incorporated into the second lecture session of the week. This session took place in a large classroom so the students were broken into groups and provided with a series of activities that the robot could be programmed to execute. The robot was demonstrated to each group executing the finished version of the activity and then the students were asked to come up with suitable code to achieve the required actions. This was then discussed with the tutor and compared with the code actually running on the robot. This was done as a paper-based exercise, with the focus being primarily on the algorithm required for the robot to meet the challenge. In some cases the challenges were broken down into stages with interim demonstrations of the tutor s code on the robot provided at each stage. At the end of the session a discussion was held with the whole class on possible future extensions to the robot actions and, in some cases, students developed their algorithms further to meet these additional proposals. 4

At the mid-point of the module, feedback was taken for the module as a whole and students were asked to comment on the robot activities in order to determine whether any changes were necessary to the operation of the sessions and content. This interim feedback revealed that students were enjoying the sessions so far, the incorporation of the robot activities was providing a practical application of the programming theory they were covering in lectures and this was helping them to understand the relevance of the programming constructs covered. As a result of this positive feedback, no significant changes were implemented for the second half of the module. At the end of the module, in addition to overall module feedback (done via nominal group technique), students were asked to complete a questionnaire on their experience of using the robot and its effect on their learning of programming techniques. The questions asked and a summary of the feedback obtained are provided in Appendix A (this cohort identified as Main Group ). An analysis of the results is provided in Section 4. 3.2 Cohort 2 By the time the second cohort were studying the module, seven robots had been purchased so these students were able to work with the actual robots themselves. Since it had proved successful to use the robot as part of the lecture sessions, then this was done again. This was a very small group with typically only about 12 students attending so, instead of getting the students to write down on paper their suggested algorithms and then demonstrating the finished robot, the code was written as a live exercise within the session, trying it out on the robot at each stage. In most cases this worked successfully and, for the times the robot failed to perform the correct actions, this was considered a good exercise in debugging! During the consolidation week, at the mid-point of module, the students were split into three teams (of three or four students) and each team was provided with a robot and a PC containing the required software. They were given a challenge (broken down into stages) and required to work together in getting the robot to execute the required actions. The required program (Defender described above) included all of the programming structures covered in the module so far and was therefore an excellent consolidation activity. Again, students were asked to fill in the feedback questionnaire at the end of the module, with the results being provided in Appendix A (this cohort identified as T3 Group). 4. EVALUATION OF RESULTS 4.1 Analysis of Feedback The results of the feedback questionnaires are included in Appendix A. Due to the different operation of the robot activities between the two groups, the results are provided as three separate tables one each for the separate cohorts and an overall combined table. The results show that students overall enjoyed the sessions and felt that they had gained some benefit from them. Of particular interest is that across both groups, the highest scoring question (with 85%+ in the agree and strongly agree categories) is that students felt that the robot helped them to see the practical application of Java programming. This was considered a very positive outcome, since one of the most difficult aspects of teaching introductory programming is that the students do not have enough knowledge and skill yet to develop fully functioning, realistic programs, whereas the robot enables quite complicated and interesting actions to be performed using very basic code structures. It was felt that this makes it an ideal vehicle for assisting in the teaching of basic programming. There was very little of interested in the open responses which mostly reiterated points from the set questions, and did so fairly repetitively, however a few typical or potentially salient ones have been listed in Appendix A. There were some differences between the feedback received from the two cohorts and the second cohort (who had seven robots available and were therefore able to try running their own programs on them) recorded a higher percentage of positive responses (those in the agree and strongly agree categories), which is not particularly surprising. Clearly the opportunity to try out their own code on the robot and work together in groups to resolve problems encountered was seen as a positive experience by students. It is interesting, however, to note that the question regarding whether the robot helped students in understanding the module content obtained similar responses from both groups which indicates that even the demonstration of a practical application of programming (as carried out with the first cohort) was seen as a positive addition to the module. This may be of particular interest for module leaders of very large (100+ students) cohorts where it may be prohibitively expensive for enough NXT robots to be purchased for all students (even in groups) to be 5

able to work directly on the robots on a regular basis. It is clear that benefit can still be gained from demonstrating the application of code on the robots, although ideally students should be broken down into groups so that at least some experience of developing and testing their own code on the robot can be carried out. It was stated in the original proposal that another indication of the success of this project would be in monitoring the students attendance and results for the module. In light of other significant changes to the operation of the module during the 2008/9 academic year (the syllabus and module team were the same but the module was running in a ten-week block mode for the first time, rather than across the whole year and there was a change of assessment strategy from tests/assignments to a portfolio submission), it is felt that looking at the attendance and results figures would not be meaningful. However, it is worth commenting that there was a significant improvement in attendance and also in overall results but it would be impossible to identify whether this could in any way be claimed to be a result of the robot sessions, rather than the changes to operation and assessment. 4.2 Spin-off Projects A number of spin-off projects have resulted from this pilot project and it is worth mentioning these as they have enabled students from this module to become involved in some additional programming activity. These were mainly carried out via the student programming club which was another new venture during the 2008/9 academic year. This was an extra-curricular student club set up and operated by students but with the support of staff where appropriate and it gradually turned into a robot club! During the running of the first cohort of the module the module leader was asked to provide a robotics session for some visiting schoolchildren. Two students from the module volunteered to help with the session and developed the Defender project from the classes into a more complicated Sentry robot (which systematically searched an area of floor space defending its territory). Feedback from the children attending this session was positive and it was also possible to demonstrate this additional robot to the Software Development class which resulted in a productive discussion on alternative algorithms for searching an area of floor space. Students provided a very enthusiastic demonstration of the robot to potential applicants (and parents) who visited the University for an Open Day. This was very well-received and at the start of the 2009/10 academic year a number of the students who attended this Open Day and have subsequently enrolled on programmes in the department have expressed an interest in joining the Robot Club. Following on from the module a number of students (including students from other levels who have become interested, having heard about the robots) have continued working with the robots on a regular basis (often well into the evening!). They have taken their level of programming way beyond that taught in the module and have developed some interesting examples and ideas for future case studies and examples, for example a remote control robot, a robot which follows a line, a robot which writes characters (still under development) and a robot controlled by a Wiimote. As a direct result of this project two of the Level 1 students (assisted by a Level 3 student) were employed by a local secondary school to provide a short evening course in Robotics to year 8/9 pupils and their parents (supported by funding from Sunderland City Council). This course was due to run in the summer of 2009 and it was hoped it would culminate in a Robot Challenge to be held at the University, for the children and their parents. Unfortunately, due to operational issues within the school, the course was postponed but it is hoped that it will be possible to hold it at a later date. Staff from the school were very positive about the involvement of the students as it provided an ideal opportunity for their pupils and their parents to gain exposure to the University and to build a relationship with existing students. As a result of this project it was possible to offer a Robotics session as part of the University Primary Event (where pupils from local primary schools attend the University for a day to take part in a series of fun and educational activities and challenges) using the NXT robots developed by the students. Four separate primary school groups chose this session where children were challenged to drive a robot around various timed obstacles, using a remote control program developed by the students. Three students gave up time from their summer vacation to come in and assist with this event. It was very successful and, although no formal feedback has been received, the students all appeared to be enjoying themselves and a number of teachers made positive comments to the students and staff. 6

4.3 Student Perspective In addition to the overall participation and benefits gained by the class as a whole, a small number of students have continued to work on the Robots over the summer vacation and are now working with staff to develop further ideas for the Robot/Programming Club and to become involved in ongoing research on the benefits of such projects to the student learning experience. They have been directly involved in the writing of the Innovation Challenge final report and have provided the following evaluation of the project from a student perspective: As a first year student I found it hard to grasp programming concepts as I d never used a proper programming language, only dynamic web development. I got talking with the tutor and we decided to create a programming club. The Tutor then thought of an idea involving Lego NXT Robots which allowed us to grasp programming concepts using a different method. This method allowed our class to see the effects of our programming in a working sense rather than an output on a screen. The different methods coupled with the hidden away classes allowed us to easily identify what each line of code was producing. As the year went on we changed the programming club to the Robot Club as we were finding it easier to program using a robot more than extra programming sessions in the original club. Towards the ending of the year there were several new opportunities open involving school children coming to the university and the opportunity to go into a local school to run robotics sessions. The school children who came to the university found the Robot exercises quite good and this opportunity allowed me and another student to go above the year s module requirements. I received some ideas and developed a sentry program as well as setting up a wiimote with the remote control program. My colleague assisted me in building the actual robots and programming ideas whilst I developed the software part of the programs. Using our initiative made the school visits extremely successful and allowed us to learn beyond the scope of what the module offered. From a student point of view I found the Tutor s idea an extremely good one which allowed us to show the school children what higher education was like as well as building a better foundation for software development personally. As the projects were underway I had assistance from the Tutor who came up with the idea of using the Lego Robots as well as a level 3 student who was able to provide me with advanced programming concept knowledge and a student/teacher point of view. Finally, I would recommend this project to anyone else and we have continued to pursue the idea and open new projects regarding the Lego Robots for future development. 5. CONCLUSIONS AND FURTHER WORK In conclusion this project can be considered a success, with a number of outcomes that were above and beyond what was originally expected, particularly in the case of the additional spin-off projects. The final project report was submitted to the University and received the Innovation Challenge Award for the Faculty of Applied Sciences. This was considered as much due to the efforts of the students as it was the staff and the students will be involved in decisions regarding the money to be spent, probably on additional sensors to experiment with on future robots. In terms of future work, the students who were involved in this project are now at Level 2 and it is hoped that they will have the opportunity to take the work further by using the robots as practical applications of more advanced programming concepts, particularly in the area of Network Programming. During the 2009/10 academic year a number of Final Year Projects have been proposed by staff members in the area of robotics and students are working on these using the NXT robots. At Level 1, a re-structuring exercise has meant that the Software Development (Java programming) module has been replaced with a C# programming module and will not be running in its current state. However, the new structure requires Level 1 students to select a mini-project to work on at the end of the year and it is proposed that one of the project-areas on offer will be NXT robot programming. The materials already developed will be utilised to provide an introduction to Java as a second language via robotics programming, for those students who select this project-area and they will then be provided with individual mini-projects to develop robot applications. The work with local schools and the use of the robots for Open Days will be continued and the ideas of the Robot Club will be extended to form a general Student Computing Club which will incorporate events and activities in the areas of robotics, games and general programming. 7

6. REFERENCES Barnes, D.J., (2002), Teaching introductory Java through LEGO MINDSTORMS models, In Proceedings of the 33rd SIGCSE technical symposium on Computer science education, ACM. Blue, J, (2009), BlueJ The interactive Java environment, http://www.bluej.org/ (date accessed 14/01/2010). Bowes, D, (2009), Lejos NXJ extension for BlueJ, http://homepages.feis.herts.ac.uk/~comqdhb/lego/bluej.php (date accessed 14/01/2010). Garcia, M.A. & McNeill, H.P., (2002), Learning how to develop software using the toy LEGO mindstorms, In Proceedings of the 7th annual conference on Innovation and technology in computer science education, ACM. LeJOS, (2009), Java for LEGO Mindstorms, http://lejos.sourceforge.net/ (date accessed 14/01/2010). 8

APPENDIX A: STUDENT FEEDBACK Q1 Enjoyed sessions Q2 Helped me to understand module content Q3 Helped me to see practical applications of Java Q4 Would have liked to try my own code Q5 Would prefer to program robot in groups rather than individually Q6 Like to do more work with robot in future modules Q7 Interested in robot activities outside classes ALL STUDENTS (n=49) Q1 Q2 Q3 Q4 Q5 Q6 Q7 Str Agree 25% 20% 45% 31% 40% 27% 24% Agree 56% 53% 43% 29% 31% 47% 33% NPV 8% 14% 6% 23% 19% 16% 24% Disagree 8% 10% 4% 15% 4% 8% 12% Str Disag 2% 2% 2% 2% 6% 2% 6% MAIN GROUP (n=42) Q1 Q2 Q3 Q4 Q5 Q6 Q7 Str Agree 22% 19% 40% 29% 37% 29% 29% Agree 59% 52% 45% 27% 32% 43% 26% NPV 7% 14% 8% 27% 20% 17% 26% Disagree 10% 12% 5% 15% 5% 10% 12% Str Disag 2% 2% 3% 2% 7% 2% 7% T3 GROUP (n=7) Q1 Q2 Q3 Q4 Q5 Q6 Q7 Str Agree 43% 29% 71% 43% 57% 14% 0% Agree 43% 57% 29% 43% 29% 71% 71% NPV 14% 14% 0% 0% 14% 14% 14% Disagree 0% 0% 0% 14% 0% 0% 14% Str Disag 0% 0% 0% 0% 0% 0% 0% POSITIVE COMMENTS Helpful in understanding the Java language See practical Java code running / displayed the workings of the code See working code instead of just on a screen Makes learning Java more fun and practical Makes classes more entertaining NEGATIVE COMMENTS Initial coding of the robot is hard Complicated - would have liked to spend more time on it Didn't use it enough Would be better for outside class activities Sometimes robot did not work, e.g. sensors failing Size of class made it difficult to see use of robot 9