Wednesday, April 30, 2014

Innovation fatigue and why your Google+ PLN is invaluable!

tl;dr version: Teaching is a hard gig. There are days your lessons fail, the wifi goes down, students don't do their best work, and parents get upset. You can always turn to your PLN for support, inspiration, and rejuvenation.  This is why Google+ has changed my teaching practice.

Entire version:
I have always tried to integrate technology into my classroom and viewed myself as an innovative educator. I always seem to be a part of educational pilot programs (which I am super excited about and it is part of the most wonderful aspect of teaching) and chosen to be an early adopter in my school for new technology and software.

There have been many times it has been wildly successful. I love the interaction I have with students when we are collaborating mathematically on their Google Doc. The ownership they take and initiative under a new technology can be refreshing and rejuvenate their interest in math. I still remember a class last year when one of my students, who rarely raised her hand during whole class instructional time, was a huge contributor to the online document we were working on and showed a dramatically difference "voice" in the collaborative document. It radically changed my perception of technology and how it can inspire and engage students in an entirely different medium. As a result, I try to get a balance of online work and face-to-face work in my classroom to allow everyone to participate in the manner they feel most comfortable and extend themselves in areas where they don't feel comfortable.

There have been times it has been a colossal failure, like when I prepared all of my classes to run on the Google Wave platform and it was depricated by Google just weeks after the semester started. I spent so much time getting my students Beta invites and sharing them among my other students to make sure the entire class had access. We spent entire class periods getting used to the interface and embedding rich media and working with the bots. Everybody was working and learning a lot in the new environment and it was a huge blow to all of our efforts to know Wave was no longer going to be supported. I can still remember some of the snickers from my co-teachers who were pretty anti-technology and had to repeatedly endure the "I told you so" from others. It was very discouraging and I truly understood what the term "Innovation fatigue" meant.

It took me a few months, but what got me back on the technological horse was Twitter and the math blogs that I read. Google Apps Script came out and I was able to focus on self-grading quiz scripts and automating my quarterly report writing. What also helped me move on was my virtual PLN. No one at my school was really moving in the exact direction that I was, so it was difficult to bounce ideas off people. This is not a knock on any of my coworkers, just a fact of how different teachers use different methods and have different passions.  I was able to find the rare people who were teaching math around the world or trying to use technology in the same way I was. My wife, Deanna, is the best math teacher that I know and is an amazing sounding board for teaching ideas and encouragement, but she can only take so much of me talking about my tech ideas, so it was huge to find other outlets :)

I still remember the day I ran across +Jay Atwood's blog and he detailed one of +Andrew Stillman's scripts. It was like finding out that other people in my educational species existed. That there were other people that "geeked out" on the same things that I did. It didn't matter that they were living on the other side of the world or the other side of the island, but they existed. It reignited my passions and helped me keep moving in the direction I wanted to go.

This is when Google+ came to be the focus of my PLN. I went to the Singapore GAFE Summit from +Michael Wacker 's session about how amazing #AutoAwesome was I was hooked. I found Communities like the Apps Script for Education Builders and Users who sparked my curiosity about the lengths that scripting could take my technology integration and support for my Alpha and Beta versions of my crude scripting offerings.

Now my Google+ feed is filled with the best articles that I want to read and inspire me to do great things in the classroom. Finding out the amazing stuff that educators around the world are doing with GAFE makes me want to keep pushing boundaries and actually contribute back to the community. This is why I started blogging again and sharing what has been working (and not working) in my classroom. Nothing is more invigorating to my practice than seeing and hearing what others are doing and making me want to contribute.

So I encourage you to go out and find your "geeks". I am sure there is a Google+ Community that fits exactly what you are looking for, and if it doesn't exist you can make it and attract your fellow geeks. Teaching is a hard gig, there are days your lessons fail, the wifi goes down, students don't do their best work, and parents get upset. You can always turn to your PLN for support, inspiration, and rejuvenation.

Wednesday, April 16, 2014

If I could re-engineer Google Forms, what would they look like?

+Andrew Stillman asked me in a comment on Google+ if I could re-engineer Google Forms for math, what would they look like. I realize my comment was turning into something larger and reposted it here to capture it and make it easier for me to find.

In short, since I get to re-engineer them for math, I would make them much like GoogleWave was. I think it would be essential to have a Math Editor in the form so we don't have to use images. The original Google Docs Equation Editor was awesome, you could type LaTeX or use the pre-populated buttons. 

4 years ago (I only know due to the age of my Youtube video), I used to take the source code of the Form and then host it on my own website and used a Math-type Gadget to have students enter math more easily. 

Here is a quick video of that process:

I think something along those lines are needed at minimum. 

I would love access to the Google Charts and Visualizations to create Graphs in forms.

I would also love some sort of Google Drawing space allowed so students could handwrite their work and it would link in the response spreadsheet. This would overcome the biggest issue with creating math digitally (the typespacing). 
I have been messing around with something like that as an Add-on, but the Caja Sanitation keeps limiting what type of objects I can use with HTMLService.

I used to love the GoogleWave bots that would interact with Wolfram so there was a hueristic-type matching possible to see if two math quantities were equal, like 4x, x4, 4(x), x(4), 4*x, etc...
I would love some type of capability like that at the end to verify solutions were correct, but I feel like that is a deeper level type thing. 

GoogleWave was amazing for Math and I ran all my classes on it by chaining Beta invites for an entire semester before it was depricated. It was pushing math interaction leaps and bounds....

My Workflow to create Individual Forms for students, automatically grade them, send them the correct solutions to missed problems, and record the results in their Grade Sheet.

tl;dr version: I create a problems in a Google Spreadsheet and then create a Form for each student. I have scripts that grade the Form Results, Total the Number Correct, Send an Email to the students with the Step-By-Step solutions to the problems they missed, and Recording the results in a student's personalized Grade Sheet.

Sample Spreadsheet that includes all of the scripts I use (you can make a copy to play around with everything):

Student Grade Sheet Sample where the results are pushed to:

Full Version: Part of the difficulty in giving assignments to students in my math class is the various levels of student ability in each class. Students are all different, bringing different math preparations into the classroom and different levels of motivation/work ethic. Assuming that all students will spend the same amount of time on skills assignments (there is a big difference between skill practice and other learning that goes on in my class via inquiry explorations) will lead to a lot of students losing focus or getting overwhelmed by the pace.
So, I have developed a workflow that allows me to give each student what they need as best I can.

Sample Spreadsheet that includes all of the scripts I use (you can make a copy to play around with everything):

Student Grade Sheet Sample where the results are pushed to:

Step 1: Use Mathematica to create problem sets and upload them to my Google Drive. I use Wolfram's Mathematica to create a lot of problems that are essentially the same level. This ways students don't always continue to get the same problems if they are working on the same skill over multiple assignments. I have also found that it makes them feel more positive about the assignment when they feel like it is personalized for them, that no one else has the same exact assignment. After creating the desired amount of problems (which I put in TeX form so I can later encode it for creating an image to insert into a Form), usually 20 or 50, and their corresponding solution, I export them in a .csv file. I import this .csv file into a Google Spreadsheet.

Step 1A: Use Mathematica's WolframAlpha Query function to pull the Step-By-Step Solution into an array to include with use in conjunction with my Google Spreadsheet. I export these Step-By-Step Solutions as jpegs and upload them to my Google Drive in a Folder called Step-By-Step Solutions with the problem in the title of the jpeg.

Sample of one of the Step-By-Step Solutions:

Step 2: Use custom formulas to get the data in the spreadsheet into the format that I like. I have a custom formula that will URLencode the TeX problem and another formula that RegEx's the TeX problem so it will be able to find the Step-By-Step Solution File in my Google Drive.

Step 3: Next I use a script I created to go through my Google Drive and find the URL of the associated Step-By-Step Solution for that problem.

Step 4: Now my questions are ready to be inserted into quizzes. I use a script to create a unique Google Form for each of the students in the spreadsheet.
This script will do 3 things:
1. Create 2 new columns at the beginning of the sheet for Form Creation and Email Sent Confirmation. This helps if the script times out for large class sizes or large numbers of problems (the script can only run for about 6 minutes before Google makes it rest). The script will create a new Form as long as the Form Created? Column is empty. This way you can create a new Form for only 1 student by deleting the confirmation and running the script again and only make 1 new Form.
2. Create the Form for each student and then write the problems that were chosen in the form along with their solution and the URL of the Step-By-Step Solution
3. Write in the Form Created? Column after it finishes creating the form.

Step 5: Send an email to the student containing the URL of their Google Form. It will write to the Email Sent? Column after successfully sending the email out. It will only send the email if the Column entry is blank. So, if you need to re-send the email you can delete the confirmation and run the script again and only send it to that specific student instead of all the students again. 

***One thing I want to add later is to get the email Subject from a popup window so it is not hard coded to the script.

Step 6: The students will work on the questions and Submit the Form

Step 7: This is where the magic happens. After the students have submitted the form, collect the student responses, grade them, total the number of correct answers, and send the student and email if I select that box.
1st attempt, with no correct answers:

2nd attempt, with an additional correct answer:

**The Grading part doesn't always work since the fractions are sometimes interpreted as dates and if they put the math in a different order. I am working on that, but it is not my main concern right now.**

One thing I like is that when the student is correct it makes the background of the student response cell green and if they are incorrect it is red to make a quick visual check. Also, it will only grade each form submission in sequence. This is nice when the student is correct on the 2nd or 3rd time to see the Red cells turn Green.

The email, if I choose to send it, will contain all of the Step-By-Step Solutions for the problems that the student missed. It will also only send the email to the students whose Email Sent? column is blank. **I should probably create a new column since this is a different Email that the URL, but I don't send them at the same time, so I kept it the same***

The email will have the URL of the Step-By-Step Solutions as well as adding them as attachments.

Step 8: Now I take these results and send them to the student's results spreadsheet. Each student has their own spreadsheet that collects the responses to all of the forms they fill out. I created these by using Doctopus and then share it with the student from there and put it in the Student's Assignment Folder that gClassFolders created so it is in their Shared With Me folder in their Google Drive. But then I delete the Doctopus Spreadsheet because my script gets confused and wants to write to that spreadsheet instead of the individual student.

The Student Grade Sheet before the Results are pushed:
And after the results are pushed:

Thanks for reading to the end and I hope you find these scripts and workflow useful. Please let me know if you have any questions! I am in the process of uploading my repository of questions/spreadsheets so they can be used. Look for a post with the details in the next few weeks.

Saturday, April 12, 2014

Google+ Ripples are super cool!!

tl;dr version: Have you seen the new (or is it new?) View Ripples on your Google+ posts?! From the dropdown menu on your post, click View Ripples to see a Graph of reshares of your post. Super Cool!

Full Version: So I was just going to send one of my science teacher buddies a link to a Google+ post about the Connected Classroom and from the dropdown menu saw this new thing: View Ripples.
So I went to one of my posts that has gotten some action lately and clicked on it and saw the coolest graph about who has shared it! Loving the graph and now I am thinking about how to integrate it into my math class!

The future of Math Education??

This blog post started out as a post about how I used my gMath and gGraph Add-ons to create a test, saving me a ton of time and allowing me to use Google Docs to do it instead of Mathematica (or Word, which I hate).

It unintentionally morphed into a philosophical rant about math education. I think because +Blair Peterson's blog post from ASBUnplugged has been sitting in the back of my brain for the past few weeks. I could add tons of links and write/rant/re-write for hours, but limited myself to 20 minutes.

I have a passion for including technology into math as I think it makes "real" math more accessible. I don't mean to imply that math we do in class is not real, it is just that most of the work we do in class to develop skills work out "nicely". The values are mostly positive integers and everything mostly works as it should. This is how it should be, since students are just get familiarized with the material so it falls within their comfort zones (positive integers are what they think is correct; they usually have trouble when the answer is not an integer as it feels "not right").
But I also have the mindset that students should be able to "get down and dirty with the math". Almost all problems will have answers that are not positive integers, so why should we focus on those that do and create the reality that this is what the math world looks like?

I generally teach coming from the viewpoint as a coach. There are basic skills for every sport that need to be acquired to have success, but the games or matches don't always require every skill. I have my soccer players practice striking the ball with both feet, but they can play in a match and have fun while only using their right foot.

  • Do I need to make sure they have all of the basic skills to be able to get into the match? 
  • Won't the fun of playing in the match motivate them to want to acquire new skills?
This second point is where the struggle in math education comes into play. We never let them get into the match. What I mean by the match in the math world is higher level math classes that are not Calculus. Calculus is great, especially if you are trying to predict where objects will land, but it is not the pinnacle of math as everyone believes. There are tons of great math topics that can be explored without having Calculus first. I love Discrete Math. You could teach Graph Theory to an elementary school student and they would be able to discover lots of cool things. Combinatorics problems are insanely hard, yet have basic entry level math pre-requisites so almost everyone can approach the problem.  
I love the groundbreaking that Hour of Code has done for bringing coding for everyone into the classroom. This is the model that Math should be using. Have students create cool fractal graphs by messing around with graphing recursive complex functions. Who cares if they understand the underlying math, let them WANT to figure out why it works early on. I hope the Computer Based Math Initiative takes off and everyone follows the lead of Estonia. 

Script that will add text from a spreadsheet cell to the end of a Google Doc.

I am in the process of trying to share more of the things I use in class and now that my daughter is 5 months old I have a few extra minutes in the day (emphasis on few :).

 +Eric Allatta asked a question in the Google Apps Scripts for Education Community that would add a new written prompt to the end of a Google Doc that he shared via Doctopus with his students.

Here is a spreadsheet that contains the script:

The testing target Google Doc:

**Note that the Student File Key is the part from the URL that is in the section preceding the /edit**  Doctopus puts this in the spreadsheet for you.

Feel free to play around with them and/or make your own copy.

This is an adaptation of a script that I wrote that adds a math question to the end of the Google Doc (it actually adds an image of a math question). I have a couple of incarnations of that script, including one that writes to the end of the document after the student submits a form response. This way the work is sequenced. I can send out the next part of the assignment to the student without having to send it to all of the students at the same time. I will blog more about those later, but wanted to share what I adapted for Eric in case anyone else was interested.

Thursday, April 10, 2014

gGraph Tutorial

I have had an overwhelming positive response to my gGraph Add-on. Thanks!! I had a request for a tutorial on how to use gGraph, so here it is (even though it is a little rough):

Youtube URL

Tuesday, April 8, 2014

Why you should use gMath and gGraph if you are a math teacher

tldr; version: gMath and gGraph Add-on scripts saved me a lot of time and gave me new functionality while creating my math test directly in a Google Doc.

Full version:
I will be the first to say that it is difficult to use math on a computer. The vertical and horizontal formatting of basic math items makes it difficult to digitally create math. Tools are constantly evolving and it is getting easier, but it is still not easy.

I love using Google Apps and want to use them to create all of my content if possible.

Until now, I used Mathematica to create my tests and quizzes since it took too long to click on the Insert Equation button every time I wanted to type some math. This is why I love (and why I created) the gMath Add-on (it is still in the publishing process so it is not in the Add-on store yet, you can create a copy of this Doc that contains the script: . I do know some LaTeX, so it makes my input easier, but I don't feel like the entry level is that high. The CodeCogs Equation Editor will tell you how to type almost anything you want and I am working on allowing you to save your favorite things to type to help make it faster.

Here is how it helped me create a problem with a set of 3 equations and 3 variables:

The other major component to my tests and quizzes were graphs and graphs of functions. I just made my first Algebra 2 test since I finished the gGraph Add-on (again it is not published yet and in the Add-on store so you can copy it in the gMath doc above or if you only wan the gGraph script you can copy this Doc: and it was awesome. I loved being able to create a system of 3 equations and then drag the problem into the document. It was simple to create a blank graph that I wanted students to graph on for a problem.

I probably saved 30 minutes by making my test using these two Add-ons. Now, I just need to work on allowing the students to answer the test digitally!

What am I thinking on how to do this for my next test??
1. Create a test in a Google Doc using these 2 Add-ons.
2. Distribute the test using Doctopus so the Scripts are already contained in the Doc (since the Add-ons are not published yet, this is the only way I can think of to get them to my students).
3. Instead of emailing them to my students using the Doctopus email, package them individually with the links in an AppleScript code that my Grade 6 coders developed that will only allow 1 window open when you are on the web (it closes all other tabs and windows automatically if they are opened).
***I have yet to test this with a class of students taking tests. The code works and it has been testing with a few students at a time. I will post on its efficacy in the coming weeks after implementing it!***
4. Grade the tests using a Doctopus Goobric. I am also toying with the new DriveApp that allows comments to be programmatically inserted inserted into Docs, since I make the same comments on a lot of the Docs (students repeat the same mistakes).

Monday, April 7, 2014

gGraph Add-on

tl;dr version: Here is my latest Add-on that really adds a lot of functionality to my students collaborating in the math classroom It allows them to add a graph to the Doc straight from a sidebar. Feel free to make a copy:

Full version:
One of the biggest things that has frustrated me with using Google Docs in Math is the Equation Editor is too lite and has drawbacks (see my post on my other possible Add-on) and the difficulty of graphs to the document. There are a lot of amazing graphing resources out there, my current 2 favorites are +Desmos and However, to add these elements to a Google Doc, you need to open the new window or tab and then take a screenshot and add as an image to the Doc.
To combat all of these steps, I created the gGraph script which I am in the process of trying to publish as an Add-on.

You click on menu and a sidebar will popup where they can enter their graph as an equation.
Clicking on the Preview Graph button generates the graph as an image on the standard Cartesian Coordinant Plane (from -10 to 10). You can then drag and drop this image anywhere in your document!

I am super excited about this and it has taken me a long time to figure out what is allowable from the HTMLService standpoint. Feel free to suggest any options you would like to see!