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

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...

10 most view post on the problem-solving blog - April 2020

Building an artificial neuron in Scratch Build yourself a Crumble Eggbot from junk Full details at http://bit.ly/2yZ3dZT There was three inspirations for this project ·Eggbot - http://www.instructables.com/id/Plastic-Egg-Bot/?utm_content=buffer9b065&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer  ·Femi Owolade supported by Nic Hughes ran a session at Mozilla Festival 2016 using the Crumble’s to make a wheeled robot. ·The junkbot project https://junkbots.blogspot.co.uk/  Kit ·Kinder Egg (without the Chocolate and toy) · Crumble   also available at  https://redfernelectronics.co.uk/crumble/  · 4x Crocodile clips and leads  · Battery pack  and 3xAA · Vibrating motor  ·Tape (lots of) 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 o...

One of the best blogs of 2010

The blog Confessions of a mediocre programmer  by Alan Norton is one of the most interesting blogs I read in 2010. Including a great definition of a Mediocre Programmer: " Mediocre programmer  - A programmer who has a limited toolset. He knows the syntax of only the simplest commands, but he knows where to find the syntax for more complex commands. He doesn’t know how to write the most efficient code, but he knows how to rewrite and test the code for greater efficiency if he must. He runs into more roadblocks along his passage to success, but he views each as a challenge and is confident that he will find a path around each roadblock. He may take longer to get there, but he always reaches his goal. He doesn’t know how to create a DLL, but he knows he can if necessary. Like most programmers, he doesn’t particularly like documenting his work but does so anyway because he is a professional. " Alan Norton (2010) A definition which in their heart of hearts a lot of success...