Add QR codes to student login card at code.org

UPDATE (2/1/2017): See the note at the bottom of this post.

Here is a bookmarklet that will add QR codes to the student login cards for your code.org class.

qrmycodeorg

Below is a video explaining how to use this bookmarklet.

UPDATE:
I was recently informed by a couple teachers that the bookmarklet doesn’t work. After some investigation, I figured out why. As a security measure, new browser standards have been set that prevent many bookmarklets from working. This security measure is called a Content Security Policy or CSP. The bookmarklet will only work if you disable CSP for the page before running it.

Steps in Chrome:

  1. Install the Disable content-security-policy Chrome extension
  2. Load the printable sign in cards page at code.org
  3. Click the disable content security policy icon to disable CSP
  4. Reload the page
  5. Use the bookmarklet as shown in the video above
  6. Click the disable content security policy icon to re-enable CSP

The Internet built my daughter an app

In May, my nine-year-old daughter suffered a stroke. The stroke weakened the left side of her body severely. However, with therapy she has managed to improve each week. Because of the stroke, she has a lot of tone in her arm. This causes her arm to pull up close to her body instead of naturally resting down and at her side. She has to make a conscience effort to put her arm down and we are frequently reminding her.

One day I got an idea. Could we use sensors to measure when her arm is up and use a vibration to remind her to put her arm down? After a little digging online, I quickly learned that the Pebble smartwatch has an accelerometer that could be used to detect orientation.

As a physics teacher, I understand accelerometers and I have a little bit of programing experience but I had zero experience with the Pebble watch. So I reached out to the community of Pebble enthusiasts and developers in the Pebble Forums. I explained my situation and asked if my idea was even possible.

What happened next was truly remarkable. Within a day, I had a response explaining that my idea was possible. By the next day, another user made me a working prototype app. I learned how to install the app on a Pebble watch that my good friend loaned me. I made adjustments to the code using an online development tool called CloudPebble.

Watch app triggers a vibration in this position
Watch app triggers a vibration in this position

Another user offered to merge the app into a watch face “so the watch doesn’t have to look like it’s only there for the stroke.” From here, things really took off. With my feedback, we added several other features such as a learning mode so the app could be used by others in similar situations.

Info screen gives us feedback
Info screen gives us feedback

This experience has shown my daughter the true power of the Internet. She saw that it is so much more than a place to consume media. The Internet allows total strangers from all over the world to work together. She learned that people will volunteer their time and skill to create new things and help others.

It is the best lesson about the Internet I could ever hope for her to learn.

What most schools don’t teach

Another group is continuing the coding to learn theme. The non-profit foundation Code.org is hoping to increase computer programming education across the world. They’ve created a video with an impressive cast (Bill Gates, Mark Zuckerberg, will.i.am, Chris Bosh…) but my favorite quote comes from Gabe Newell.

The programmers of tomorrow are the wizards of the future. You know, you’re going look like you have magic powers compared to everybody else.

Check out Code.org to get started immediately.

Coding to Learn with Scratch

Scratch is the perfect tool to help kids (ages 8 and up) learn how to write programs or code. But in a recent Ted Talk, Mitch Resnick expresses another good point- the importance of coding to learn.

Resnick explains:

As kids are creating projects like this, they’re learning to code, but even more importantly, they’re coding to learn. Because as they learn to code, it enables them to learn many other things, opens up many new opportunities for learning. Again, it’s useful to make an analogy to reading and writing. When you learn to read and write, it opens up opportunities for you to learn so many other things. When you learn to read, you can then read to learn. And it’s the same thing with coding. If you learn to code, you can code to learn. Now some of the things you can learn are sort of obvious. You learn more about how computers work. But that’s just where it starts. When you learn to code, it opens up for you to learn many other things.

I highly recommend watching Resnick’s talk.

He demonstrates how kid-friendly programing tools like Scratch are not just for teaching computers, math, science, or engineering. Coding to learn can apply to almost any subject.

For example, consider teaching kids storytelling with the book Super Scratch Programming Adventure!

Super Scratch Programming Adventure!
Super Scratch Programming Adventure!

Ruth Suehle at GeekMom writes:

Super Scratch Programming Adventure! helps your budding developer learn to use Scratch with a comic book story. Each section begins with a continuing piece of a story that ends by giving the reader a problem to solve with Scratch.

I got this book for my own kids and they were off in minutes. I think Super Scratch Programming Adventure! would be the perfect textbook to get your students off coding to learn.

No child left without coding skills

In this article, Andy Young writes:

Programming is the act of giving computers instructions to perform. This is true whether the output is your word processor, central heating or aircraft control system. If you can’t code, you are forced to rely on those that can to ensure that you can benefit from the greatest tool at your disposal.

I can’t agree more. Every kids should learn to code. Even if it’s just a little bit. Programming skills are empowering and they teach kids the importance of building models.

The easiest way to get started is to teach your students how to build a simple web  page using HTML. It’s not really programming but it will get kids thinking about code.

Learn HTML

 

To dive into programming, check out these tools to get kids started. My personal favorite is Scratch. It is free, easy to use, and designed so even  young kids can understand programming without actually having to write out complex code. Below is an overview.

Resembling Scratch, App Inventor is another easy to use programming tool for building apps on Android devices.

App Inventor

App Inventor was announced by Google but has recently been handed to MIT to manage. Watch for the “MIT App Inventor” this spring.

Finally, maybe for the more experience coders, give VPython a look. It allows students to create 3D interactive models. Compared to Scratch, it looks a little intimidating. However, there are many sample programs and tutorials available to help you get started.

Web site blocked? Code your way in.

Tumblr APII love tumblr.com. It’s such an easy-to-use site for sharing things that you find online. So I was disappointed when my school’s web filter started blocking the site.

I can see why our filter has tumblr on its blacklist; tumblr will let you post anything to their site. Students could use tumblr to chat or view inappropriate material.

But we’re not talking about students; we’re talking about me- the teacher.

Our schools roll clips like Did You Know Shift Happens and use terms like flat-world during staff meetings. Yet, they can’t come up with a process to filter teachers that is different from the one they use for students? In one breath it’s, “prepare our students for the 21st century” and in the next breath its, “just don’t do it on a school computer.”

Andy Carvin at PBS’s learning.now put it best when he wrote:

“…for educators who aren’t trusted to use their professional judgment, an important opportunity to teach their students about 21st century citizenship is being squandered.”

However, ranting usually doesn’t get me anywhere (I often feel better though). This time I decided to take matters into my own hands.

Using tumblr’s API and some php scripting I created my own page that can post to tumblr. Since my all the work is done from an approved site, my posts sneak right past the web filter.

I know it’s a small victory but it felt good to gain back some control for a change. (By the way, here is the script if you’d like to use it on your own web site.)