Wednesday, 30 December 2015

Using Versal To Flip The Learning

I looked at quite a few platforms to host my new course. Tackk is very simple and quick to use, but I soon hit the limits when I put my Scratch course together. Udemy and other online offerings are very much video focused and although I wanted to include video I didn't want it to be the main teaching medium.

So I opted for Versal. Firstly let me stress Versal isn't really designed with coding courses in mind. It's a general purpose online teaching tool, but it has the flexibility built in to enable me to create the materials that I wanted.  However there are some features that make Versal a great choice for this kind of course.

Firstly, you have all the standard tools that you expect to see in an editor such as the ability to insert videos, a good range of interactive quizzes and integration with Google Drive.

The most useful built into Versal is the Markdown editor, which conveniently has a Code option. This is wonderful for including little snippets of code.  However it doesn't handle indentation too well, which is important for Python.

However to include longer pieces of code I turned to Pastebin.com  this enabled me to include code quickly and also in a format that students could easily copy and paste materials without annoyances such as numbers and indentation problems.  There are some limitations, in an embedded window you can only get about 30 lines of code. If you want to share a longer code sample, you are better off including a link.

Finally I included the code on GitHub. Useful enough to have a quick to download zip file, but I feel it's good for students to start using the industry standard tools as soon as possible: https://github.com/jamesabela/PyGameCourse


Sunday, 20 December 2015

Christmas Gift for everyone: Python & Pygame Course

For the past week I've been making my way around Versal and after quite a lot of work. I've managed to publish my first course. Please take a look it's at: https://versal.com/c/clzqsx/python-pygame 

It has been an experience to see just how expert many tutorials are. Most appear to be aimed at the truly dedicated! I can't imagine many children wanting to put in more than 100 lines before they even get their first game!

One aspect of the coding process that has been very helpful is Pycharm, it's debugging is far superior to the default client and I'd highly recommend getting it installed. The EDU edition seems to have a great feature set and taken away some of the more complex features.

Feel free to have a go and please let me know what you think! The code has all been tested in Python 3 & Pygame.


Wednesday, 11 November 2015

Quiz Tools - The Ultimate Showdown


This week was a revision week before my year 10's next big assessment. So I decided to run a little competition. The students could choose any quiz app they pleased and then the following lesson we'd play the quizzes.

Round 1
Quizlet was knocked out the competition straight away, because none of the year 10s wanted to develop quizzes for that platform and neither did any students choose Socrative. So they didn't make it to the final!

Round 2
The two finalists were Quizizz and Kahoot Students enjoyed creating questions for both platforms and the process was pretty similar.

The Grand Finale
I used a Single Google Sheet to coordinate the quizzes. Each student gave me an url to direct the quiz. I then used a random name picker to choose the quizzes.







Let Battle Commence! 

Both platforms feel like a quiz show with countdowns and music.

Class Game Vs individual

The first key difference is that in Quizizz students play through all the questions when they choose to start the game. This enables students to do the exercise when they have finished another task or it can even be set for homework.  Whilst on Quizizz they were highly focussed on their screens but they were not so directly competing with each other.

In Kahoot the whole class plays together, which adds to the sense of community but means everybody has to play the same quiz at exactly the same time!

Question displayed on Main Screen Vs at Your device

Quizizz also displays the questions on the students device, so not everybody has to see the projector, which is a real advantage in rooms with poor visibility.

Logins
We had no difficulties at any point logging into Kahoot and this weekend I had over 80 players at once playing it. With Quizizz we did have one or two small login problems, but all were fixed with the judicious use of the refresh button.

Who won?




The students narrowly gave the win to Kahoot! They acknowledged the fact that Quizizz enables quizzes to be given out as homework and they enjoyed using both.  So it was a noble contender that we hope goes from strength to strength!












Tuesday, 3 November 2015

Cameron must be following my lesson plans!

I'm In year 7IT we are teaching our students the ethics of using Photoshop.  Firstly by showing them the tools and then asking the bigger question as to what is an ethical use of Photoshop? 

A good example of somebody who is manipulated on a regular basis is David Cameron. Some parts of the media support him and naturally enough choose complimentary photos. Others are not so happy with his performance and are quick to show him red-faced. The lesson was a great success and the students soon turned to making themselves into heroes and villains. Being Halloween, it was doubly fun! 


Now my next lesson is to mix a foreground and background image.  So imagine my surprise this morning when I see this.


Is Mr Cameron reading my lesson plans?
So the only question left is, has Mr Cameron's team crossed an ethical line with this?  Please comment we'd love to hear from you! 

Friday, 23 October 2015

Setting up a great Python Coding Environment

Due to haze days we've had a bit of time to sort out a very nagging issue for me. Ensuring my students have a great coding experience!  Easy enough if you are using a Raspberry Pi, which is setup very nicely to code out of the box with a new OS and tools an SD Card away, but for real computers this can be a pain in the neck!

My first requirement was a version of Python that works well with Pygame and something we can replicate across a number of PCs.  We use Macs, so after much playing around we figured that Bootcamp was our best option to deliver Python 3.4.3 with Pygame. (At the moment I can't find a 3.5.0 version)   We tried numerous times to get it working natively on Mac and failed miserably. Best I could do was get version 2.7.1, but then we discovered it relies on quite a lot of emulation anyway, so seemed like a waste of time.  (Please put comments in, if you have had more success than me.)

Linux is actually easy enough to install, but Windows is already installed and the students are largely familiar with it.

The Method

PLEASE ONLY DO THIS IF YOU ARE A CONFIDENT COMPUTER ADMINISTRATOR.
DO NOT TRY WITHOUT PARENTAL / EMPLOYER PERMISSION.

So after looking around most of the net, we found an excellent site: http://programarcadegames.com/  So here are the instructions:

  1. Remove all previous versions of Python on your PC. (We had quite a few)
  2. Run the Python installer downloaded from:
    ProgramArcadeGames.com/python-3.4.3.msi
  3. Run the Pygame installer downloaded from:
    ProgramArcadeGames.com/pygame-1.9.2a0.win32-py3.4.msi

Next we found an excellent editor called Pycharm Edu, which has a number of extra teaching features which I hope to start using in the near future: https://www.jetbrains.com/pycharm-edu/  Just download and follow the instructions.

One point to note, when you make a new project you have to choose interpreter 3.4.3. Pycharm automatically adds 3.5.0.






Tuesday, 14 July 2015

Minecraft Mega Structures

My Little Minecraft Pi project!

This is my Raspberry Pi project.  It's great to use Minecraft to create buildings, but the power of doing it programmatically is that you can create whole streets and towns.  This basic Python code will produce a street of skyscrapers.  

There's a lot of potential here and I am sure it would make the basis for some great lessons. What's great fun is as soon as you show people the idea people run with it & think of all sorts of refinements.

Here's the Python code, I hope it all makes sense. 

# Setup Minecraft library
from mcpi import minecraft
mc = minecraft.Minecraft.create()
#Get player position
x, y, z = mc.player.getPos()
#Terraforming - Create air
mc.setBlocks(x-30, y, z-30, x+500, y+39, z+40, 0)
#Make a grassy area
mc.setBlocks(x-30, y-1, z-30, x+500, y-2, z+40, 2)
#Loop to create 6 buildings
for builder in range (0,5):
    # Create stone block
    mc.setBlocks(x+1, y-1, z+1, x+11, y+40, z+11, 1)
    # Make it hollow
    mc.setBlocks(x+2, y, z+2, x+10, y+39, z+10, 0)
    #Create a series of windows
    for glwin in range (0,4):
        mc.setBlocks(x+2, y+(glwin*10), z+1, x+2, y+(glwin*10+3), z+1, 20)
        mc.setBlocks(x+6, y+(glwin*10), z+1, x+6, y+(glwin*10+3), z+1, 20)
        mc.setBlocks(x+8, y+(glwin*10), z+1, x+8, y+(glwin*10+3), z+1, 20)
        mc.setBlocks(x+2, y+(glwin*10), z+11, x+3, y+(glwin*10+3), z+11, 20)
        mc.setBlocks(x+6, y+(glwin*10), z+11, x+7, y+(glwin*10+3), z+11, 20)
        mc.setBlocks(x+8, y+(glwin*10), z+11, x+9, y+(glwin*10+3), z+11, 20)
    #Create door to see inside
    mc.setBlock(x+2, y, z+1, 71)
    mc.setBlock(x+2, y+1, z+1, 71)
    x+=25

Tuesday, 30 June 2015

Getting Ready for The New Academic year!

Sometimes towards the end of the summer term you will find a little time to start prepping for the new academic year!  Well there's two technologies that I think are well worth looking over. Both are free, completely different from one another, but could do the same job!

You've got an iPad

iTunesU is incredibly well integrated into the iPad and in a 1:1 environment it is almost a complete replacement for text books if you have the notes and materials. One of the major improvements I have noticed is that you can now use almost any modern browser to add materials from PC or Mac and you can also use an iPad to add materials.  Google Classroom also has an iPad app, so you can choose to use either on an iPad.  See More here>>


Google Classroom

This has been in very rapid development over the past year and has quickly flourished into a product, that is really going to save you time next academic year. If your school already has a well setup Google Apps domain, then you will quickly be able to use to mark up work across a range of devices. It's much more cross-platform and is really a great way to collect in work from Google Docs. See More Here>>







Friday, 19 June 2015

Learning Coding and ICT skills over the summer holiday


Scratch

Gives students a lot of freedom to make games, presentations and animations.  Here is the main site and some tutorials

Main Website: http://scratch.mit.edu/
Video Lessons: http://learnscratch.org/
Make a platformer videos: https://www.youtube.com/playlist?list=PLVrrd27oCnp4QoVAehcs9nYEIdnyKCrBN

Kodu

Designed to teach some computational thinking through making 3D games. Requires a Windows PC download.

Code.org

Great web-based set of fun tutorials to teach computational Thinking. Does not require any installation on a PC and works over most Internet connections.

Website: http://studio.code.org/

Codecademy

A more serious option, but one that teaches great skills such as coding Web-pages, Javascript and languages used by most computer scientists

Website: http://www.codecademy.com/

General ICT

Lots of courses for ICT on a wide range of applications. I'd recommend using PowerPoint and Excel (or equivalents) as the main applications to have a look at. on Alison.com
https://alison.com/

Thursday, 11 June 2015

Minecraft's Role in The Classroom

We had a great Inset on Tuesday where we used Minecraft in an ECA. In fact, what was particularly useful was that rather than have CPD where everybody gathers in a room and talks ABOUT students. We ran our CPD inside the classroom with the students right there to talk to and see what they felt about the experiences they were having.  The students in the class were building 7 wonders of the world in Minecraft. (This is my reflection on that discussion, rather than notes from the discussion.)

The question is, how can it be taken from an ECA and used within the curriculum?  

Successes So Far

We have seen a few successful implementations of Minecraft within the curriculum. Tanglin has created a great citizenship unit, which teaches types of governance.  They use a world MinecraftEDU and change the kinds of government.
There are also some great units available for teaching history



James York has used it extensively to provide prompts for writing and as an engagement tool.  See his TED talk



Coding

The ability make mods and program parts of Minecraft is a real boon to hook students into coding. As well as MinecraftEDU.  There's a great version for the Raspberry Pi.  Kano have done a great job of enabling the visual programming of Minecraft. For the more advanced, you can download Minecraft and use Python to play with the program on almost any version of Raspbian.


Another option is LearnToMod  (Currently $30 per year)

Installation

Installing MinecraftEDU is not the most straightforward of installs on a network and on the PC, we had to spend quite a bit of time getting it right, so that it could be accessed across all accounts.  It's fiddly and can cause problems. 

On our network, one Desktop PC can support up to about 12 clients on a world that is on a hard-wired internet connection and wirelessly a laptop can support 6 others. It is highly variable and you would need to test it on your school network to know what can be supported.

On the other hand, the Raspberry Pi edition was very simple to do, but does require somebody with either a basic knowledge of Linux or the pre-built Kano kit. 

Probably the simplest way to get access to Minecraft is on a tablet. Most seven year olds can hook it up and be playing using a peer based server in seconds. 

The Challenges Ahead

The difficulty with these implementations is the time taken to create a world and the educational benefits from that world. Few teachers have the time or the know-how to develop a complete world fro their students.  So far, what I have seen available on MinecraftEDU are a few worlds with relatively specific educational teaching points.   It is in fact, replacing a video as a prompt or creating a place for students to explore.

Perhaps one solution is to use student clubs to make the worlds and then use classroom time to either explore the world or watch a video of the world?

Friday, 5 June 2015

Why not do CPD with the children?

How do we know what children will think of our pedagogical innovations, new tech and ideas if they are not there to tell us?   So in that spirit, we're doing our CPD with the children in what can only be called a circus!  

We've collected together all the tech we can, so that the children and teachers can play together in a circus style event!



We've got Sphero


We've got MineCraft EDU with a live server running



We have the new version of Kano. Although it's on the original Raspberry Pi.


We have Lego WeDo


We have Kodu


We have a mystery spot the Semi-conductor parts game! 


We have celebrity teachers from all over Bangkok!


And we have something so hot, you can't even get it on the streets of Bangkok! 


Saturday, 7 March 2015

Great Talks on Computing

I recently got asked about great speakers on the subject of coding and a few came to mind, so in this Blog Post I am going to share a few of my favourite TED talks on my favourite subject!


Mitch Resnick talks about why coding is for all



What Most Schools don't teach, probably the best promo for Computer Science I've seen:




Eben Upton talks about his personal mission to bring the Raspberry Pi to life


Whilst on the subject of the Raspberry Pi, I was very impressed by the girls from Charlotte Latin School




David Braben does a wonderful talk on Mathematics being beautiful illustrating the techniques used to create Elite and Minecraft


And finally Kate Russell talks about her IT career




Friday, 6 March 2015

This Week on AsiaED


This week on AsiaED I had the pleasure to host the Twitter chat about Computing. It's been a great opportunity to see what educators in Asia think of Computing! here is the Storify of the week.

Monday, 16 February 2015

Python Programming Games


Most students are interested in programming, because eventually they would like to make games. Games are the rockstars of the computing world and a great way to hook people into the idea of coding!  Python is one of the languages that coders actually enjoy using!   In this posting, I am going to share some of the resources availabe to get you started:

My first choice for a book is http://inventwithpython.com/  and for a large range of resources PyGame is great as it adds the extra libraries you need to make graphically rich games.  There is a nice set of documentation to get you started in this area.  Codecadamy also has an excellent Python section, although it doesn't focus so much on games.

Built into the Raspberry Pi are a few games that you can play with the source code.

There are some lovely Hour of Code tutorials for Python to give students a taster and there's also a gamified system that teaches code, calded CodeCombat. This is well worth a look to get students started.

Saturday, 7 February 2015

Raspberry Pi 2

The Raspberry Pi took an amazing leap in processing power this week.  The new quad power processor makes it into a real computer, which is great because every kid expects the browser to work at full speed and it will enable even more gaming and graphics processing.   It even runs a version of Windows 10.  Watch the video!