Monday, 17 February 2020

Canada Learning Code: Iterating a Romantic Engineering Process

We had a romantic Valentine's Day evening after school on a Friday night at Canada Learning Code's HTML/CSS Valentine's Card coding nightCLC offers a lot of coding experiences for people who haven't done it before.  You get a room full of volunteer experts who code all day for a living, which I found particularly interesting because I wanted to see how they solved problems.

The majority of people in the room had never looked behind the webpages they view every day, so the presentation started off with explanations of what Hypertext Markup Language and Cascading Style Sheets are (you're using them now to read this).  From there we all installed ATOM, an HTML/CSS  editor, onto our laptops and got stuck in.

Coding can seem like an all or nothing proposition to people new to it.  Unlike written language, if you have a single error in code the whole thing can become unrunnable with no clear reason why.  Imagine writing an English essay and if you have a single grammar or spelling error the whole thing is nonsensical.  That's the challenge of coding, but there are some supports you can put in place that help you deal with this absolutism, and CLC introduces you to all of them.

The ATOM IDE (integrated development environment - like a word-processor for coding) colour codes your text as you're typing and offers suggestions.  It quickly lets you add and change what you're working on.  When you save your code in ATOM you pivot over to your browser and refresh your page to see what's changed.  

While coding is harsh when dealing with errors, a good IDE and that iterative approach of being able to quickly try something helps you work around those error landmines, but getting people into that mindset is tricky, especially after school where we tend to drive students toward one-try grading (quizzes, tests, exams, interviews, performances, pretty much everything we do in education).  As a result students have learned not to iterate.  If it doesn't work at first you've failed, which is a disastrous approach to coding.  Recognizing the value of the engineering process and iteration was the biggest single takeaway for me at this event.

At one point Michelle Mabuyo, the lead of the KW Chapter of Canada Learning Code, ran into a problem with the animations we were running on our websites.  Without hesitation she immediately attacked the problem using the same engineering process I continually drill into my students.  As she iterated attempts at fixing the problem she kept escalating her scale, eventually reverse engineering the error out of the code from a known good, working program.

Watching someone who is good at something turn it on and do their thing is something I really enjoy.  Michelle wasn't aiming to put on an engineering show, this was supposed to be a gentle introduction to web development, but an error made her kick it up a gear and engineer a solution in real time.  My best seniors get to this point by the end of high school, and when they do I know they're ready to tackle whatever post secondary is going to throw at them.

At one point Muhammad, a software engineer from Google who was volunteering at this event, came by to see how I was doing.  He doesn't spend any time in HTML at Google, but once you understand how code works, you can move laterally into other languages quite quickly.  I was trying to do something with the falling hearts animations that was a bit beyond the instructions, so he said what I always say, "look it up!"  I told him about the Futurama Fry meme and he laughed because he has a copy pinned up by his desk... and he's a software engineer!

That self deprecating piece is something that people who are good at something tend towards.  The cocky types tend to be way back in the Dunning-Kruger effect.  People who are good at something tend to be aware of how difficult it is and are more likely to take a more humble approach.

I really enjoyed our nerdy Friday night Valentine's Day at Canada Learning Code.  I always doubt myself coming in to something like this (my comp-sci teacher did a number on me in high school), but coding (at least when you're doing it as something other than an academic exercise) isn't about mathematical perfection, though that was how it was portrayed in my high school comp-sci classes before I dropped them.  Coding is an applied process; it's about an experimental, agile, iterative mindset and never taking your eye off the goal of a functioning solution.  From that point of view, coding is little different than tuning the carburetor on my motorcycle.

I have no doubt that I could get more fluent in coding, but it's a small part of the many subjects I juggle when teaching Ontario's vague and encompassing computer engineering curriculum.  In the meantime, I've got the agility and experience to quickly find solutions and modify them to work, and I need to acknowledge those skills.  From that I could quickly develop the familiarity with coding needed to do it with less lookup.  As a goal for my students, that's an achievable, applied target, and not something to be ashamed of.

As we were wrapping things up another of the volunteers came by and commented on how much he liked the flip-card 3d effect in HTML.  I asked him how it worked and you can guess what he said... look it up!  So I did, and was able to get it working in about 5 minutes at the end of the session.

Coding is an opportunity to take risks and not worry about failing because iterating your way out of a problem is the solution.  I only wish more computer science teachers would take that approach in Ontario classrooms.

If you get a chance, go to a Canada Learning Code workshop.  They have specific meetings for girls, kids, women, teachers and teens, so you can always find a comfortable fit.

At the end of this particular meeting they also offered some pathways for people looking for a career change, which is a whole other angle to thisCoding familiarity is a vital employment skill these days.

Sunday, 16 February 2020

Tech Cleaning Up Its Own Mess: how to fix misinformation in digital media

I'm having one of those intersectional moments where my recent work in AI, coding and cybersecurity have me thinking about ways we can fix the worst parts of our digital adolescence.  Media like the tweet below are wearing everyone down, but I think this is a digital media problem that digital media can help resolve:
In this case an elected official is claiming to support children with special needs while at the same time doing the doing the opposite behind the scenes, even going so far as to ignore signed contracts and cancelling support.  As I watched this misinformation I wondered why the digital system delivering it (Twitter in this case), couldn't include links and information to clarify what I'm watching.  Doing so would help users understand when they are being misled.  Can you imagine a digital media ecosystem that actually encourages truth and accuracy instead of what we have now?

From a data management point of view, rhetoric and political spin should bump up against a scientific analysis of fact based initially on volume of data.  Facts tend to have more data behind them (proving things takes time and information).  Attacking this as a big-data computer science project, statements made by politicians could be corroborated by connecting to supporting digital information in real time.  I dream of the day when I'm watching a politician's speech live online on any browser (this should be baked into every browser) while seeing an AI driven analytical tool that is leveraging the digital sea of information we live in to validate what is being said.

This information enrichment would do two things.  Firstly, it would create a truth-tendency over time metric that would allow voters to more accurately assess the accuracy of what politicians, news outlets and even each other are saying - a kind of digital reputation.  Secondly, having an impartial analysis of social activity in real time would mitigate and highlight fake news and help social media to resolve its terrible handling of misinformation.

There are layers and layers to digital misinformation.  As we've moved from lower bandwidth mediums like text through still images to video, misinformation is keeping up, often under the guise of marketing.  You can't trust anything you see online these days:

It's a new form of media literacy that most people are unaware of.  There are plugins attempting to battle photoshopped images and videos that should help stem that tide of misinformation.  Movement on this is fast because parsing image and video data is a more mathematically biased problem, but intentional misinformation either created or shared is also something machine learning systems can get better and better at identifying as they learn the peculiarities of why humans lie to each other.

In the case of something like Vaughan Working Families, a fake organization designed to spread misinformation by wealthy government supporters, the misinformation was fairly easily identifiable by looking into the group's history (there is none).  That lack of data is a great starting point in training an AI big data analysis system in live response to misinformation - the truth always weighs more because of the evidence needed to support it.

We do IBM Watson chatbot coding in my grade 10 computer engineering class, and it is interesting to watch how the AI core picks up information and learns it.  As it collects more and more information, and supported by students teaching it parameters, it very quickly picks up the gist of even complex, non-linear information.  Based on that experience, I suspect a browser overlay that offers a pop up of accurate, related information in real time is now possible.

In software you have the front end that faces the user and the back end that does the heavy lifting with data.  In the cloud-based world we live in, with people sharing massive amounts of data online, an unbiased, ungameable, transparent AI driven fake news overlay would go miles in restoring the terrible history Facebook, Google, Microsoft and the rest have in interfering with democracy.  This shouldn't be something squirrelled away and only available to journalists.  It should be a technical requirement for any browser.

With that unblinking eye watching the dodgy humans, not only would politicians be held to a higher standard, but so would everyone.  Those quiet types who happily retweet and share false information are complicit in this information virus.  If your Twitter account ends up with a red 17% accuracy tag because you regularly create and share misinformation, then I'd hope it results in less people being interested in following you, though I don't personally have a lot of faith in people to do even that.  Left to our own devices, or worse, chasing the money, we've made a mess or things by letting digital conglomerates disrupt institutions that took years to evolve into pillars of civil society.  It's time to demand that they use the same technologies they are leveraging now to fix it.

We're obviously either too lazy and/or self interested to make a point of fact checking our social media use.  If we're all on there sharing information, we should all make our best effort in sharing it accurately.  This could help make that happen.  It would also go a long way toward preventing the the cyber-crime epidemic we live in which thrives on this kind of hyperbole and irrational response.

There have been some attempts by charitable organizations and students to create online fact checkers, but the browser creators (Google, Microsoft, Firefox, etc), and social media giants (Facebook, Twitter, etc) don't seem to be the ones doing it, even though they've gotten rich from this misinformation and damaged our ability to govern ourselves as a result.  Law can't keep up with our technological adolescence and the data avalanche it has produced, but the technology itself is more than able. increasingly depend on people, often amateurs with little or no funding, to do our online fact checking, but the sheer volume of information, especially when driven by automated processes like bots, makes that unscalable.  This is something that professional  journalists used to do (at least I hope they used to do it, because not many are doing it now).  However, the financial pressure on those institutions due to digital disruption means they are now more than happy to take inaccurate and misleading information and share it if it makes them somewhat relevant again.  The only way to address this situation is by leveraging the same technology that caused it in the first place.

What do you say tech billionaires?  Could we redesign our digital media browsing so it encourages accurate information rather than making it irrelevant?  You might have to actually put some financial support into this since you've effectively dismantled many of the systems that used to protect the public from it.

Wednesday, 12 February 2020

Building Capacity: Taking CyberTitan from Niche Activity to School Culture

Just over three years ago I stumbled across the inaugural CyberTitan Student Cybersecurity Competition on ICTC's webpage while looking up statistics for the information and communication technology job market.  I managed to convince four of my seniors to take a swing at it.  We got better and better round over round as we honed in on the expectations of the US CyberPatriot competition that CyberTitan works from.

In the competition students are given a virtual machine image (imagine a computer operating system like Windows operating inside a window).  These images are broken, with improper settings and things installed that shouldn't be.  If you've ever had to try and clean a school laptop after a student has used it, you know what sort of messes can occur.

We were already pretty good at IT & Networking and CyberTitan offered us a way to exercise those skills while also discovering a newly emerging aspect of computing:  cybersecurity.  I found that our expansion into CyberTitan directly supported our Skills Ontario preparation - the two things are symbiotic.

We surprised ourselves by getting an email inviting us to the first Canadian National Finals in Fredericton, New Brunswick in May of 2018...

That success made some noise and the next year we had three teams of six students each.  While standing at the student photo for the 2018 finals, Sandra Saric, then VP of Innovation with ICTC, said under her breath, "where are all the girls?"  I took that and ran with it, encouraging my strongest grade 9 girls (I barely keep any of them into senior computer engineering classes) to form an all-female team for the 2018-19 season.

The girls did fabulously well, often chasing down our senior team on points.  Our junior team, the Cybears, also got us into the top tier of the competition for the first time before getting eliminated in the state finals.  The Terabytches offered me an inside look into systemic sexism in education as well as technology and made it clear why so many girls don't pursue technology pathways in high school and beyond.

The Terabytches won the top female team in Canada wildcard spot for the 2018-19 National Finals in Ottawa and did a lot of press which I think (hope?) opened up the possibility of ICT and cybersecurity careers to more girls.

While 2019 was definitely the year of the Terabytches, it was also a good year consolidating our skills and building capacity.  For the first time in 2019/20 we had students returning who were no longer rookies in the competition (our first year team had all graduated).  For the 2020 season I encouraged the most experienced and engaged students to make a senior team with the intent of scoring higher in the competition than we'd ever done previously.  The team consisted of one of the Terabytches from the year before and the junior team who had gone platinum.  They re-branded themselves Kings Guard and tackled the 2020 competition with a focus that can only come from experience.  

In previous years we were usually the best of the rest, getting beaten by specialist, urban schools from the big cities across Canada.  This year Kings Guard beat all but two of those teams for a third place finish in the semi-final round.  We went top-tier platinum and then proceeded to land in the top quarter of the best teams in the world.  We'd never breathed the air up here, and it tasted good!

The Terabytches experienced some turnover, but with three veterans and three  rookies,
consistently beat their national champion scores from the year before.  Our two junior teams also scored well, with Altron in particular punching well above their weight.  Both junior teams made it to the gold tier semi-finals and produced strong results.  Altron finished top 12 in the world out of thousands of teams.  Seeing our little, rural school (it is literally surrounded by farm fields) on a list with some of the top cyber-schools in North America never gets old.

We're waiting on CyberTitan to announce the Canadian finalists for this year's competition as I write this, but regardless of the outcome this year's students have produced outstanding results which point to a way forward for educators across Canada who want to engage their students with a subject that frankly freaks people out.

We aren't magic.  What got us into this was an opportunity to explore an emerging field in technology and make our program more relevant.  If you're curious and willing to give it a whirl, and can find students with the same curiosity, you can get involved with CyberTitan and begin to build capacity in this vital 21st Century fluency too.

Krista Sarginson, who teaches at St Leonard in Manotick near Ottawa, took the plunge this year and had an epic rookie season, finishing second in Canada in the middle school division.  As more teachers get involved with CyberTitan, the network grows, as does the support.

Krista described the competition early on as techy and quite particular, but it didn't take long for her to get a handle on the process and, as you can see from her team's results, they very quickly got good at it!  What could happen next?  Hopefully her Cyberlions all head off to middle school (St Leonard is a k-6 school) and encourage them to participate next year.  Those vets are likely to clinch a national title!  Meanwhile, Krista is encouraging and engaging other teachers in her board.

What does your school get out of CyberTitan?  It teaches students and staff hands on about best cybersecurity practices and raises your digital literacy in meaningful ways.  Your board's IT department will love your participation in it as it helps raise awareness around cybersecurity and promotes a healthier digital infrastructure.  The media glow around it is also very positive.  We've had a lot of attention from local and provincial media who are also very aware of the cybersecurity shortage we're living in.  I won't mention the swag students and coaches receive that includes t-shirts, all sorts of technical support, access to Cisco's Netacademy, along with medals and awards.

You can find lots of statistics on how behind we are on cybersecurity, and education can play a big part in that.  The CyberTitan/Cyberpatriot competition offers students and teachers a well supported and engaging introduction to this exciting field of study, you should give it a go!

This is what nearly 600% growth looks like - it's gone from a niche activity to a culture...

CyberTitan is only in its third year and has seen growth similar to our own, with over 200 teams from across Canada participating this year.  It's my hope that by 2022 there are over 500 teams competing and the national finals is expanded to include three middle school teams who will duke it out for their own national title.

If we're going to depend on ICT infrastructure to run our critical infrastructure (and we increasingly are), then we owe it to ourselves to take securing that infrastructure seriously.  ICTC's CyberTitan helps raise cyber-fluency in our education system which will in turn make for a safer, more secure Canada.


Wondering how to support CyberTitan from industry?

Wondering how to support CyberTitan from government?

How CyberTitan works:

This is the US CyberPatriot competition that CyberTitan works with:

Here's the presentation I've been doing around Ontario education for the past two years:

Sunday, 9 February 2020

I'm a Sponge

One of my strengths as a teacher is my overdeveloped sense of empathy.  It's also why I'm often exhausted at the end of a day.  The recent state of affairs in Ontario education has gotten to the point where I have to time my exposure to this negativity as it infects my thinking elsewhere.  I'm trying to balance the need to make political noise to stop the sociopaths in government with my own mental health.

The end of semester one happened and I came home one day hanging on by my fingernails.  As is typical in most Ontario classrooms, I have a staggeringly wide range of students.  My recent grade 9 class contained students who were functionally illiterate with others who are already operating two grades ahead of where they should be.  I'm somehow supposed to deliver meaningful, differentiated instruction to all twenty five of them.  This reaches peak pressure as the semester ends and these grade 9s, who have never learned in a semestered system before, struggled to understand that the course is ending and I won't be their teacher any more.  When my wife saw the state of me she said, "you're a sponge" soaking up all of this stress and negativity.

Chasing the strays and getting marks in is exhausting, and often simply an exercise in damage control rather than a learning opportunity.  Marking exams was also interesting.  I share all the theory tests we did throughout the semester online and can see when students make use of them in studying.  The vast majority of my grade 9s, 10s and 11s spent less than 20 minutes reviewing for exams.  Our class averages typically landed at about 60% with 1/4 of each class failing.  Even when you hand the actual exam questions over to students, a frustrating large number of them can't be bothered to lift a finger to review it, though they all expect a good mark for it.

This is partly to do with the fact that we're forced to do academic style exams to protect the academic style exam schedule, even though we're an applied, skills driven course, but it also has to do with how modern students accept responsibility for their learning.  They are repeatedly conditioned not to take on this responsibility.  Attendance has become entirely optional - I have two students away on extended vacations at the beginning of semester two and I had many students with more than three weeks of absences in semester one.  In addition to lax attendance expectations, students know that wherever possible their learning is done for them, often in line with standardized testing.  This learning is neither individualized nor differentiated and does little to foster the life long learning that would genuinely assist students in the world beyond our classrooms.

I don't usually look at the grades students are getting in other classes and without knowing I'm usually grading them similarly to their other grades in the building, but this semester I did look.  Grades are up across the board.  You'd be hard pressed to find a teacher that fails a student because they tend to get passed anyway in promotions meetings or given absurdly reduced expectations in a credit recovery class, so why pick the fight?  That sense of helplessness is becoming an epidemic in Ontario education as a remorseless political group with dwindling popularity continues to attack a system most of them never participated in.  I'm still ruminating on the connection between teacher efficacy and student learning outcomes.  I suspect countries like Finland (and Canada before this neo-conservative press) offer a high level of teacher efficacy which leads to higher standards and stronger students.  When the system thumps efficacy out of teachers, as it is right now, standards drop.  It'll be interesting to see if the data supports this in the coming years.

The crushing weight of all of this squeezes the life out of me at semester's end.  When it's happening between intermittent strike days and the guy in charge of education (who was never in public education himself) repeatedly saying that we're greedy and selfish, it all knocks me down yet another peg.

When I'm pressed under this kind of emotional weight, it colours my ability to assess the world around me.  Things that probably aren't that bad appear to be, but it's hard to see that.

Last month I wrote a piece trying to work out teacher pay.  I'm usually happy if a Dusty World post hits a thousand page views.  For a specialist blog on education, I think that's a good result.  Easy Money is currently at just over thirty thousand page views and speaks to the curiosity that people have around the misinformation being spread in this political climate.  That our Ministry of Education produced these misleading numbers is yet another layer of frustration.  Teachers are still teachers if they are part time, on short term contract or away on sick leave, but our Ministry ignored all that and gave their political masters what they asked for - a misleading statistic that promotes their politics.  I wrote Easy Money to wrap my head around a more nuanced and detailed understanding of the subject.  That moment of over-attention chased me off blogging, which I've never done for views.  Some of the things people say to you if you dare to challenge their politics is truly nasty.  Dusty World has always been a place I can come and work out my thinking.  If others benefit from that then great, but its function is to help me reflect on my own practice, not generate page views.  Maybe in taking that back Dusty World can keep the darkness at bay in an Ontario drowning in deep blue rhetoric.

Being quiet while mad men try to burn down your profession and a vital public resource shouldn't be an option for any Ontario educator.
Speak up, there are lots of ways to do it, but also look after yourself too.