Saturday, February 18, 2017

Automatically Display Live Video on Hallway TVs

At my school we do live video announcements (and occasional live events) to YouTube. We also have TVs in the hallways that display photos and announcement slides using Chromecasts that automatically display images from a Google Photos album.

So of course we want to tie these together and display live video on those TVs when we are broadcasting.

The best way I've come up with to accomplish this is to use AirParrot for screen mirroring to multiple receivers and Automator on a Mac, or perhaps AutoHotkey on a Windows machine, to automate it all.

First set up a computer to automatically launch the streaming URL ([channelID]/live) at a certain time each day. There are instructions for Automator, but I'm sure it could be accomplished a number of other ways such as with a Windows scheduled task. Of course if you wanted to get fancy, you could use the YouTube Live API to launch the URL whenever the broadcast is live.

The next step is to have AirParrot send that YouTube broadcast to all of the Chromecasts. I haven't tried automating this part yet, but AirParrot supports Automator (on a Mac) and if you're on a Windows machine then AutoHotkey can click and type for you. I really like how AirParrot connects so smoothly and mirrors displays or programs to multiple receivers, including Chromecasts and Apple TVs.

As an aside note, through Humble Bundle you can pick up two copies of AirParrot 2 for about $1USD until the end of February 2017. This is about 95% off the regular price. While you're there check out some of the other bundles, they have great taste in games and such, and amazing deals. This is not a paid endorsement.

So I'm hoping that soon I'll have this all automated so that people can watch the live video announcements in the hallways as well as in the classrooms.

Monday, February 13, 2017

Reflections on Teachers' Convention (NCTCA2017)

February 9th and 10th was the NCTCA 2017 Convention. Check out their Twitter and Facebook (and the Twitter hashtag). It was great to attend keynotes and sessions, network with colleagues, and walk through the vendor area. A highlight of this year was that I was able to attend with my wife, who is currently teaching grade three.

It was very interesting to hear Mohamed Fahmy talk about his experiences being imprisoned in Egypt, and about the importance of the media and journalism (Media in the Age of Terror: How the War on Terror Became a War on Journalism). He is a very engaging speaker.

I also attended a session by Kathy Worobec from the Alberta Council for Environmental Education on "How can Alberta Schools show climate leadership?". It was good to hear about, and discuss, projects that schools have been, and can be, involved in.

Next I attended a physics session, even though I'm no longer a physics teacher. However since it was about astronomy (Black Holes DON'T S**k) it is also applicable to grade six science. Great session, very interesting. And I knew the presenters, (Laura Pankratz and Jeff Goldie) so it was good to see them.

After lunch I attended some of the session "Minimalism in the Classroom" by Julianne Harvey that my wife was also attending. I liked what she had to say about simplifying our classroom environments "to improve student concentration and focus".

The last session I attended on Thursday was Amber MacArthur's "Cybersecurity & The Next Generation: 10 Steps to Privacy, Safety, and Citizenship". I last heard her speak many years ago at an ATLE conference, and she always has good ideas and is able to articulate the importance of many issues in technology. My favourite quote from her was something like "if you have time to know who is winning in 'The Bachelor' then you have time to check out some of the apps your kids are using."

Friday started with a session entitled "Stop working harder than your students" that I went to with my wife. It was very good, and I came away with a lot of ideas from Pierre Poulin and Philippe Bresee. One idea that I have implemented already, although it was already in the back of my mind, was a class government. This ties in nicely with democracy in grade six social studies, and gives students responsibilities and autonomy. I also liked the classroom layout design tool they demonstrated, Classroom Architect.

Following that that was my session entitled "You Can Program, and Kids Can Too". Unfortunately since it was in a venue that was both new to the convention this year and required some outdoor walking, fewer than half of the people that added it to their schedule actually attended. There were enough people for interesting questions and interactions, however, and even if a few people thought it was valuable then it was worthwhile.

After a longer lunch and more time in the vendor hall, I looked in on a couple of other sessions but only stayed for the entirety of "Entitlementality (And How to Teach Against It)" by Joel Hilchey. He talked about how students, and teachers, and in fact most people seem to have developed a mentality of entitlement. As an example, they/we "expect exceptional results with minimal effort". To combat this, he suggests a "focus on relationships, gratitude, and citizenship." I'm going to try gratitude journaling with my students.

Despite having to drive and park downtown for two days, it was an excellent teachers' convention. I came away with a number of concrete "try this on Monday" ideas, some inspiration, and things to think about for the future. Teaching is a great profession.

Friday, December 30, 2016

Code for a Drawing Game

The other day my wife and kids played a drawing game called Who What Where Jr with some friends. Based on their description of the game mechanics, I wrote a little bit of Javascript that chooses a "who", a "what", and a "where" from columns in a Google Spreadsheet.

I guess it's not quite the same as the actual game, and it took us a while to come up with subjects, verbs, and locations, but we had some fun creating it and playing it. The next step would be to turn this into a web app, including some sort of mechanism for showing each player a different phrase before a timer starts.

Code is available on GitHub.

Saturday, November 19, 2016

Class Group Formation With Student Choice and Algorithms

We needed to form new groups in my class of 28 students (seven groups of four), so I had the idea to allow some student choice. Students were able to choose six others that they would prefer to be with, and three others that they would prefer not be in a group with.

Each student is assigned a number from 1 to 28, and I generated possible combinations of 4 students chosen from those 28 (20 475 possible combinations).

Then I eliminated combinations that that contained a given student and a student that they indicated a preference for not being with, which narrowed it down to 7714 possible combinations.

From these 7714 combinations, I built sets of 28 unique students (seven groups of four with no repeating numbers in a set). This resulted in 259 possible class group configurations.

I then assigned points to those sets based on student preferences, one point for every "I want to be with ___" that was fulfilled. The set with the highest points was then chosen, and the numbers translated back into names.

That's just a broad overview of the algorithm design. Just for fun, I did different parts in Wolfram Cloud, Python, Javascript, and Excel.

Friday, October 21, 2016

Google Classroom Assignment Completion Leaderboard

I've been using Google Classroom to post a lot of assignments that students can work on at their own pace; some of them are optional assignments, but most are required. We also have incentives set up for milestones such as 500 assignments completed by the class.

Rather than having to go through each assignment and see how many have been completed, and how many each student has completed, I've written a script that logs that information to a Google Spreadsheet. In case you'd like to do the same, here's the code and some basic instructions on how to set it up for yourself.
  1. Create a Google spreadsheet with a list of student email addresses in column A starting at row 2.
  2. Rename the sheet Achievements (or change line 17 of the code below).
  3. Under the Tools menu choose Script editor and paste in the code below.
  4. Follow the directions at to authorize your script.
  5. Run (play) the function listCourses to find the courseId for the course that you want to run this on
  6. Set up a trigger to run the function countClassroomAssignments() every morning or every week.

Sunday, October 16, 2016

My Classroom Technologies

In my grade six classroom we have been using a number of different educational technologies, including hardware, software, and web-based tools.

Our main hardware platform is a set of Dell Latitude E6410 laptops. Since these are fairly old machines, we have reimaged them with Lubuntu, a lightweight Linux distribution that makes them quite usable. We have a charging cart, extra batteries, and an external battery charger.

On these laptops we have installed the Chrome web browser (in addition to the included Firefox), Audacity for audio recording, Cheese for taking photos and videos, and MinecraftEdu.

Also in the classroom we have two Raspberry Pi computers running KanoOS for computational thinking activities, and a few older gaming consoles for indoor recesses, motivation, and esports (a subject for another post).

We have access to Chromebooks, iPads, tripods (with iPad brackets), microphones (with USB cables and lightning adapters), green/blue screens, a GoPro HERO Session camera, Mac mini computers, Lego Mindstorms EV3 robot kits, and programmable Parrot Rolling Spider drones.

Our web-based tools include:
Google Classroom - assignments and online interactions, and guardian email summaries
Google Sites - hosts our class website
Remind - communicating with my students' grown-ups
Classcraft - a gamified behaviour management system
Mathletics - math practice
Math Live - interactive math lessons
Prodigy - chocolate-covered broccoli math practice
Newsela - news and non-fiction at adjustable reading levels
Duolingo - French language learning
Kids A-Z (Raz-Kids) - optional reading (ebooks and audiobooks)
Code Combat - coding and computational thinking activities

And of course we use other platforms for occasional assignments, such as Marvel's Comic Creator or Weebly. We'll also be trying many other tools throughout the year. For the most part, though, we are not focusing on learning tools, but rather learning with the tools.

Saturday, September 3, 2016

Virtual Reality in Education

Apart from artificially intelligent assistants, I think virtual reality technologies (and the related technologies of augmented reality) are one of the next big things in education. Not as in "flavour of the week", but rather things that can make a significant impact on learning and engagement. This post will just scratch the surface, and hopefully spark some exploration.

You may have heard of, or used, virtual reality (VR) headsets that are based on mobile devices, such as Cardboard, Gear VR, or innumerable other headsets with similar designs. There are even specifically educational developments for these, such as Google Expeditions.

However I'm even more excited about more immersive and interactive VR experiences that can be had with hardware designed for video games. Of course they're somewhat more expensive, but you may be able to justify it based on the fact that the computers that run them can also be used for other tasks such as media production. Or if your school has a video game club or team, there are some VR hardware options coming out for consoles this year, but many of the education-applicable software and simulations won't be available for them.

At this point the two main options for computer-based VR are Vive and Rift. Both are in the neighbourhood of $1000, plus you need a decent gaming computer (which has gotten cheaper recently). While the Rift is, for now, primarily designed for sitting experiences, you'll likely want some space for room-scale experiences.

Okay, on to some educational applications.

Similar to mobile-based headsets, students will be able to view and sometimes interact with more and more 3D and 360 content that is being developed. More than just virtual field trips, this will allow students to experience things that are inaccessible or impossible in physical reality.

If you teach art or 3D design, check out Tilt Brush. It's somewhere between painting and sculpting. When I first used a pressure-sensitive stylus I was inspired to become a better artist, Tilt Brush took that feeling one step farther.

In grade six science we study flight, there are a number of interesting flight simulators available such as Fly Inside, Digital Combat Simulator, and War Thunder. Which reminds me, I need to check out DRL FPV simulator for virtual drone racing.

There are also a number of therapeutic applications of VR being developed. I'm interested to see if and how we can implement some of these in education.

And we continue to see interactive simulations being developed for consumers or professionals that can be implemented in, or adapted to, learning in school. But of course the biggest potential comes from empowering students to craft their own virtual reality experiences.