Showing posts with label BSc computing. Show all posts
Showing posts with label BSc computing. Show all posts

Monday, 6 July 2015

new JunkBot interface for Primary Education (updated with videos)

Copyright Scott turner
Cross posted with http://junkbots.blogspot.co.uk/2015/07/see-junkbot-interface-for-primary.html


The aim of the project is to give students in Primary Education an introduction to programming principles and basic programming language structure via physical feedback, in the shape of robotics. To do this, research and development into available methods currently available toke place, possibilities to do with JunkBot programming such as JunkBots using Scratch and other potential languages were explored and developed upon.


History of JunkBots


The JunkBot concept originally comes from the University of Northampton JunkBots Project[1]. The aim of the concept is to introduce the concept of Environmental Sustainability through the use of recycling “junk” to create the JunkBots and introduce computing and engineering to students. JunkBots were selected for this project due to several factors. Firstly, they are cost effective ways of delivering fun, creative ways of teaching computing and engineering principles to young students. JunkBots also have scope to be flexible, in terms of creativity and scope for more developments upon the existing concept. JunkBots vary in terms of design however all have the same factor in common; they are powered by a motor of some sort. The design does have an impact on the functionality of the bot, for example a robot with pens can draw whereas a robot that has an eraser attached to it can potentially rub out. The flexibility and creativity ties in with the project aims. 




Summary 


Copyright James Mitchell
The project overall flowed as one major project with sub-stages, these came in the form of Scratch, Python and the Blockly stage. Before these stages could be advanced onto, initial research and experimentation was carried out. The case study of existing projects, such as the JunkBot concept were investigated into. As the project was to be based around JunkBots and education, surveys were carried out in order to provide a base set of requirements and an understanding of what needed specifically to be developed. Once this was achieved, concepts and already existing developments with JunkBots were researched into. This involved Scratch, Raspberry Pi and JunkBots which led to the Scratch stage of the project. The author did not develop this stage, which meant that it was simply a base to work from. The findings from this section led on to the Python implementation due to its high level programming nature in a simple formed syntax, unlike other similar languages such as Java, C++. It was found during research and both experimentation of the Python language, that the language principles of Python and simple syntax structure are essential elements in an Educational environment, which showed that to be successful the project from that point needed to implement a similar Scratch-like concept, in the form of a graphical programming interface to be successful.


The Python implementation was primarily a stepping stone to achieving the
graphical programming interface element, as it would be used in conjunction with the final stage, Blockly to achieve the required specification and combine the findings from the Python Implementation with Scratch via Blockly. The findings from the Python implementation showed that on its own, being a completely code-based implementation and had no graphical programming meant that a combination between Blockly and Python was needed. The Python implementation itself was successful and led on to the final development stage of the project, Blockly.

Copyright James Mitchell

The Blockly stage involved utilizing the Blockly platform to implement the Python solution with both a graphical programming style and allow for the use of code unlike Scratch. This proved success, providing both a graphical programming interface which generated code based on the Block structure. This implementation adhered to the original requirements found via surveys and research initially, which were to provide Primary Education with a physical entity that could be programmed via a graphical interface in order to teach programming principles. The application also had to allow creativity for experimentation and logical/computational thinking. A key focus on both graphical and having a physical feedback element are the key points for a successful implementation. The findings of the Blockly stage were a success, as the implementation provided a fit for purpose product and also was found to adhere to relevant points of the Computing National Curriculum for both Key Stage 1 and 2 as set out in Section 1.2, National Curriculum Changes.

The Blockly application itself is considered by the author as a development rather than a finished product, which means the application can improve certain aspects. The main improvement that can now be fulfilled as the initial implementation is complete, is the creation of a standalone application to implement Blockly inside of. This is mainly due to accessing direct control of the JunkBot via the application rather than having to use the Raspberry Pi terminal to access Blockly generated code. This can be considered a weakness of the project at its current stage, similar to how the Python implementation was a stepping stone that led to the Blockly application. However, this can also be considered a strong point in regards to the transitional benefit in Education from Scratch based learning to Python. In its current state, the application allows the generation of code via Blocks which can power the JunkBot after placing the code into the appropriate place. This can potentially be taken further in an Educational setting by having activities starting with Scratch and leading up to the Python using Blockly to power the JunkBot and then potentially leading onto actual Python language programming rather than using Blockly. The benefit to this method would be the pupil gets to see the process gradually and gives a reason to write a program to power the JunkBot rather than just learning Python syntaxes. This can be combined with Syntax learning. This also makes the application beneficial between Key Stage 2 and 3 of Education, as the Python language is generally considered to be used more so in Key Stage 3 than Primary Education. This means the application potentially bridges Primary and Secondary Education programming teachings and could even be used at a higher level of Secondary Education.

In addition to a standalone application, further advancements into the development of Blocks to achieve a broader range of uses. This could range from motor control variations to other JunkBot control.

External sources towards the end of the project have had a major interest in the project, for example at a recent BCS Teaching Scholarship interview in Manchester, a recommendation by representatives of BCS stated that "I urge you to continue the work you are carrying out with your dissertation project, as it is a key area of Computing and a very interesting project". Other sources have taken an interest in the project and have requested a copy of the finished project report and have asked for the developed product to be even demonstrated at a Teaching event. This also shows the potential advancements of the project and the need for it to be continued to be developed. The author in conjunction with Dr. Scott Turner also intends to publish both the Blockly application and Python implementation as a ComputingAtSchools (CAS) resource, which is designed as a resource bank for teachers.


In conclusion to the project, the final conclusion is that the overall project was a success. A Blockly-JunkBot application was developed towards and has met all of the requirements originally set out and has proved the concept will be a positive impact on education via testing and review of the application. 












Sources of further information
[1] Turner, Scott. (2013). JunkBots Blog, Available: http://junkbots.blogspot.co.uk/
                                                              
[2] Turner, Scott. (2013). JunkBots Project, Available: http://community.computingatschool.org.uk/resources/1190

[3] Turner, Scott, Teyley, Hayden. (2014). JunkBots Project, Available: http://junkbots.blogspot.co.uk/2014/07/junkbot-project-evolves1-idea.html


[4] Mitchell, James. (2014). Teaching Programming in Education, a study of Physical Computing, Available: https://docs.google.com/forms/d/1PNFH08OOQMeydcvzvco5abG8Zxfy-FwTbxD0eVsw8SY/viewform





If you'd like to find out more about Computing at the University of Northampton go to: www.computing.northampton.ac.uk. All views and opinions are the author's and do not necessarily reflected those of any organisation they are associated with

If you would like to know more about the Junkbots project contact scott.turner@northampton.ac.uk

Friday, 16 August 2013

BSc Computing: Sample student robot videos

Some example videos of student work with robots

 First year problem-solving exercise


Third year AI assignment
  

Tuesday, 7 May 2013

Educational Software

2013





Wednesday, 1 May 2013

learning foreign languages via the use of games


Recent work by a BSc Computing student, University of Northampton - Andy Matt-Mbuku


Towards the development of an Educational Software tool designed for teaching children words in foreign
languages via the use of games.
Andy Matt-Mbuku

Abstract

Firstly games in general are today an important part of many children’s leisure lifestyle and a growing part of many cultures throughout the world.  More than three quarters of children play games regularly; Parent can watch in amazement as children spend hours to amusing themselves by controlling characters on the screen.
In the past games have been discharged as a distraction to from more important activities such as studying or doing homework.

Nowadays however, there are questions being asked by teachers and other researchers about how this influential concept may be used to support children’s leaning in schools Instead of turning their backs against it, with the new foreign language curriculum for primary school pupils across the England being introduced very soon, there is now an increasing interest in asking whether games might be a powerful new resource to support learning in primary schools.

This dissertation project intends to explore the current thoughts about the role of games in educations which supports children’s learning inside and outside schools, and also highlighting the critical areas of research such as the rising interest in pleasurable learning and the ‘learning by doing’ that many games seems to offer;
This project also acknowledges the challenges and obstacles to using games within the current education system and will aim to provide general recommendations for future games-based learning approaches in schools for teachers, game developers and education policy board.

“You have to learn the rules of the game. And then you have to play better than anyone else”. (Albert Einstein, 1955).  




Monday, 29 April 2013

investigation into emerging Web development technologies


Recent work by a BSc Computing student, University of Northampton - Simon Patis.

An investigation into emerging Web development technologies
Simon Patis

Abstract
With an increasing number of internet enabled devices becoming available on the market the websites we create are being viewed in a different way, this is not necessarily the desired result as the dimensions and overall layout of the created site can be juxtaposed when viewed on an alternative resolution.
Although there are media queries that have been built into current CSS styling to display different views based upon the screen used it still operates within a constraint of fixed widths. Using techniques like responsive web design will address one of the ways that indicates how the public can benefit from the jump to HTML5 from HTML4 generated sites. Within this document an investigation has been developed to explore the differences between current web standards and the emerging potential of a HTML5 web standard.
During the investigation a relative association will be made to emerging hardware that delivers more opportunities for users of any skill set to get involved with software development. The tool used in this example will be the credit card sized Raspberry Pi, which in this instance has been constructed to act as a personal web server.
Using a comparative analysis of various software examples built in current web standards from the knowledge gained over the previous 3 years and emerging HTML5 techniques the results will illuminate possible reasons why HTML5 will inevitably be considered as the next evolution of web standard.