Saturday, April 30, 2016

Drone Videography Examples

Here are some examples of video shots you can achieve with a drone. They were taken with DJI Phantom 3 Pro and Standard quadcopters. Of course many of these can be shot and/or edited in reverse, and there's probably some overlap in this list. I've tried to create examples of all of these shots in this folder.

For some shots that are better filmed and produced, check out How to pull off five essential drone shots and uplift your videos. I've borrowed some of their ideas as well.
  1. Bird’s eye view
    1. Looking out
    2. Looking down
  2. Reveal
    1. Pull back (or fly towards) a sign or building
    2. Peek over fence or building
    3. Tilt up as you fly towards person/object
    4. Fly over ledge
  3. Fly up
    1. From object or sign on ground
    2. From person or object
    3. With or without rotation
    4. Along vertical structure or point of interest
  4. Fly by
    1. From above
    2. From beside
    3. With or without pan
  5. Tracking shots
    1. Beside
    2. Follow
    3. Lead
  6. Aerial panoramic
  7. Crane
  8. Point of interest orbit (full or partial circle)
  9. Aerial Timelapse
  10. Fly through (only for advanced pilots)
All of these example videos are licensed Creative Commons Attribution-ShareAlike, so you can use them as long as you give credit and also allow others to use your work.

Did I miss anything, or is this list too granular?

Tuesday, March 15, 2016

EIPS Scratch Day 2016 Reflection


Our fourth annual EIPS Scratch Day was March 10, 2016 in the Bev Facey main gym. Over 300 students in grades 4 to 9 participated in coding challenges designed for beginner through experienced Scratch users.

Students were given a list of challenges to complete, and were awarded points for completing each. The supervisors had access to a form (see below) that they used to assign points to a school as students completed challenges. For an overview of how that worked, check out Creating a Leaderboard using Google Drive, but note that the "on form submit" trigger was overwhelmed by the speed at which student were completing challenges.

Throughout the day there were just over 3000 completed challenges recorded, about half of them "beginner" level, and the school with the most points per student was Rudolph Hennig Junior High with 6479 points recorded for their 42 students. In second place was FRH (3387/23) and third was LLR (5303/39).


Of course the event wasn't all about getting points. After lunch we had an unplugged computing science activity inspired by csunplugged.org/binary-numbers where students got into groups of four and represented 4-bit binary numbers by standing (1) or squatting (0). We even did some adding and subtracting of binary numbers, such as 1101 - 0100 = 1001 (13 - 4 = 9).

At the end of the day, once a few schools with longer bus rides had left and the tables had been cleared out, we repeated that activity with 8-bit binary numbers.


Along the side of the gym we also had some booths set up where the amazing Mr. Chung's students had set up technology demonstrations of cool things like Makey MakeyOculus Rift, Google Cardboard, Samsung Gear VR, and mBot.

Hopefully the students and staff learned some things and are inspired to try other coding activities such as code.orgcodecombat.com, or even more advanced things like robotics, microcontrollers, or app creation.

Some feedback we've received about the event includes:

Omg soo hungry and this is awesome food #eips16scratch
via @B_taylor2016

I just wanted to pass along a big thank you from FSCS. We really enjoyed scratch day yesterday and it provided our grade six with valuable skills that they will follow up in class. I loved the way the challenges were done this year with the score keeping. via C. Charest


Hey guys I'm here at scratch day and I'm making pacman #scratchday #eips16scratch via @_Disco_Potato_


I just wanted to say thank you for such a great day yesterday.  I think that 320 students had an amazing day. Those kids were pumped and excited about Scratch and worked the entire day.  To maintain their attention and concentration that long was impressive.  Thanks for all your efforts and organization.  I was happy to help out, and enjoyed my entire day.  I thought the inclusion of the high school students and their demos was really cool part of the day. via D. Nelson

Just got back from Scratch Day! 350 kids, tech, tech support, consultant support, coding, all levels of students- what great opportunities for our learners. via D. Barron

Thank you again (and also to your team) for a wonderful day. The grade 4s were abuzz and felt so special to be part of something with the older students. We will definitely see you next year! via H. Bianchini

Thank you to everyone who participated and helped out, hopefully I haven't forgotten to include anyone here. The staff and students at Bev Facey were amazingly helpful and accommodating, in particular G. Chung and A. Mali coordinated so many logistical things. J. Steele-Watts and her commercial foods staff and students also put together a great lunch. Thank you as well to FRH and B. Salyzyn for lending tables and chairs.

Events like this can't happen without the support and encouragement of Central Services staff, particularly Learning Technologies and Supports for Students. Thank you to G. Kloet, E. Carrasco, and E. Diaz for setting up the network and making sure all of the technical details worked. Thank you to D. Nelson, J. Ference, J. Sundar, L. Sereda, D. Barron, and J. Clark for coming out and helping, and to J. Clark and L. Skitsko for paying for busing and some substitute coverage from the Learning Services budget. Of course a big thank you to all of the school staff that brought students and arranged all of the related logistics, and to E. Zimmerman and M. Liguori for being supportive of this event.

We're looking forward to our fifth annual EIPS Scratch Day on March 8, 2017.

Monday, March 14, 2016

Perhaps wireless display devices are not great for classrooms

Over the years we've tried out a number of wireless display devices, including Apple TV, Chromecast, and various other proprietary or standards-based dongles and software. I've recently started to think, though, that these are not a good idea.

Of course I'm open to being convinced otherwise.

The main reason I'm thinking they're not a good idea is that there are better (and more "real-world" ways to get student content up on the big screen in a classroom. The obvious one is that students can share content with their teacher, whose computer is connected to the big screen, via the usual ways that they share things with their teacher, such as Google Drive, Classroom, Office 365, email, or social media. In my experience this is also how things work in environments outside of education.

Another issue with some of these devices, particularly Chromecast, is the lack of controls or restrictions on who can connect to it. Apple has introduced passcodes, onscreen codes, passwords, and device verification, but many other vendors have not. This means that anyone on the same network as your device can display content on that device. While this is a great opportunity for digital citizenship education, it does occasionally cause issues.

As well, this process isn't always "simple, solid, and enjoyable" (the phrase that James Aitchison is fond of using). While our wireless, network, and Internet access are great, it's not going to be as good as a physical connection to the display.

So I recommend leaving the teacher machine connected to the classroom display, and have students share any content they would like displayed.

That's my current option, feel free to push back in the comments or on social media.

Monday, March 7, 2016

Creating a Leaderboard using Google Drive

(reposted from blog.eipstech.com)

If you're trying gamification and you'd like to have a live leaderboard for a class or an event, the easiest (free) way I've found to do it with a spreadsheet in Google Drive.

Basically this involves creating a form that participants (or facilitators) submit to claim points and setting up a pivot table in the spreadsheet for adding up the points. The pivot table can be made public, embedded in a web page, and/or put up on a screen as a leaderboard.

The first step is to create a form in your Google Drive. The first question should be the participant's name/number, either as a text question (where they have to spell it the same way each time) or Choose from a list if you don't have too many participants. The other question(s) should be Multiple choiceChoose from a list, or maybe Check boxes for claiming which "challenges" they have completed. The easiest way is to have just a single multiple choice question.

What follows are a couple of examples.



Once your form is set up, you'll need to set up the spreadsheet to add up the points as participants click submit. Submit the form once yourself to see what the output will look like, then in the columns to the right you will need to input formulas for calculating points. In the example below the formula in cell D2 is =if(C2="Beginner", 1, 0) and the formula in F2 is =if(C2="Intermediate", 5, 0) . Cell G1 is =sum(D2:F2) of course.

Once you have formulas for the all of the necessary columns in row 2 (the row containing the first submitted form data), you'll need to create a script that copies those formulas to each new row as the form is submitted. I've written about this before. In our example, we'd open the script editor and create a new script like this:

function addFormula() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;
  var startColumn = 4;
  var numberRows = 1;
  var numberColumns = 4;
  var lastRow = sheet.getLastRow();
  var sourceRange = sheet.getRange(startRow, startColumn, numberRows, numberColumns);
  var destinationRange = sheet.getRange(lastRow, startColumn, numberRows, numberColumns);
  sourceRange.copyTo(destinationRange);
};


Then set the Current project's triggers to be addFormula when the spreadsheet event On form submit occurs. Your spreadsheet should now calculate points for each row, each row will be data from a form submission.

The last step is to create a Pivot table report... in your spreadsheet (under the Data menu). The range in our example is 'Form Responses'!B:G since (from the Form Responses sheet) we want participant names (column B) as well as the calculated values (columns D to G). In the Report Editor you should add the name field under Rows, and the totals under Values, as in this example.

If you're finding that it's not updating, you may need to click "Edit range..." and set the number on the right to be 1000 or more (e.g. 'Form responses 1'!A1:G5000).

You can now Share and/or Publish to the web... your pivot table, since it's now a leaderboard that will automatically update as participants submit the form. You'll also want to delete any unused rows in the Form Responses sheet so that you don't have an extra blank line in your leaderboard.

Let me know if that works for you, of if there's anything I should clarify.

Monday, December 14, 2015

EIPS eSports Tournament 2015

image credit: D. Tomeldan
Last Friday (December 11, 2015) EIPS hosted it's first official eSports tournament at Salisbury Composite High School. There was a total of about 120 junior high and high school students in two parallel competitions, League of Legends 5v5 (team) and Super Smash Bros. Brawl Project M 1v1 (individual). Competitors represented Ardrossan Junior Senior High, Bev Facey Community High School, Clover Bar Junior High, F. R. Haythorne Junior High School, Fultonvale School, Salisbury Composite High SchoolStrathcona Christian Academy Secondary School, and Vegreville Composite High.

While competitors were charged $10 each to cover the cost of prizes and a donation to the Stollery Children's Hospital Foundation at the behest of Nitza's Pizza.
the prize table
Nitza's Pizza provided pizzas for lunch.
Microsoft provided Xbox One consoles for casual gaming.
Winners of the Project M competition (left to right): King (SAL) in first, Crow (SAL) in second, and HDPizzas (AJS) in third.

Unfortunately due to time constraints the LoL tournament bracket wasn't completed, but the judges consulted the statistics and decided to award the prizes to Team GHZ from SCS.
Team GHZ

setting up early in the morning
students checking in and reporting game outcomes
Project M competition screens
Project M on the south side
League on the north side
some LoL student shoutcasters
The day was live streamed via YouTube for wide angle and Project M, and Twitch for LoL. Unfortunately many comments on both streams were somewhat toxic, so commenting was disabled on YouTube and moderated by EIPS staff on Twitch. You can also view a flyover video of the experience.

Participants were expected to abide by a code of conduct, and we didn't have any behavior issues from competitors or spectators.

As organizers we had expected that parents and staff would be questioning the value of a video game tournament during a school. We were prepared to talk about how students are often pulled out of classes for traditional sports tournaments, that many of the benefits of sports are also evident in esports, and that these students are often under-served by traditional extracurricular activities. However we were surprised at how positive and encouraging everyone has been about this event.

We've been encouraged to start planning the next event. Hopefully there will be another grades 7 to 12 tournament in the spring, as well as an elementary tournament at some point soon. Games being considered are Rocket League, Mario KartHalo 5, and Hearthstone. Obviously the latter two are rated "Teen" and won't be used for elementary tournaments.

Tuesday, May 19, 2015

Bulk generation of custom short URLs for prefilled Google forms

One of the departments at work wanted to send out pre-filled Google Forms to parents based on a CSV file that they generated from their database.

Check out this Python script I wrote for them that generates a shortened URL for each line in the CSV file.

Feel free to use and share, and to ask for clarification where documentation or comments are lacking.

Just a reminder, of course, to consider FOIP or other privacy implications associated with any data being submitted via online forms or stored in the cloud.

Thursday, April 23, 2015

Automated Drive Imaging for Xubuntu Install

Instead of sending old laptops to ewaste, we are experimenting with having students install Xubuntu on them. So we made a class set of installation DVDs and had a three classes (Grade 4, Grade 6, and Grade 9) install Xubuntu on some older Dell Latitude machines (D530, E6400, and E6410 respectively). That seems to be going well so far, but that's a topic for another post.

Where we needed to change tactics was with some Dell Latitude 2100 machines. Our set of install DVDs wouldn't work because they are 32 bit and don't have optical drives. We consider netboot install, but that seemed overly complicated. So a USB-based solution... the easy answer is to just install Xubuntu from USB Stick, but since the devices are mostly identical perhaps an imaging solution.

Enter Clonezilla.

There are two options here. One option is similar to netboot, but we chose instead to create a few USB drives that would boot the computer and automatically clone a previously-created image on to the hard drive.

So now all a student (or teacher) needs to do in order to set up a new machine (or "fix" a machine that a student has "adjusted") is to insert the USB drive, turn on the computer, press F12, and boot from the USB Storage Device.

For those interested in how the USB storage devices were constructed, we started from this post. For everyone else, check out this cool graph.