Skip to main content

Chapter on Problem-Solving

Two members of the Computing Division of the University of Northampton have contributed a chapter to the book  Software Industry-Oriented Education Practices and Curriculum Development: Experiences and Lessons  edited by Drs. Matthew Hussey, Xiaofei Xu and Bing Wu.  ISBN: 978-1609607975 IGI Global to be published later this year.

Problems First

Gary Hill and Scott Turner


ABSTRACT


This chapter considers the need to focus initial programming education on problem-solving, in advance of programming syntax and software design methodology. The main vehicle for this approach is simple Lego based robots programmed in Java, followed by the programming of a graphical representation/simulation to develop programming skills. Problem solving is not trivial (Beaumont & Fox, 2003) and is an important skill, central to computing and engineering.

An approach will be considered, illustrated with a series of problem-solving tasks that increase in complexity at each stage and give the students practice in attempting problem-solving approaches, as well as assisting them to learn from their mistakes. Some of the problems include ambiguities or are purposely ill-defined, to enable the student to resolve these as part of the process.

The benefits to students will be discussed including students’ statements that this approach, using robots, provides a method to visually and physically see the outcome of a problem. In addition, students report that the method improves their satisfaction with the course.

The importance of linking the problem-solving robot activity and the programming assignment, whilst maintaining the visual nature of the problem, will be discussed, together with the comparison of this work with similar work reported by other authors relating to teaching programming using robots (Williams, 2003). 

Comments

Popular posts from this blog

Problem-solving or computational Thinking

Confession time, this has been a research interest for me, along with a number of colleagues, since around 2005. It started with undergraduate students - investigating teaching and developing problem solving skills as a first step in developing programming skills through the use of LEGO-based robots and graphics based programming for undergraduate students. The main vehicle then for developing the problem-solving skills was the LEGO RCX 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-

Free Computing Resource: Junkbots and Scratch 1

The Junkbots project has been running for a number of years as an initiative to bring sustainability, computing and engineering together by building bots out of junk  details of the project can be found at.   https://junkbots.blogspot.com/ .  Junkbot is an extension of the Research into teaching problem-solving going on at the University of Northampton please feel to visit  https://computingnorthampton.blogspot.com/2019/01/problem-solving-research-outputs-and.html  for more details. One of the criticism of the robot programming part of the  Junkbots project  is not everyone necessarily gets a go at the programming. To address this a new feature has been added to the project, using Scratch to play with the ideas. This is the first of a set exercises to play with these ideas. The cleaning robot shown is loosely based on the LEGO Mindstorms RCX. The commands all in the My Blocks section Exercise 1: Moving the Robot Cleaner around.: Now go to  https://scratch.mit.edu/projec

Activity: Writing a translation program in Scratch

Scratch 3 the gift that keeps on giving; including the new extensions are Text to Speech and Translate; Text to speech - does as the name suggests, turns typed in phrases into speech via Amazon Web Services. Translate using Google (and I assume Google Translate?) to translate text between different languages. As an experiment, I wanted to play with clapping my hands, have Scratch the Cat ask me to enter a phrase and then convert that into French, German and Spanish with different voices. The resulting code is shown below. It is all started by a loud noise like a hand clap. The two extensions have been added to the blocks and are ready to go. The voice is initially set to Alto and the text-speech block has had the phrase "Please enter a phrase" typed in and says this. The ask block has the same question permanently set and the answer produced gets feed into the translations.  The remaining blocks do essentially the same thing - change the voice; - take the phrase ty