A generation of amoral hackers?

Screen Shot 2016-03-27 at 17.05.22
The Mirror

I must admit, I chuckled when I saw the article by The Mirror, warning that a generation of “amoral and disruptive youngsters who use their skills to kick against society …with many using the skills they picked up in lessons”.

Anyone who has been in the classroom with a bunch of mixed-ability Y9 students, trying to encourage them to write/adapt a  program to switch on LEDs or play rock-paper-scissors, knows that classrooms aren’t exactly a hotbed of sedition.

However, I find myself in a genuine ethical dilemma when it comes to GCSE Computer Science.

Screen Shot 2016-03-27 at 17.24.26

The new OCR J276 specification includes specific references to online security. As expected you get some stuff on legislation (including data protection & computer misuse), references to anti-malware, firewalls, user access levels and passwords. You now also get mention of encryption, penetration testing and network forensics.

Encryption – no problem. It’s a little vague  but there are no specific mentions of algorithms (as you get at AS level) so I dare say we’ll look at the Caeser Cipher, probably Pigpen and a couple of others – moving up to the purpose of online encryption.

The interesting bit is the addition of penetration testing and network forensics. My experience in this area is pretty limited (I once cracked a neighbour’s WEP key just to see if I could, but that’s about it). Forensics; I suppose I could look at the logs on one of our servers or have a look at ownership of files in Linux but other than that I’m a bit stumped.

The one I’m pondering, though, is penetration testing (thankfully shortened to pen testing in common parlance – I can’t imagine the sniggering this is going to induce). The aim is to try and find vulnerabilities in a computer system. And the best way to teach about it (in general) is by doing it. So, I’ve been looking into methods and software to set this up in a classroom.

I could install Kali Linux on a Raspberry Pi and use it with a home-made LAN that is totally separate from the main network, or I could use the awesomely named MyLittlePwny (based on the PwnPi OS). With a little LAN built up of various Windows boxes, a spare (outdated) Mac and some Pis I suppose I could get the students to explore and experiment. But then I suddenly find myself drawn back to that article in the Mirror.

This year I’ve already had to intervene with some Y10 Computer Science students, one of whom thought it would be funny to copy a batch file that would delete/rename work in the user’s home directory and a couple of others who thought it would be fun to distribute it around the class. Do I really want to give those students links and hands-on experience with a more powerful arsenal?

Of course any lessons on these topics would need to be bookended (and interlaced) with discussions of morality, legislation and the difference between white-hat, grey-hat and black-hat hackers.

Screen Shot 2016-03-27 at 19.13.52.png
Top Secret

Another option is to make use of free online games (e.g. Hacker Experience or Slave Hack), maybe even looking at some paid-for desktop/mobile alternatives (e.g. the intriguing looking Top Secret, the assembly language simulation TIS-100, the retro hacking classic Uplink, its nephew Hacknet or the bizarre but engrossing looking Else Heart.Break()).

I’m not really sure what my conclusion is yet. I think that lessons in pen testing and identifying vulnerabilities in order to fix them are a good thing in principle. In practice, I’m not sure how akin it is to teaching self defence, only to find one of your students used their new skills to go and mug someone.

Positivity

The Poke

Today I am not leaving teaching.

I’ve seen a lot of blog posts lately; from the secret teacher, primary teachers, secondary teachers, senior leaders and more. I even wrote one myself 4 years ago (and it has been by far my most read post). The stories are all heartfelt, familiar and somewhat painful. Education under the Tories has gone to hell in a handbasket, the levels of accountability have become oppressive, the pressure to hit targets can feel suffocating and autonomy feels like it has all but left the building.

But I am not leaving teaching.

Those who have left talk of having an actual work-life balance, better physical and emotional health and in conversation I’ve found not a single ex-teacher who tells me they feel they have to work as hard now as they used to do just to stand still.

And yet this is not a post about leaving teaching.

I have good days and bad days, but today I had some great fun with my Y10 class that involved a bit of winding them up, a bit of having a laugh and, by heck, it involved them producing a big chunk of work.

I had a difficult chat with a pupil – the details of which I can’t and won’t go into this morning. And this afternoon I got a subtle smile from said student as I passed by their classroom on my way to firefight 3 other issues.

My Y12s worked for almost an hour in near silence, producing work demonstrating that the lessons I spent last week trying to re-teach them about flow charts and IFDs had actually made a difference.

I could go on (and perhaps I should). The point is that even on those days where I feel totally ineffectual, fail to solve the problem I’m having with their progress and go home with a knotted ball of stress in my stomach and in my legs, there are still those moments where I’m making a difference.

Teaching is an awesome job, and it’s a privilege to have those moments. Moments that I wouldn’t have if I wasn’t in education.

There is a cost, of course. I’m increasingly having to find ways to step back, accept my limitations (they can’t all make 5 levels of progress!) and switch off. Last weekend I didn’t mark a single piece of work. I did, however, take on a couple of extra dog walks, clear out a nest of super mutants, caught up with a couple of films and just generally tried to be a human rather than a teacher for a change.

So I’m trying to be positive. To rationalise the problems I find challenging, to decompose the difficulties and to be a supportive rather than whinging voice around my colleagues. With mixed success, of course, but then this is a career that can easily take the best of you and spit you out if you’re not careful.

And I’m staying a teacher for the foreseeable future.

Flash (as in Gordon, not Marvel?)

4317168441_0c4652aaf6_z
Flash Mob – JD Hancock

Actually I mean the software. Or the plugin. Which is a big part of the problem.

“Flash Banner Ads Banished By Google”, heralds the BBC. And bang goes another nail into the lid of the coffin of a software tool I have spent years getting to grips with. This morning I saw some comments, not for the first time, suggesting that schools, and teachers, should not be “teaching Flash”.

Well, I agree, and I disagree. Teachers shouldn’t ‘teach’ specific software packages – I don’t ‘teach’ Photoshop, or Fireworks, or IDLE, or Sketchup. I hopefully teach image editing techniques, programming, problem solving and 3D modelling. It might seem a trivial difference in phrasing, but the intention it conveys and the techniques used in the classroom are very different.

As for consigning my very expensive Flash licence to the dustbin, I’m not quite so sure.

There are a couple of issues here besides pedagogical nomenclature, and while my first instinct was to defend the software with which I have a long love/hate relationship, it bears some pause for thought.

  1. Are we talking Flash the program, or Flash the plugin? The program allows me to create multimedia products – whether I choose to focus on stop frame animation, tweening, embedding of other media types or scripting. Once finished then the natural output format is a SWF file, for which you need a Flash plugin.The Flash plugin has been plagued with security holes and its demise has been clear to see for years. The newer HTML5 standard means that you no longer need to play Flash video, and Flash banner animations (the subject of today’s BBC news story) is certainly well on the way out.

    However, even in my lowly CS3 incarnation of Flash the program (released in 2007 and superseded by several newer versions) I can export projects as a Flash Movie (SWF), Quicktime video (MOV) or animated GIF (along with a host of other formats, though I find those less useful). So the animations that my Y12 students made this half term can be embedded into a website as GIFs, providing all the functionality with none of the security holes or controversy. I could create the same animation in Fireworks, but find the interface more clumsy (and that’s before we get onto the Fireworks vs Photoshop discussion on obsolescence).

  2. The Flash plugin is not dead yet! OK, it’s not a forward thinking technology. Neither is VGA and look how much fun in schools has been spoiled by having to fudge a HDMI to VGA adapter, with Raspberry Pis. There are pros and cons in looking forward and also in using what works NOW. Yes, we want to prepare students for the future, but training them in HTML5 versus teaching them principles using current tools that are mature and stable is not a simple problem to get around.

    In the meantime the Flash plugin still works, and will for some years to come. So I can still teach about frame by frame versus tweening, still Rotoscope (thanks to David Philips for showing me that one!), still help students create complex interactive products that use a range of multimedia and interactive techniques and can still get them all to work in a web browser.

  3. The alternatives aren’t (IMO) great just yet. I have some software that is great for frame by frame animation (I Can Animate, Pivot, Fireworks). There is very little out there that does tweening well (I’ve played with Swish in the past, but haven’t seen much else). There are various languages out there for scripting (VB, VBA, Javascript, Python) but none that I’ve come across that will let me combine the animation and the scripting together (and I don’t just mean a script that will play an animation, or not, but one that I can embed into the animation). Ultimately, HTML5 may well allow me to do all this, but there is no package, or set of packages, that will let me achieve what I want THAT I HAVE FOUND (I do keep looking, but tell me if you know of one!).

We do have an obligation to keep a little up to date with what we are teaching, but the skills and techniques transcend (or underpin – depending on your visualisation of choice) the tools we choose.

I find it fascinating that this comes in the same week as teachers are celebrating the release of the Usborne programming books from the 80s, surely a much more significant example of outdated software and hardware (though certainly still valuable despite that).

Is Flash the program as irrelevant to students as Flash Gordon? Or, like the Marvel version, is there still a good use for the franchise? Flash is undoubtedly on the way out, and I fully expect to be teaching the same techniques and principles using different software tools in the future. Until I can find a mature and stable product that does what I need, though, I’ll be using Flash for a little while to come.

GCSE Computer Science specification roundup

Finally TPTB (Ofqual) have accredited the OCR GCSE specification for computer science. While this was inevitable, I didn’t want to review the specifications until they were all in.

So, here are my thoughts:

WJEC / Eduqas

Pros:

I went to look at this first because I’m still intrigued by the online exam. Assessing programming skills in a timed environment is quite realistic and avoid the dirge of 20 hours of the kids staring at a screen and my having little opportunity to support them. The CA can become an exercise in grinding (akin to repeatedly carrying out a boring task to level up in a role playing game) and so I’ve always thought there should be something like the AQA A Level Comp 1 exam at GCSE, and WJEC are the only board to offer it.

Cons:

It has to be Java and it has to be Greenfoot. The practical exam cannot be carried out in any other language or environment. Now I like Java, and I love Greenfoot. But I’m not sure it’s the right starting point for GCSE. There’s a lot of boilerplate and a lot of syntax (semi colons, curly braces, etc.) which VB, SmallBASIC, etc. and Python avoid. It also means you have to introduce object orientation (explicitly stated in the spec) – which is a big leap for a new programmer IMO.

More worryingly, the exam is in addition to, rather than instead of, the NEA. So you still get the 20 hour dirge on top.

The theory content explicitly states that students need to be able to use HTML. That, in itself, is not necessarily a bad idea, but it’s an extra language and set of syntax rules to learn on top of everything else.

Conclusion:

At this point I’m out. A glance through the theory content looks broadly similar, but I want the practical exam to be instead of NEA, not in addition, and I don’t want to be forced into one environment – at least not if it’s an environment I’m not entirely comfortable with choosing.

Edexcel / Pearson

Pros:

The specification is in line with the other offerings. Two written papers, one 20 hour NEA. The content is similar across all boards and is a notable step up from the previous incarnation (e.g. binary representation now needs to include sign & magnitude and twos compliment representation for negative integers). Reading the sample papers – this new course is going to be hard! But this is true for all boards.

Cons:

The controlled assessment must be carried out without access to the Internet or a school intranet. So no extra help allowed, even if vetted internally. This is the most strict set of rules I’ve seen for this one. You can put copies of appropriate digital documents in home directories so I’m chilled out a little on my 4th reading of the spec.

You are also restricted to one board-set NEA task.

The mark scheme for the NEA gives 24 marks (40%) for implementation and 36 marks for analysis, design, testing, refining and evaluation. Systems lifecycle and consideration for data structures and for testing are important. But that sounds like a lot of emphasis on writing about programming with less than half about the actual programming.

The controlled assessment sample provided was quite vague (again, a common theme). This allows for creativity at the top end but very little support or scaffolding for those who might struggle.

Conclusion:

Theory and exam-wise, it looks much of a muchness. The NEA also looks broadly in line (which is part of the point of the reboot), but the controls are extremely strict. I did find the exam papers looked fairly accessible.

AQA

Pros:

AQA – you know where you are when reading the specification. It’s not the single most important aspect but I find the format of the document very easy to follow.

It’s also the exam board we are using at A Level, so there ought to be some good commonality between the two levels of specification. I always thought that the OCR GCSE legacy spec suited the AQA AS legacy spec extremely well.

Again, familiar content. This time no negative binary numbers, but you do have things like Huffman trees, which is something I will need to investigate myself before I’m ready to teach.

Internet access is allowed (implicitly) for the NEA. The only specific reference I could find was in section 5.2 (avoiding malpractice), which says that students must not copy directly from “the internet or other sources without acknowledgement”.

I’m not sure if this is a pro or a con – my current Y11s have had a really difficult time trying to avoid spoilers, or judge what is a spoiler, on their recent controlled assessment tasks. It’s certainly more open than the Edexcel approach, however.

The sample NEA task looked much more scaffolded than the Edexcel task which is a key issue for those students who need a bit more support and guidance.

Cons:

Only 30 of the 80 NEA marks are for programming, the rest for analysis, design, testing, refinement and evaluation. That’s 37.5%, and I thought Edexcel’s 40% was low!

AQA’s interpretation of pseudocode looks more scary than Edexcel’s. Where Edexcel has lots of text-based output statements, AQA’s sample exam questions look like a sea of syntax that could well put students off.

Conclusion:

Honestly… I think it’s close between Edexcel and AQA. I much prefer the AQA sample NEA task, but prefer the Edexcel exam papers. The theory content is similar, with some subtle differences but nothing that couldn’t be overcome with good planning from the outset.

OCR

Pros:

It’s OCR. It’s Rob, Vinay and Ceredig – the team I’ve known off and on since 2010 (OK, it was George and Sean that I knew initially, but still…). It’s the team with a very supportive Facebook group that I’ve made extensive use of, and helped to take part in.

Edit to add: The support is a huge issue. Whether it is exam board support (the coursework consultancy is a great idea) or community support – having other centres nearby with the same questions and the opportunity to moderate both NEA and internal assessments is invaluable.

The new course is an iteration of the old one. I’m very familiar with the old one and have largely enjoyed it. The content has been ramped up here, as with elsewhere. Still no negative numbers here (unlike Edexcel), and not much that I’ve seen here and not elsewhere.

The NEA allows you a choice of 3 tasks each year, the only course to have this. So the students can choose the task that suits them best, or you can choose for them (more likely). The NEA also allows intranet access. This is implicit rather than explicit but I’m sure I’ve heard from Rob or Ceredig that this would be acceptable (within reason, of course). No Internet, but see above for comments on the rampant cheating that this might help to alleviate.

The NEA mark scheme award 20 / 40 (50%) of the marks for programming, and the rest for analysis, design, testing, refinement and evaluation. The highest ratio of doing to writing about doing that I’ve seen yet.

The NEA tasks are broken down in a similar way to the AQA offering, providing a little more clarity than the Edexcel vagueness but still with freedom to explore at the top end.

Cons:

Edited: It’s OCR. Which might lull you (or me) into a false sense of doing what we have previously. For old hands like me who’ve been teaching the OCR spec since 2010 it is possible I will slip into teaching the same content – which would be a very bad thing as there is a definite shift.

OCR’s is the only spec that explicitly references SQL. I didn’t see anything in the sample exam papers but it’s definitely there in the specification. I don’t mind SQL, but given the choice of enforcing that students learn another set of syntax versus not doing so, I’m tempted to leave that until KS5.

The NEA mark scheme only offers 12 / 40 marks (30%) of the marks for programming. The lowest ratio of doing to writing about doing that I’ve seen.

Yes, that’s a contradiction to what I said above. There are 8 extra marks for ‘development’. Current OCR centres will be familiar with this section. It is kind of about doing and kind of about writing. And I didn’t see this quite as explicitly in the other specs. Going back it is there in the AQA spec (approx. half of the programming marks) – although there it is more about the summative description of what you have created rather than a narrative of how it was created. The Edexcel spec also focuses on the completed product with only a reference to screenshots demonstrating debugging skills.

In my experience the documenting of the development process is one of the most frustrating elements for the students. They want to be on and doing, not stopping to write it up as they go. And this leads to frustration and also to lost marks when actually they are very good programmers and problem solvers.

The chunked / scaffolded NEA tasks are not quite as chunked as the AQA sample assessment task I don’t think, though still clearer than Edexcel.

Conclusion:

NEA (only 20% of outcome but a significant investment of time and enthusiasm) offers the most freedom and a fair amount of support as well as a familiar structure for the writeup.

The exam structure and presentation is largely familiar which is reassuring, but I would need to keep making sure I’m delivering the right content for the new spec and not the old one.

 

Overall Decision?

This is harder than I thought it would be.

I like the OCR team. I’m familiar with the OCR way of doing things and I like having the flexibility of choosing from 3 tasks each year. I like bullet-pointed, chunked programming tasks. I don’t need the Internet.

 

OCR still has the development section of NEA, which ought to be fine but is a drag. With AQA I can reduce the impact of that, keep my bullet points and still have freedom over how much the students can access online resources. Edexcel have made the NEA task description too vague and locked the rules down very tightly.

Exam wise I think I prefer Edexcel. Negative numbers aren’t so tricky and that was the only difference in theory I could find on a quick scan. The exam papers look relatively friendly and the pseudocode wasn’t as off-putting as AQA.

For me, it’s down to Edexcel vs OCR. With OCR I get more support and feel more comfortable with what is expected. With Edexcel I think there is the potential for a more prosperous pair of exams, though I do worry about the NEA.

 

Further thoughts

This new spec is going to be hard. Noticeably harder than the current spec. 2d arrays, subroutines (functions, procedures and libraries), specific network protocols to learn and more focus on writing accurate algorithms. I’m glad the NEA has dropped a lot, and this means we’ll have more time for exploration and learning instead of assessing and assessing, but next year is going to be a real challenge.

Just say Yes!

I wonder how many times I’ve had a good idea (or a bad one) and managed to talk myself out of it. It’ll just make more work, I’ll look stupid when it falls through, I won’t pull it off, someone else would do it better than me.

I remember, some years ago, being invited down to the Emirates to do a 15 minute talk on collaborative technology. I think it was because I started a shared slideshow on Google Docs to collect and share ideas for non-techie teachers but I’m really not sure.

I’d never stood up in front of other teachers before, I was on sage or role model, I’d never even been to a conference. I read the email, read it again, thought for about 30 seconds and replied yes and hit send. I did it quick because I knew that if I thought about it I’d say no.

I didn’t know what I would say, what I would recommend or how it might be perceived. And I’d have to wangle the day out of work. But if I said yes quickly then what the hell, I’d just have to make it work. And I did.

15 tools in 15 minutes turned into a 10 minute rush through as they were running late by the time it was my turn, but it went down very well. It led to my first Teachmeet (where I further compressed it to a 7 minute version – mostly by skipping all the pauses to breathe I put into the original), a further series of sessions (including a visit to BAFTA) and ultimately, gave me the confidence to run all kinds of CPD sessions that have kept me sane.

At the same time, I’ve had lots of ideas for after school activities. I’ve bought sewable, wearable Lilypad kit, PicAXE robots, Arduino kits, Raspberry Pis and more. But my Y11s need coursework catchup time. It means more work when I am flooded with marking. It doesn’t provide ‘measurable impact’ for my appraisal. I’m tired!

However. In the same way that my CPD sessions, my CAS work and my other ‘extra’ stuff keeps me sane, running this kind of stuff is a big part of why I became a teacher in the first place. Not to get people through exams, or controlled assessment. Not to make sure my PP, SEND, Level 4, Most Able and other cohorts make the requisite demonstrations of progress according to their KS2 data. Not to convince students who ‘don’t like IT’ that they should engage for 60 minutes a week because I want them to. Those things are important, but the thing that really gets the blood flowing is working with enthusiastic people who want to know more about something.

I did that in passing before I was a teacher, and it was what made me look into a PGCE. It’s why I like running CPD for teachers. And it’s why, when I saw a tweet showing a wind speed graph at the Forth Bridge during a storm I decided I was buying a weather station, talking to the science department and doing something with students.

It’s early days, and I’m not sure I have a clear end goal – but then the end goal isn’t really the point. I’ll find some interested students, we’ll do some stuff, get lost along the way and we’ll all learn something. I don’t really know what I’m doing – so it may all go horribly wrong. It will undoubtedly cause more work for me. And I’m sure there are others (@tecoed) who could do it better. But if I don’t say yes quickly then it won’t happen. And that would be a great shame.

This is not a CPD session

10301416_10152994101649933_7283679572442774083_n

Jam Packed Roadshow, Darlington, January 2015 – Mark Clarkson

This Saturday I will be spending 6 hours at school.

Why? Because I’m launching the first Teesside Raspberry Jam – a hopefully regular meetup for people interested in Raspberry Pis.

teessidejam.eventbrite.co.uk

I say first, because I’m not counting Alan O’Donohoe’s excellent JamPacked roadshow that came to nearby Darlington last year. That was a fantastic event, and one I attended as a parent and a tech nerd rather than as a teacher. But it sowed a seed in my mind, and this year I’m determined to do more of the stuff I enjoy.

So, this Saturday I am inviting ANYONE who has an interest in Raspberry Pis to come to my school any time between 10am and 2pm. Turn up late, leave early, bring a friend, whatever works. It’s for children, adults, parents, teachers, nerd, geeks, newbies, the uninitiated, the hackers, the builders – anyone.

I will have some Pis, some robot arms, power and networking. That really is it – no program to stick to, to objectives to be assessed.

As a result of my typical network reach I’m expecting it will be largely populated my teachers from the area and pupils from my school. It would be GREAT to have a wider reach, but maybe that will come later if we can establish this as a regular (monthly?) event…

Please do come if you can, and please do spread the word.

A fresh head and a new state of mind

4868893727_3bd6f4d34e

https://www.flickr.com/photos/victius/4868893727

I hate the whole ‘New Year’ thing. Calendar wise it’s completely arbitrary and it feels like a solution looking for a problem to have to generate a new resolution each January.

So it is completely coincidental that this January I find myself in need of a fresh start.

For the last two academic years I’ve been trying to steer a department through various challenges – new curricula, changes to exam structures, a shift towards computer science, having staff poached by other departments and an increasing pressure to be accountable for all things at all times (and the inevitable paper chase that goes with it).

I’ve noticed that my positive, jovial demeanour most of the time has been strained. I’ve become more cynical, pessimistic and generally unhappy. In the run up to Christmas I found myself trying to support a large group of students through ECDL, and I put myself under far too much pressure and that ultimately put strains on the strongest professional friendships I have as well as my personal life.

I have no scientific backing for what I’m about to say, no double blind studies or journal citations. What I do have is 11 years of experience at the front of the classroom and about 18 years at the back. A stressed, cynical, unhappy teacher makes for stressed, cynical, unhappy students. I’ve found myself snapping at students for not knowing something that I do or, worse, for not knowing the thing that I taught a different class last week.

So I’ve made a deliberate effort this Christmas to take a proper break. No school emails, no marking, no planning, no reports or even a stray thought for school work for about a week and a half. Yes, it means that I’m a bit behind now but, you know what? I will get done what I need to and the rest of it will just have to do. Ultimately I’ll return a happier, more productive teacher and middle leader – which I hope will lead to more interesting and engaging learning experiences for my charges. I’ll continue, in fact redouble, my efforts to teach them things ‘for the sake of learning it’ rather than because it might turn up on an exam paper. And I’ll trust that the results will bear out their learning rather than being the sole objective.

Ask me in a week how well it’s working…