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)

No comments: