Saturday 23 January 2016

Northamptonshire Raspberry Jam - 16th April 2016

 PiJam event on Saturday 16th April 2016, in Newton Building, University of Northampton, NN2 6JB.

This is a free event, open to those who either want to found out more about the Raspberry Pi; want to share with others what they have done with the Pi; or just want to talk with others about them. Most of all (I hope) to have some fun.

The event has been supported by the University of Northampton providing the rooms.

Tickets (Free) are available at: https://www.eventbrite.com/e/northamptonshire-raspberry-jam-tickets-20886649531

Examples of possible 'show and tell ' items include:

-Minecraft running on a Raspberry Pi with movement controlled with gesture control of an Star Wars styled X-Wing




- Raspberry Pi controlling a 'junk robot'



More updates to follow. 

Tickets (Free) are available at: https://www.eventbrite.com/e/northamptonshire-raspberry-jam-tickets-20886649531

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

Friday 22 January 2016

mini-projects: Raspberry Pi , Python, Pimoroni ExplorerHat Pro to build a Junkbot (revised)



Junkbots (http://junkbots.blogspot.co.uk/) are based around using  materials such as drink's cans, broken propellors and motors to produce something that moves by vibration. Previous designs can be found at:



The latest tweak to the Raspberry Pi based Junkbot design is to use the combination of Python and Pimoroni's Explorer HAT PRO to control it. Explorer HAT Pro is a good choice, it can control two motors with a library provided to simplify the programming. For this the Junkbot was the one shown above: a drinks can, pen, LEGO bits, motor and broken propellor.

Before the Explorer HAT can be used the library needs to be installed via the Terminal and the instructions below

curl get.pimoroni.com/explorerhat | bash

Python code to control the junkbot is shown below.


import explorerhat
from time import sleep

def spin1(duration):
    explorerhat.motor.one.forward(100)
    sleep(duration)
    explorerhat.motor.one.stop()

def spin2(duration):
    explorerhat.motor.one.backward(100)
    sleep(duration)
    explorerhat.motor.one.stop()

spin1(1)
spin2(1)

Essentially the code spins the junkbot one way and then the other.

One extension thought understand consideration, is to use a Raspberry Pi Zero and Pimoroni Explorer pHat (https://shop.pimoroni.com/products/explorer-phat) and carry it on the junkbot.

If you do use or modify please leave a comment, I would love to see what others do with it.


 All views and opinions are the author's and do not necessarily reflected those of any organisation they are associated with

Monday 11 January 2016

Over 5000 downloads of Computing Open Educational Resources (OERs)

A selection of the open educational resources that have been released from the Department of Computing and Immersive Technologies, School of Science and Technology at the University of Northampton. 



views downloads
C Programming
717
4592
Summary of Evolutionary Algorithms
601
254
Problem-Solving
328
699



Total
1646
5545


Based on figures from Jorum.


Summary of Evolutionary Algorithms
Click here for the resource: http://find.jorum.ac.uk/resources/19204
Author:  
These slides are intended for undergraduate computing students, providing an overview of Genetic Algorithms, a concept of in artificial intelligence. As well providing an overview the material also include links to applications via web resources. The slides are taken from an undergraduate artificial intelligence module on the BSc Computing Programme at the University of Northampton. Possible uses of these including support material for second year, third year or masters level course on artificial intelligence.

Click here for the resource: http://find.jorum.ac.uk/resources/19204


C Programming


Click here for the resource: http://find.jorum.ac.uk/resources/19192
Author: 
In this material you will be introduced to some of the principles of programming, and specifically learn to write fairly simple programs using a programming language called C. An idea central to this material is that programming is about problem solving; you write a program to solve a particular problem. It is hoped that at the end of the material you should see that there is nothing magical or mysterious about programming. One of the features some people like about programming is you are making the computer do what you want. During the programming exercises, do not worry about making mistakes. In this material you will be expected to try out programs and eventually write your own. The target audience is anyone who wants to learn a programming language or is looking for some assessment questions around programming. The material was originally aimed at second year engineering students at the University of Northampton.
Click here for the resource: http://find.jorum.ac.uk/resources/19192





Problem-Solving


Author: Dr Scott Turner





These mini lectures are intended for undergraduate computing students, for providing simple steps in problem solving before the students learn a programming language. Problem-Solving and Programming is a common first year undergraduate module on the BSc Computing Programme at the University of Northampton. This material was taken from the problem solving part of the module and provides an introduction to five topics in problem-solving.

The resource can be found at: http://find.jorum.ac.uk/resources/19001






All views are the authors, and may not reflect the views of any organisation the author is connected with in any way.All views are the authors, and may not reflect the views of any organisation the author is connected with in any way.

Friday 8 January 2016

mini-project:Social Network analysis - fun, informative

The second in the occasional series of mini-computing projects by people in Northamptonshire.


Part of this was originally posted at: http://scottjturnerranting.blogspot.co.uk/2015/12/social-network-analysis-fun-and.html

figure 1. #StarWars 30/12/15
Playing with Socioviz (socioviz.net) - a free online tool for looking at influence on twitter. The image to left show connections between tweeters using the hashtag #StarWars on the 30th December 2015 up to 6pm (GMT).

Figure 2 shows the most active tweeters for this hashtag and the most influential based on Retweets and Mentions - the four greatest influencers are picked out in the video below, showing the map evolving (speed-up 20 times).

 

figure 2
To experiment with this a bit more +The Royal Institution  has a long traditional of holding a series of Christmas Lectures  which are now televised, Dr Kevin Fong presented this years. I was curious about who the biggest influencers on twitter were for the hashtag #xmaslectures over the three days of the show. The three biggest influencers came out as  , the presenter, the host organisation and one of the main guests (had to present virtually as he is on the ISS at the time of writing). The figure below shows the centre of the graph were the majority of the connections.

figure 3 #xmaslectures


To read more about this go to the tutorial by Alessandro Zonin https://alessandrozonin.wordpress.com/2015/02/20/socioviz-a-free-social-network-analysis-tool-for-twitter/.


Another example of used it for is plotting a particular tweetchat (based on hashtag) and seeing if there were groupings within the data. There was for this particular chat.
figure 4 plotting a tweetchat


Looking at certain an institution's considerable twitter links (@UniNorthants) below over a one month period (8/12/2015-8/1/2016). Different types of groups and links between groups example shown in figures 6 and 7.
figure 5 organisations twitter connections over a month






figure 6 same organisation just focussing on one group
figure 7 links between groups

All views and opinions are the author's and do not necessarily reflected those of any organisation they are associated with

Wednesday 6 January 2016

mini-project: Gestures controlling a Minecraft X-wing

This post is part of an occasional series of post about Computing projects carried out by people within Northamptonshire. 

This posts looks at combining Raspberry Pi, gesture control and Star Wars in  Minecraft.

figure 1


This post builds on an earlier project to get a simple X-Wing into Minecraft on a Raspberry Pi.  The goal was get Python to build and move the X-Wing. Details of this project can be found here.

In this post the additional of Pirmoroni's Skywriter HAT included to allow movements of a hand to enable the X-Wing to take-off, land, move forward or backward.

It builds on ideas from the book Adventures in Minecraft on using Python and Minecraft with a Raspberry Pi.


figure 2
The Skywriter is a Raspberry Pi HAT (see figure 2) that allows positional information of the hand just above the board to detected. In this project it is detecting flicks of the hand up, down, or across the board to determine the direction of motion (see video above)

Before you start, to use the Skywriter, in the terminal you need to add curl -sSL get.pimoroni.com/skywriter | bash

Now we can start building. To start with we just placed the X-Wing above the player by placing blocks in the shape (roughly) of the X-Wing based around the method MinecraftShape (see Chapter 8 of Adventures in Minecraft ).



figure 3
  • Find the position of the player;
  • To avoid building on top the player the starting position of the X-Wing is set by:
    • add 5 to the x position of the player;
    • add 10 to the y position of the player(The bit I have to keep reminding myself is the y-axis is vertical.);
    • add 5 to the z position of the player;
  • Using these values build using, Wool blocks, the X-Wing - 0 for white, and 14 for red blocks;
  • If a flick starts at the top of the board (or "north") this moves the X-Wing down towards the ground;
  • If a flick starts at the bottom of the board (or "south") this moves the X-Wing vertically up;
  • If a flick starts on the right of the board (or "east") the X-Wing moves backwards horizontally;
  • if a flick starts on the left of the board (or "west") the X-Wing moves forward.
    from mcpi.minecraft import Minecraft
    from mcpi import block
    import mcpi.minecraftstuff as minecraftstuff
    import time
    import skywriter
    import signal

    mc=Minecraft.create()
    xPos=mc.player.getTilePos()
    xPos.x=xPos.x+5
    xPos.y=xPos.y+5
    xPos.z=xPos.z+5

    xWingBlocks=[
    minecraftstuff.ShapeBlock(0,0,0,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(-1,0,0,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(-2,0,0,block.WOOL.id,14),
    minecraftstuff.ShapeBlock(-3,0,0,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(1,0,0,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(0,1,0,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(1,1,0,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(2,0,0,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(2,1,0,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(1,2,-1,block.WOOL.id,14),
    minecraftstuff.ShapeBlock(1,2,1,block.WOOL.id,14),
    minecraftstuff.ShapeBlock(1,-1,-1,block.WOOL.id,14),
    minecraftstuff.ShapeBlock(1,-1,1,block.WOOL.id,14),
    minecraftstuff.ShapeBlock(1,3,-2,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(1,3,2,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(1,-2,-2,block.WOOL.id,0),
    minecraftstuff.ShapeBlock(1,-2,2,block.WOOL.id,0)]

    xWingShape=minecraftstuff.MinecraftShape(mc,xPos,xWingBlocks)

    @skywriter.flick()
    def flick(start,finish):
      if start=="south":
        for count in range(1,10):
          time.sleep(0.1)
          xWingShape.moveBy(0,1,0)
      if start=="west":
        for count in range(1,10):
          time.sleep(0.1)
          xWingShape.moveBy(-1,0,0)
      if start=="east":
        for count in range(1,10):
          time.sleep(0.1)
          xWingShape.moveBy(1,0,0)
      if start=="north":
        for count in range(1,10):
          time.sleep(0.1)
          xWingShape.moveBy(0,-1,0)
    signal.pause()

    Main text is adapted with permission from a post originally posted on http://robotsandphysicalcomputing.blogspot.co.uk/




    All views and opinions are the author's and do not necessarily reflected those of any organisation they are associated with

    Race to the Top Coding and the University of Northampton

    In the December 2015 edition of the Monitor magazine, the newsletter of The Worshipful Company of Information Technologists (WCIT),  two items directly relevant to Northamptonshire were discussed.

    On page 4 the Race to the Top Coding competition and its launch is discussed. This is really two competitions:

    • developing a Year 4-6 Scratch-based game on energy-efficiency in the school;
    • developing Year 9 mobile app on n energy-efficiency in the school.  

    WCIT, along with Code Club, Northamptonshire County Council and The University of Northampton are partners in this project.


    On page 5 some of the work and success of the Department of Computing and Immersive Technologies, University of Northampton is discussed.

    To read more go to Monitor 



    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

    Friday 1 January 2016

    Some recent publications - Computing - University of Northampton

    A selection of publications from 2015

    1. Ajah, S.Al-Sherbaz, A.Turner, S. J. and Picton, P. (2015) Machine–to–machine communications energy efficiencies: the implications of different M2M communications specifications. International Journal of Wireless and Mobile Computing (IJWMC).8(1), pp. 15-26. 1741-1084.
    2. Ajit, S. (2015) Student perceptions of different assessment modes in computer programming courses. Other presented to:Assessment in HE Conference, Birmingham, UK, 24-25 June 2015.
    3. Ajit, S.Holmes, C.Johnson, J.Kolovos, D. S. and Paige, R. F. (2015) Model-based tool support for Tactical Data Links: an experience report from the defence domain. Software & Systems Modeling. 1619-1366. (In Press)
    4. Ajit, S.Olajubu, O.Thomson, S. and Edwards, M. (2015) Model transformation of high-level requirements in a domain specific language into a formal specification language. Paper presented to: 15th International Workshop on Automated Verification of Critical Systems (AVOCS 2015), Edinburgh, 01-04 September 2015.
    5. Al-Khalil, A. B.Turner, S. J. and Al-Sherbaz, A. (2015) A predefined channel coefficients library for vehicle-to-vehicle communications. In: Rak, J.Mas Machuca, C.Oki, E.Papadimitriou, D.Vinel, A. and Walkowiak, K. (eds.) Proceedings of 2015 7th International Workshop on Reliable Networks Design and Modeling (RNDM). Munich, Germany: IEEE. 9781467380508. pp. 335-340.
    6. Al-Khalil, A. B.Turner, S. J. and Al-Sherbaz, A. (2015) Utilising SCM – MIMO channel model based on V-BLAST channel coding in V2V communication. In: Kassab, M.Berbineau, M.Vinel, A.Jonsson, M.Garcia, F. and Soler, J. (eds.) Communication Technologies for Vehicles: 8th International Workshop, Nets4Cars/Nets4Trains/Nets4Aircraft 2015, Sousse, Tunisia, May 6-8, 2015. Proceedings. Sousse, Tunisia: Springer International Publishing. 9783319177649. pp. 3-11.
    7. Al-Sadi, A.Al-Sherbaz, A.Xue, J. and Turner, S. J. (2015) The management of the future internet. Workshop presented to: 8th Manchester Metropolitan University (MMU) Postgraduate Research Conference 2015: Innovation, Manchester Metropolitan University, 05 November 2015.
    8. Baalsrud-Hauge, J. M.Stanescu, I. A.Arnab, S.Ger, P. M.Lim, T.Serrano-Laguna, A.Lameras, P.Hendrix, M.Kiili, K.,Ninaus, M.de Freitas, S.Mazzetti, A.Dahlbom, A. and Degano, C. (2015) Learning through analytics architecture to scaffold learning experience through technology-based methods. International Journal of Serious Games. 2(1), pp. 29-44. 2384-8766.
    9. Dravid, R.Bates, J. and Sinclair, J. M. (2015) Capturing student voice: developing a peer-to-peer forum for student engagement on transnational programmes. Paper presented to: 5th Quacquarelli Symonds Middle East and North Africa Professional Leaders in Education (QS-MAPLE) Conference and Exhibition, Doha, Qatar, 05-07 May 2015.
    10. Olajubu, O.Ajit, S.Johnson, M.Turner, S. J.Thomson, S. and Edwards, M. (2015) Automated test case generation from domain specific models of high-level requirements. In: Proceedings of the 2015 Conference on Research in Adaptive and Convergent Systems. New York, NY, USA: ACM. 9781450337380. pp. 505-508.
    11. Sadkhan, S.Al-Sherbaz, A. and Mohammed, R. (2015) Chaos based cryptography for voice encryption in wireless communication. In: International Conference on Electrical, Communication, Computer, Power, and Control Engineering (ICECCPCE). Iraq: IEEE. pp. 191-197.
    12. Sidoumou, M. R.Turner, S. J.Picton, P.Bechkoum, K. and Benatchba, K. (2015) Multitasking in Emotion Modelling Attention Control. In: Proceedings of 6th International Conference on Affective Computing and Intelligent Interaction (ACII). Xi'an, china: IEEE. 978-1-4799-9953-8/15.
    13. Turner, S. J. (2015) Enhancing computing student employability skills through partnership working in STEM outreach. Paper presented to: 11th China - Europe International Symposium on Software Engineering Education (CEISEE 2015), Westsächsische Hochschule Zwickau (WHZ), Germany, 29-30 April 2015.


    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