Tuesday 19 January 2010

Problem-solving and robots

Scott Turner and Gary Hill from the Division of Computing from the University Northampton's School of Science and Technology (along with Jonathan Adams from the Division of Engineering on a related project) have been investigating teaching and developing problem solving skills as a first step developing programming skills through the use of LEGO-based robots and graphics based programming.


Work on problem-solving has been on-going in the School of Science and Technology (was School of Applied Sciences) for the last four years looking at the concept of teaching and developing problem-solving first, then programming. The main vehicle for developing the problem-solving skills has been LEGO Mindstorms robotics kits and series of gradually more challenging robot-based tasks.

Lawhead et al (2003) stated that robots “…provide entry level programming students with a physical model to visually demonstrate concepts” and “the most important benefit of using robots in teaching introductory courses is the focus provided on learning language independent, persistent truths about programming and programming techniques. Robots readily illustrate the idea of computation as interaction”. Synergies can be made with our work and those one on pre-object programming and simulation of robots for teaching programming as a visual approach to the teaching of the widely used programming language  Java.

The main benefits that the students stated of this approach was they  believe robots provide a method to visually and physically see the outcome of a problem. The approach taken the module has been visually-orientated. The appropriateness of this seems to be borne out by the student comments. Student satisfaction  for a module based around this approach is over 92%. One of the comments made was that the linking of the problem-solving robot task and the programming assignment was liked. This feedback is similar to that reported by other authors when teaching programming using robots (Williams et al, 2003).  There is enough scope in this approach to have different levels of complexity/functionality within an assignment task offering a basic ‘pass’ level for a particular task, but also the scope for those students that desire more of a challenge.


Reference
Lawhead PB, Bland CG, Barnes DJ, Duncan ME, Goldweber M, Hollingsworth RG,
Schep M (2003), A Road Map for Teaching Introductory Programming Using
LEGO Mindstorms Robots 
SIGCSE Bulletin, 35(2): 191-201.
Williams AB (2003) 
The Qualitative Impact of Using LEGO MINDSTORMS Robot
to Teach Computer Engineering IEEE Trans. EducVol. 46 pp 206.


Publications




  • Turner S, Hill G, Adams J (2009) "Robots in problem solving in programming" 9th 1-day Teaching of Programming Workshop, University of Bath, 6th April 2009.  
  • Turner S and Hill G(2008) "Robots within the Teaching of Problem-Solving" ITALICS vol. 7 No. 1 June 2008 pp 108-119 ISSN 1473-7507 
  • Turner S and Adams J (2008) "Robots and Problem Solving" 9th Higher Education Academy-ICS Annual Conference, Liverpool Hope University, 26th August - 28th August 2008. pp. 14 ISBN 978-0-9559676-0-3. 
  • Adams, J. and Turner, S., (2008) Problem Solving and Creativity for Undergraduate Computing and Engineering students: the use of robots as a development tool Creating Contemporary Student Learning Environments 2008, Northampton, UK. 
  • Adams, J. and Turner, S., (2008) Problem Solving and Creativity for Undergraduate Engineers: process or product? International Conference on Innovation, Good Practice and Research in Engineering Education 2008, Loughborough, UK. 
  • Adams, J., Turner, S., Kaczmarczyk, S., Picton, P. and Demian, P.,(2008). Problem Solving and Creativity for Undergraduate Engineers: findings of an action research project involving robots International Conference on Engineering Education ICEE 2008, Budapest, Hungary. 
  • Turner S and Hill G(2007) Robots in Problem-Solving and Programming 8th Annual Conference of the Subject Centre for Information and Computer Sciences, University of Southampton, 28th - 30th August 2007, pp 82-85 ISBN 0-978-0-9552005-7-1 
  • Turner S (2007) Developing problem-solving teaching material based upon Microsoft Robotics Studio. 8th Annual Conference of the Subject Centre for Information and Computer Sciences, University of Southampton, 28th - 30th August 2007 pp 151 ISBN 0-978-0-9552005-7-1 
  • Turner S (2007) Developing problem-solving teaching materials based upon Microsoft Robotics Studio. Innovative Teaching Development Fund Dissemination Day 1st March 2007 Microsoft:London 
  • Turner S and Hill G (2006) The Inclusion Of Robots Within The Teaching Of Problemsolving: Preliminary Results Proceedings of 7th Annual Conference of the ICS HE Academy Trinity College, Dublin, 29th - 31st August 2006 Proceedings pg 241-242 ISBN 0-9552005-3-9 

Sunday 10 January 2010

Developing problem-solving teaching materials based upon Microsoft Robotics Studio.

A series of on-line learning material has been developed based around using Microsoft’s Robotics Studio for teaching problem-solving. It was decided early on in the project that the Visual Programming Language integral to Robotics Studio would be used due to its visual nature.
See www.computing.northampton.ac.uk/~scott/robot2.html

It is expected that these material can be integrated in teaching in two ways. First as sections 1 and 2 are general problem-solving exercises and material, admittedly with a programming bias, so can be integrated in as exercise to enhance these skills.

A spin off from this work has been that the engineering division within this University have adopted the problem-solving exercises as part of their teaching on problem-solving. The third part is the material based using the visual programming language and provides a language for practicing these skills.

Background
Preliminary work within the team (Turner and Hill, 2006), suggests that using LEGO robots within the teaching of problem solving has some benefits to the students. The main benefit being the students believe that robots provide a method to visualise the outcome of a problem.

These types of robots have been used previously for teaching programming to computing students (e.g. Lawhead et al, 2003) and team-working for engineering students (e.g. Price et al 2003). It is the teaching of problem solving within a first year programming module; the role of using robotics is
currently under investigation.

A limiting factor to the approach is availability and numbers of the robots. It is not possible for the robot kits to be available 24 hours a day or to taken home by the students. The focus for this project is to develop the material further into on-line learning packs concerned with problem-solving in first year computing courses. Instead of the robots kits, use Microsoft’s Robotics Studio as the basis of the material. This has been selected to still keep some of the advantages of the robot-based approach but increase flexibility of where and when the student’s can use the material.


Issues and Debates
Teaching issues:
1. How does this approach differ from previous approaches?
The main one is the focus here it is on developing problem solving skills and not on learning a new language so the commands are kept simpler, and then need to learn about objects (or know they are using objects) at this stage is reduced. It is not problem-based learning but really is problem-solving
learning.

2. How does this work fit with what else is going on?
I believe this fits with the work on pre-object programming that is going (Culwin et, 2006), simulation of robots (Becker et al, 2006) and the very visual approach of the work being carried out on learning objects for teaching java .

3. What changes are needed to this approach?
More development is need on making the Visual Programming Language easier to work and as it is a new language there are very resources available to support this. There has been some developments in this area though, mid-2008 at least two books on Microsoft Robotics Studio have been published.

4. Are simulators the way forward?
I think a combination of simulator and real robotics is the way forward for developing problem-solving skills. To do this the current simulator though an excellent tool, but is a little too complicated for 1st year student’s to use this early on in a course.
An interesting development in this area would be an on-line simulator (C# or Java-based), where students type in the routine and the robot actions are simulator for a restricted set of problems. With some further development on the visual programming side, the excellent simulator in the Robotics Studio will be a very useful part of teaching problem-solving.

5. What is the effect of language choice?
For teaching that developing problem-solving skills and leads to proficiency in Java programming skills this approaches has some limitations. If C# was being taught I believe that C# - simulator approach would be particularly appropriate.

Learning issues:
1. Does this approach improve the problem solving skills of students?
There is some evidence of an improvement in grades compare to the previous results. At the moment there is evidence of a slight improvement in the grades for programming compared with previous results, though there might be a bias due to the strength of the cohort.
3. What are the advantages of this approach?
Some have already been reported by others authors when discussing the use of these roots in programming (Lawhead et al, 2003; Price et al, 2003), but they equally applied to their use in problem solving. In Lawhead et al 2003 state that robots “…provide entry level programming students with a physical model to visually demonstrate concepts” and “the most important benefit of using ROBOTS in teaching introductory courses is the focus provided on learning language independent, persistent truths about programming and
programming techniques. ROBOTS readily illustrate the idea of computation as interaction” These advantages also apply to problem solving.

4. What are students’ reactions to using these robots?
Generally positive, but it was noticeable that the most positive comment came from students with more experience in programming.

5. Can these be used on their own to teach problem solving?
I believe they shouldn’t be only approach used but in combination with others.This has always been the approach adapted with this.

6. Is it suited to any other discipline?
I believe it is. The most likely discipline is engineering which has problem solving at the core of the discipline. It has potential for use in others as problem-solving is a key graduate skill. I believe the physical and visual
nature of having an idea and seeing it happen in the ‘real-world’ has potential for building self-confidence in the student’s to tackle problems.

7. How does this relate to problem-based learning?
Currently the approach is best described as problem solving learning. A possible further direction that is being considered for the problem-solving part is a problem based learning approach which seems a sensible direction to take this work. This will be done by making the problem a little more open, and the tutor’s role become much more about assisting them in groups with their problem. This would also help address the possible concern over the ownership of the problem, moving the problem from one that the tutor sets to
their own problem.

8. Where next?
There two other areas that this material can be developed further in. The first is creativity. I do not think that many people would argue against the idea that computing has a strong creative element. The use of the embedded simulator can help with developing this, by adding the ability to create objects, different robots, etc. Confidence building is another area that whatever is done in the simulator will not affect anything outside of it, can I believe, increases thestudent’s confidence to try out different ideas.

Resources

  • Resource directly related to this work.
  • Related resource to this work using some of the same material but based around Java.
  • The MRS software itself can be found at http://msdn2.microsoft.com/enus/robotics/aa731520.aspx
  • Learning to use the Visual Programming Language (VPL) currently the best resources can be found on Microsoft’s own site (http://msdn2.microsoft.com/en-us/robotics/aa731536.aspxhttp://msdn2.microsoft.com/en-us/robotics/aa731536.aspx ) and in particular the tutorial which have been modified and included as part of the material and the on-line video tutorials (http://msdn2.microsoft.com/enus/robotics/bb383569.aspx ).
  • Fincher S and the Computing Education Research Group (2006) Studying Programming ISBN 1-4039-4887-6 Palgrave is a very good introduction to programming and problem-solving. In particular chapter 10 “Grappling with Design” is especially useful for problem-solving.
  • Lawhead et al (2003) contains useful examples for programming using these Lego robots and includes arguments for the inclusion of robotics in the teaching of programming.
  • k) Bibliography
  • Lawhead PB, Bland CG, Barnes DJ, Duncan ME, Goldweber M, Hollingsworth RG, Schep M, A Road Map for Teaching Introductory Programming Using LEGO Mindstorms Robots SIGCSE Bulletin, 35(2): 191-201 (2003)
  • Price BA, Richards M, Petre M, Hirst A and Johnson J, Developing robotics e-teaching for teamwork, Int. J. Cont. Engineering Education and Lifelong Learning, Vol. 13 Nos1/2.(2003)
  • Turner S and Hill G The Inclusion Of Robots Within The Teaching Of Problem Solving: Preliminary Results Proceedings of 7th Annual Conference of the ICS HE Academy Trinity College, Dublin, 29th - 31st August 2006 Proceedings pg 241-242 (2006)
  • Beaumont C and Fox C LEARNING PROGRAMMING: ENHANCING QUALITY THROUGH PROBLEM-BASED LEARNING Proceedings of 4th Annual Conference of the ICS HE Academy Galway 26-28 August 2003 Proceedings pg 241-242 (2003)
  • University of Minnesota Five steps in problem- solving[online] http://cda.mrs.umn.edu/~fauxr/computing/problemsolve.html  (N/A)
  • Bell D, Parr M, Java for Students, 5th Edition, Prentice Hall (2006)
  • Gates, B A Robot in Every Home, Scientific American January pp. 58-65 (2007)

Wednesday 6 January 2010

Audio Feedback

Recently I have been 'playing' with giving feedback to students and other members of staff as audio files. Trying both making recordings using either handheld recorders or Audacity (http://audacity.sourceforge.net/). I was trying it as part of the Sounds Good project (http://www.jisc.ac.uk/whatwedo/programmes/usersandinnovation/soundsgood.aspx)

The first attempt looked at giving a summary assessment feedback as an audio file, alongside individual written feedback to a group of first year students. It end up being about four minutes and was definitely more detailed than it would have been if I had written it. It had an unexpected outcome. It was recorded using a handheld recorder and my first time doing it, the volume varied as my hand moved. Some of the student's thought this was amusing, but they must have listened to it to know!

Second area was giving feedback on staff portfolio for a lecturer training course. It is good for this as the level of detail expected was quite high and one member of staff's portfolio was electronic so seemed appropriate. It was quicker and for me I feel I gave more detailed feedback.

Currently I am using it to give feedback on group work again to first year student and storing it in the groups own area on my institution's VLE.

Audio feedback is not new but it was fairly new to me and I would recommend it as something to try. A good place to start is perhaps the recent A Word In Your Ear 2009 Conference (http://research.shu.ac.uk/lti/awordinyourear2009/).


Turner S (2009)"Initial experience of using audio feedback for general assignment feedback" A Word In Your Ear 2009 Sheffield Hallam University, 18 December 2009 pg 12