One of the areas that I am interested in each year, is what is the condition of programming in New Zealand Schools.
While it has been going up year upon year, with 5884 students taking NCEA Level One programming in 2016. Up from 3246 when the standards was introduced in 2011. What does this look like nationally.
There are 430 schools that teach Technology at NCEA levels in New Zealand in 2016. I have used that as the base information.
The above map shows the areas of the country where Level One, Level Two and Level Three are taught.
Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts
Monday, 4 September 2017
Wednesday, 9 November 2016
co creation
It has been an interesting couple of days at school. I decided to get a project that I have been working on and off one up and running again. It is a RFID scanning system to assist with a 5km run, where people can scan when they start and when they finish. This has been talked about in my blog post, Challenging myself as well as building on building on existing message.

I managed to get the base version that I had been developing up and running again, after formatting the SD Card and reimaging it with the LCD drivers with this time with a 3.5inch screen attached to the RPi.
Through this I have been trying the GUI and the console version, I must say the console is helping as it is providing opportunity for rapid prototyping with its quick restart and low loading.
With the base system and running, it was time to start thinking of the next part, linking the data into a more suitable outcome, instead of being just on screen and in a text file, link it into a database service.
This is where I had a conversation with one of the students, what next. I showed him what the program was doing and how I had achieved some of the aspects. It was however something that needed to be developed better and have some more features. 15 minutes later he had a plan written on what the program could have done to it to support the ideas. Overnight he wrote a function that allows the creation of text documents to support start and finish tags, manage data during an outage or lack of connection.
This morning was integrating his function into the program and testing the ideas to see if they work. Many conversations have taken place and coding changed, is this a pair programmed piece of work now. Looking at what we are doing, could the standards that exist support this idea?
He has now taken a copy of the code home to continue development, as well as the dimensions to develop the next phase, putting it into action.
Looking at getting the data out to a mysql database so that we can add in different features, these will allow students to do creation of their own data next year using a mixture of google charts and bootstrap.
Note: since we are recording seconds, there is a function within mysql called SEC_TO_TIME() which will help with the conversion
There has been some great working on this project, It now no longer saves files to the raspberry pi, instead it is linked up with mysql.
Using google chart api has now allowed the data that is collected to be graphed based upon a PIN number.
Instead of using bootstrap, now use materialsecss, this is something different, while it is still responsive.
What is the learning that has happened?
Version 1:
Development of rfid scanning system through the use of raspberry pi
Addition of LCD screen to the raspberry pi
Simple testing
Version 2:
Adding in database system to record data
To add mysql.connector to raspberry pi, sudo apt-get -y install python3-mysql.connector
Note: no phpmyadmin setup, for security, instead have to use mysql command line. (very important to note as it took me 2 hours to realise this as I have not worked on the project for 3 months)
Version 3:
Creation of website to show data through use of materialisecss and google charts api
This has now been complete, there was a bug that wouldn't allow the top record to be shown, this has now been fixed. Great setup and information is being recorded, this has been verified through a live test of the system on Monday 28th November through the EOTC Get Lost.
I managed to get the base version that I had been developing up and running again, after formatting the SD Card and reimaging it with the LCD drivers with this time with a 3.5inch screen attached to the RPi.
Through this I have been trying the GUI and the console version, I must say the console is helping as it is providing opportunity for rapid prototyping with its quick restart and low loading.
With the base system and running, it was time to start thinking of the next part, linking the data into a more suitable outcome, instead of being just on screen and in a text file, link it into a database service.
This is where I had a conversation with one of the students, what next. I showed him what the program was doing and how I had achieved some of the aspects. It was however something that needed to be developed better and have some more features. 15 minutes later he had a plan written on what the program could have done to it to support the ideas. Overnight he wrote a function that allows the creation of text documents to support start and finish tags, manage data during an outage or lack of connection.
He has now taken a copy of the code home to continue development, as well as the dimensions to develop the next phase, putting it into action.
Looking at getting the data out to a mysql database so that we can add in different features, these will allow students to do creation of their own data next year using a mixture of google charts and bootstrap.
Note: since we are recording seconds, there is a function within mysql called SEC_TO_TIME() which will help with the conversion
There has been some great working on this project, It now no longer saves files to the raspberry pi, instead it is linked up with mysql.
Using google chart api has now allowed the data that is collected to be graphed based upon a PIN number.
Instead of using bootstrap, now use materialsecss, this is something different, while it is still responsive.
![]() |
| The beginnings of the website |
What is the learning that has happened?
Version 1:
Development of rfid scanning system through the use of raspberry pi
Addition of LCD screen to the raspberry pi
Simple testing
Version 2:
Adding in database system to record data
To add mysql.connector to raspberry pi, sudo apt-get -y install python3-mysql.connector
Note: no phpmyadmin setup, for security, instead have to use mysql command line. (very important to note as it took me 2 hours to realise this as I have not worked on the project for 3 months)
Version 3:
Creation of website to show data through use of materialisecss and google charts api
This has now been complete, there was a bug that wouldn't allow the top record to be shown, this has now been fixed. Great setup and information is being recorded, this has been verified through a live test of the system on Monday 28th November through the EOTC Get Lost.
Version 4:
Login system to see profile
Version x:
Put out into real world and promote to a small group. Need to think about what this looks like and can be powered and developed.
- The idea of badges, for number of runs, beating personal best.
- The idea of developing a team, and running each week.
-
Also have to think about how to promote and develop promotional material.
Login system to see profile
Version x:
Put out into real world and promote to a small group. Need to think about what this looks like and can be powered and developed.
- The idea of badges, for number of runs, beating personal best.
- The idea of developing a team, and running each week.
-
Also have to think about how to promote and develop promotional material.
Saturday, 30 November 2013
Rubber duck programming
During the year a blog post talked about rubber duck programming. http://en.wikipedia.org/wiki/Rubber_duck_debugging Getting students to explain to a rubber duck how their program worked, or if they stick a problem and didn't quite know how to fix it. This us where the rubber ducks come in.
Students I have found work well doing peer programming, being able to explain to someone else and have them code it or come up with a solution. In a lot of ways this is what happens in my classroom. The biggest problem is that the assessment doesn't allow for this. Students need to be able to independently demonstrate the skills involved.
How can a student debug their code. Buy using the rubber duck technique they can communicate with, even though it doesn't talk back, being able to explain an idea helps the human brain come up with a solution. I have experienced this, being able to sit down and think clearly about a problem, not have the stress, but time to draw, explain, develop has been one of the best techniques I have developed over the years to sort out tricky problems. I have visual diaries full of drawings, text and ideas to sort out solutions.
So to my students in 2014, we will be rubber ducking solutions.
Students I have found work well doing peer programming, being able to explain to someone else and have them code it or come up with a solution. In a lot of ways this is what happens in my classroom. The biggest problem is that the assessment doesn't allow for this. Students need to be able to independently demonstrate the skills involved.
How can a student debug their code. Buy using the rubber duck technique they can communicate with, even though it doesn't talk back, being able to explain an idea helps the human brain come up with a solution. I have experienced this, being able to sit down and think clearly about a problem, not have the stress, but time to draw, explain, develop has been one of the best techniques I have developed over the years to sort out tricky problems. I have visual diaries full of drawings, text and ideas to sort out solutions.
So to my students in 2014, we will be rubber ducking solutions.
Monday, 22 August 2011
microblogging within school
I see that ASHS students have been busy upgrading there statusnet server,
W00t! Students have finished upgrade of our #statusnet server. Let the microblogging resume! Gwibber integration test tonight.
Getting Started: status.net/wiki
To get started with StatusNet, from installation to basic configuration, this is the key resource.
W00t! Students have finished upgrade of our #statusnet server. Let the microblogging resume! Gwibber integration test tonight.
could this be something that i could get my students into?
As this can be downloaded and installed on our our servers, there is a development version available for us to try out.
To get started with StatusNet, from installation to basic configuration, this is the key resource.
Tuesday, 2 August 2011
Hacking Versus Programming
I found this an interesting blog post, something which I want to use with my students,
This is a blog post from http://blogs.msdn.com/b/alfredth/archive/2011/07/27/hacking-vs-programming.aspx
I have many students that ask me to show them how to hack, normally of which the answer is no, or we go through the hacker high school unit of work, which normally gives them a sense of satisfaction. But I had never thought about hacking as ruthless programming.
This is a blog post from http://blogs.msdn.com/b/alfredth/archive/2011/07/27/hacking-vs-programming.aspx
I have many students that ask me to show them how to hack, normally of which the answer is no, or we go through the hacker high school unit of work, which normally gives them a sense of satisfaction. But I had never thought about hacking as ruthless programming.
What is the difference between Hacking and programming? One opinion I have heard expressed is that a hacker can put a lot of code together in a hurry but if a change is needed the code has to be completely rewritten. A programmer may take a little longer but if changes are needed they are more quickly and easily installed without the need for a complete rewrite. One source I heard attributed an observation like this to Maggie Johnson of Google. It rings true to me though. Hacking is usually described as “quick and dirty.” You though a bunch of code together and make it up as you go along. Some hackers are quite brilliant and can do amazing things in incredibly short periods of time. And then they move to the next thing. Or perhaps they stay with the same thing because no one else can understand it well enough to fix it, modify it or improve it. Job security? Perhaps but not a good thing for the people who use, or importantly pay for, the software.
I do a little hacking – that is to say toss something together in a short period of time without a lot of planning – from time to time. I’m not a genius though and typically this ends poorly. The performance is poor, the maintainability is poor, and no one else wants to use it. This may make be biased against this way of doing things I guess. I prefer to program – to think things out, to plan, to proceed in an organized fashion. I saw the difference made clear to me my first year of teaching (a long time ago). I was working on a little game programming of my own and decided to show it to some of my students. As I explained how I had set things up around a number of constants that is hoped would make the program more easily expandable one of the students turned to another and said “Look at that. He’s just starting and already he is planning for additions.” That is one of the real keys, in my opinion, to real programming.
I was a major in Systems Analysis in college. This was during a time when computer science majors were rare and software engineering majors rarer still. But one of the things my professors drilled into our heads was that programs had to be maintainable and extensible. We were taught from day one that programs are not finished but, in a sense, abandoned. More likely at some point you declare victory and more on. But others will maintain these programs and expand them and adapt them. Making their lives easier is a good thing. Think of the Golden Rule – program was you would want the programmers whose code you are modifying to have programmed. I think that is how it is written. 
The hackers get a lot of attention these days. These are the basketball players who make the slam dunk that makes it to the highlight reel. But basketball games are won by teams of players executing on the basics – the solid play well executed, the dribble, the layup, the pass that gets the ball to the star. In the long run we need more real programmers to make solid, dependable programs that don’t have be be rewritten from scratch when a change is needed.
Subscribe to:
Posts (Atom)




