Skip to main content

Posts

Showing posts from 2010

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 successful

More computing. more interaction

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. There are now two parallel activities   as well as programming a robot; there is a separate programming exercise carried out at the same time which replicates some of the same actions of the robot but this time on screen. Figure: Robot pushing a barrel These exercises are based around the increasngily popular  Greenfoot software ( http://www.greenfoot.org/download/ ) which is free to download and use. This can be put on as many machines as are need enabling more people to have a go at programming. The exercises initially gets participants to set-up the world, place a robot within it and get the robot to move across the screen. Building on the each previous exercise, the complexity increases and includes challenges (such as in the figure) where the robot pushes a p

Problem-Solving and Creativity in Engineering

Jonathan Adams, Phil Picton and Stefan Kaczmarczyk from the School of Science and Technology, University of Northampton in collaboration with Peter Demian from Loughborough University have recently published a paper in the Journal   Enhancing the Learner Experience in Higher Education  entitled " Problem solving and creativity in Engineering: turning novices into professionals ". Abstract: Recent UK and European benchmarks for both undergraduate and professional engineers highlight the importance of problem solving skills. They additionally identify creativity as an important capacity alongside problem solving for both novices and professionals. But, how can we develop and encourage these important skills in undergraduate engineers? For many years researchers have explored how the differences between novices and experts might show educators techniques for improving the problem solving abilities of their students. Whilst it is often appreciated that knowledge and experienc

Computational thinking is for everyone

Problem solving is not trivial (Beaumont and Fox, 2003).  In fact, if we think about Bloom’s Taxonomy’s (Bloom 1956) and the Cognitive Domain, problem-solving involves the high-level skills of synthesis, evaluation, analysis and applications, so perhaps it is not surprising that student’s often struggle in this area and with subjects based around problem-solving (such as programming). A much discussed and related area of Computational Thinking ( Wing, 2006) has raised the profile of areas such as problem-solving, by highlighting the importance of “ thinking like a computer scientist ” (Wing 2006). The thought processes involved in being a computer scientist are more complicated than just being able to program, “ Computational thinking is reformulating a seemingly difficult problem into one we know how to solve, perhaps by reduction, embedding, transformation, or simulation. ” (Wing, 2006). The skills of computer scientists are applicable to a much wider range of areas or as Wing

INTRODUCTORY PROBLEM SOLVING AND PROGRAMMING: ROBOTICS VERSUS TRADITIONAL APPROACHES

A recent paper by Oddie et al (2010) from the Liverpool Hope University, UK look at the  use of robotics can facilitate the students’ understanding and application of problem solving and programming. It provides an interesting discussion on the use of robots for teaching programming and some of the issues around teaching problem-solving skills. They looked at using the Flowcode Buggies and software from Matrix Multimedia    which are relatively inexpensive buggies and their graphical nature allows the students to focus more on the problem-solving side, before worrying about the grammar and syntax of a programming language (in their case C). Oddie O, Hazelwood P , Blakeway S, Whitfield A (2010) " INTRODUCTORY PROBLEM SOLVING AND PROGRAMMING: ROBOTICS VERSUS TRADITIONAL APPROACHES " ITALICS  Volume 9 Issue 2 Other sources that might be of interest: Alice, (2010), Alice Project, http://www.alice.org. Beaumont C, and Fox C, (2003), Learning Programming: Enhancing Qua

Robots and Graphical Programming in Software Education

Two members of the computing division  presented a paper " Innovative use of Robots and Graphical Programming in Software Education " at   6th China Europe International Symposium on Software Industry Oriented Education (CEISIE2010) Northwestern Polytechnical University, Xi'an China . Abstract: Problem solving is an important skill for a computer scientist. Mindstorm based robots have been used previously, for teaching programming to computing and engineering students here we look at problem solving. These approaches focus upon the development of problem solving skills and not on learning a new programming language from the outset. Therefore, initially, any programming is kept simple with the minimum of commands, with „objects‟ unknowingly used, as these are later introduced/learnt during the programming stage of the computing module. This work suggests that using LEGO robots within the teaching of problem solving and the resulting java GUI emulation has some benefits f

Junkbots

The School of Science and Technology at the University of Northampton have been working with local schools to create robots made from junk. This is an initiative by the University to introduce environmental sustainability, engineering and computing to students and has been been funded by  Northampton Enterprise Limited  and  east midlands development agency (emda ). This project sets out to engage pupils with a set of activities over four three-hour sessions that provides an insight into STEM subjects. The workshops will be structured in the following way: (a)Session 1: Introduction to waste management, its impact, recycling and reuse. An introduction to the idea of making robots from rubbish. (b)Two sessions involving guided exercises. · Session 2: Involves some problem-solving exercises (approx. ½ hour), then in groups investigate adding ‘junk’ with a new electrical components such as batteries and motors to use vibrations to move the robots. · Session 3: To a

Problem Solving with Robots in Computing

Scott Turner and Gary Hill from the Division of Computing of the University of Northampton UK,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