Sunday, 20 March 2016

Dark in Sonic Pi



I am not a musician but I do love playing/coding (not difference really) Sonic Pi and video (using Voila http://www.globaldelight.com/voila/index.php) so I came up with this, it was just fun to do. 

Please someone take it and improve it.

use_synth :prophet
in_thread do
  loop do
    sample  :ambi_choir, rate: 0.1, attack: 4, release: 4
    sleep 10
  end
end
in_thread do
  loop do
    sample :bass_trance_c, amp: 0.75, release: 3
    sleep 2
    sample :bass_trance_c, rate: 0.5, amp: 0.5, release: 5
    sleep 4
    sample :bass_trance_c, rate: 0.3, amp: 0.25, release: 9
    sleep 10
  end
end
sleep 4
sample :ambi_drone, amp: 0.75, release: 3
sleep 8
sample :ambi_dark_woosh, amp: 0.75, release: 3
sleep 7
sample :ambi_dark_woosh, amp: 3, release: 6
sleep 6
sample :ambi_dark_woosh, amp: 3, release: 5
sleep 5
sample :ambi_dark_woosh, amp: 5, release: 4
sleep 4
sample :ambi_dark_woosh, amp: 5, release: 3
sleep 3
sample :ambi_dark_woosh, amp: 5, release: 2
sleep 2
sample :ambi_dark_woosh, amp: 5, release: 1
sleep 1
sample :ambi_dark_woosh, amp: 5, release: 0.5
sleep 0.5
sample :ambi_dark_woosh, amp: 5, release: 0.5



Creative Commons License
Dark by Scott Turner is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.


All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

Saturday, 12 March 2016

3 'Art' Scratch Projects





Grid painting - Simple system that allows images made up on 8 x 8 grid. Click on the Green flag to start. For the code go to: https://scratch.mit.edu/projects/101415120/


Whirleygig 1 - straight random lines. Click on the Green flag to start. Foe the code go to: https://scratch.mit.edu/projects/99053538/


Whirleygig 2 - random lines. Click on the Green flag to start. For the code go to: https://scratch.mit.edu/projects/100924783/



The last two are loosely based on the idea of Generative Art. A good book, in my view, on this is available from Amazon at Generative Art


 All views are those of the author and should not be seen as the views of any organisation the author is associated with.

Tuesday, 8 March 2016

Random picture Generator using Scratch

This short post is about a simple idea that was turn into a Scratch solution. I had developed a computational thinking based paper game with my son around following an algorithm to draw lines randomly using dice to select direction and length of the line.

Here is a Scratch program to do something similar. It is random in three ways
- The time taken is random.
- The direction is selected randomly
- the length of the line is selected randomly

To run it just press the green flag.



Go to https://scratch.mit.edu/projects/99053538/ for more details.

Go to https://scratch.mit.edu/projects/100957552/ for more details.



Go to https://scratch.mit.edu/projects/100924783/ for more details.


Go to https://scratch.mit.edu/projects/101630166/ for more details.

All views are those of the author and should not be seen as the views of any organisation the author is associated with.

Thursday, 3 March 2016

Best coding games for kids: programming toys to teach children how to code - Test Centre - PC Advisor

Best coding games for kids: programming toys to teach children how to code - Test Centre - PC Advisor:


SAM Science Museum Inventor Kit Labs Toy




Sphero SPRK
This is the only one on the list I have actually played with. Fantastic device and as well the software you download from the manufacturer, there are some other bits of software you can download for it. My particular favourite is the TickleApp because it allows programming control of the sphero's but also other devices such as some of the Parrot drones. The BB-8 Sphero is great fun as well.




ThinkFun Code Master Programming



STEM - Robot Mouse Activity Set
https://www.learningresources.co.uk/product/stem-coding-set.do




Robot Turtle Game



Kamibot
https://www.kickstarter.com/projects/kamibot/kamibot-teach-your-kids-to-code



To read more of the original article go to: http://www.pcadvisor.co.uk/test-centre/gadget/best-coding-games-for-kids-3635899/

'via Blog this'

All views are those of the author and should not be seen as the views of any organisation the author is associated with. The recommendations made in the article http://www.pcadvisor.co.uk/test-centre/gadget/best-coding-games-for-kids-3635899/ are theirs and not necessarily those of the blog author.

Sunday, 28 February 2016

Teaching social AI with robots and chatbots

I  managed to do something I have want to do for a long time this week, thanks to the recent purchase of NAO robots by the University of Northampton, I have managed to include a physical example of Social Robots into my teaching. The aim of the session was to teach about social AI, revolving around the using social cues, to a certain extent, using natural language through chatbots, for us to communicate with machines.

The robots were used as an example of a social robot,  the way we want to play with or work with them, without having to going through a steep learning curve on how to use them. Students were encouraged to consider why this was and that anthropomorphisation plays a part (NAO basically has some of the characteristics of a small child). The fact that it responds to voice commands, its looks, has a childlike voice, that it always moving (even slightly when standing) and the way it moves; were spotted by the group as ways it attracts us to it - it is really hard not to talk to it like a child sometimes (but perhaps that is just me).




This session also included the use of chatbots (one example, ALICE used is shown here) and AIML, Artificial Intelligence Markup Language, (a link to more about AIML is included below). Just as a bit of background, chatbots (also called variously, chatterbots, conversational agents, etc) are programs that hold a conversation with us using through either text or speech. The chatbots were used to show how we can create intelligent-like behave by in effect providing responses to questions. Followed by, how we then take this further by using the responses people give, while using the chatbot, to 'fine-tune' the model.


To read more about NAO robots go to https://www.aldebaran.com/en
To read more on AIML go to http://www.alicebot.org/aiml.html

Example chatbots

If you would like to create your own chatbot personally I think one of the easiest ways to start is through https://playground.pandorabots.com/en/quickstart/


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

Tuesday, 2 February 2016

5 tools to get kids coding | Web design | Creative Bloq

Creative Bloq put forward 5 tools to get kids coding | Web design | Creative Bloq'via Blog this'

I have only played with two of those suggested and they are fun.

Hello Ruby



 Ozobots - programmed through light, and can react to patterns on a track to change actions.





Third one, Hackaball is on order - it is, at the time of writing,  a Kickstarter project details can be found at https://www.kickstarter.com/projects/hackaball/hackaball-a-programmable-ball-for-active-and-creat






All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

Friday, 1 January 2016

Simple X-Wing in Minecraft

figure 1
This post is co-authored by my son Thomas as a joint project to get a X-Wing into Minecraft. The goal was get Python to build and move the X-Wing.

It builds on ideas from the book Adventures in Minecraft (see link at the bottom) on using Python and Minecraft using a Raspberry Pi.


1. Static X-Wing

To start with we just placed the X-Wing above the player by placing blocks in the shape (roughly) of the X-Wing. 

  • 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.
It is admittedly quite a simple code (see below) and the finished X-Wing can be seen in figure 1.

from mcpi.minecraft import Minecraft
from mcpi import block


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

mc.setBlock(x,y,z,block.WOOL.id,0)
mc.setBlock(x-1,y,z,block.WOOL.id,0)
mc.setBlock(x-2,y,z,block.WOOL.id,14)
mc.setBlock(x-3,y,z,block.WOOL.id,0)
mc.setBlock(x+1,y,z,block.WOOL.id,0)
mc.setBlock(x,y+1,z,block.WOOL.id,0)
mc.setBlock(x+1,y+1,z,block.WOOL.id,0)

mc.setBlock(x+2,y,z,block.WOOL.id,0)
mc.setBlock(x+2,y+1,z,block.WOOL.id,0)

#wings
mc.setBlock(x+1,y+2,z-1,block.WOOL.id,14)
mc.setBlock(x+1,y+2,z+1,block.WOOL.id,14)
mc.setBlock(x+1,y-1,z-1,block.WOOL.id,14)
mc.setBlock(x+1,y-1,z+1,block.WOOL.id,14)
mc.setBlock(x+1,y+3,z-2,block.WOOL.id,0)
mc.setBlock(x+1,y+3,z+2,block.WOOL.id,0)
mc.setBlock(x+1,y-2,z-2,block.WOOL.id,0)
mc.setBlock(x+1,y-2,z+2,block.WOOL.id,0)



2. Get it to move.

We want it to move across the screen, for the moment, happy for it to just be animated.


The block approach is ok for the static version, but could lead to mistakes with getting the co-ordinates right if we were not careful. There is an other option to be found in chapter 8 of the book of using MinecraftShape were the shape is defined as relative values to a starting block, so for what we were doing they don't change but the shape can move in across the world.



  • Essentially the same as before but using shape;
  • place the shape in the world;
  • move it vertical (looks like it is taking off);
  • move it horizontal (this bit can be seen in the video).

from mcpi.minecraft import Minecraft
from mcpi import block
import mcpi.minecraftstuff as minecraftstuff
import time

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)
for count in range(1,20):
    time.sleep(0.1)
    xWingShape.moveBy(0,1,0)
for count in range(1,40):
    time.sleep(0.1)
    xWingShape.moveBy(-1,0,0)

xWingShape.clear()
    


The very shaky video below shows the X-Wing moving across the sky.




3. Where next
Two areas:






 All views are those of the author and should not be seen as the views of any organisation the author is associated with.

Answers not on the Screen

  2.  The answers not on the screen Hill, G. ,  Turner, S. J.  and  Childs, K.  (2017)  Abstract:  Reflection from two areas on the issues...