Thursday, December 6, 2012

Using FormEmailer to send custom emails to students based on responses

I love Google Apps for education! My favorite workflow is to use Google Spreadsheets/Forms to collect information from students (mainly responding to my math questions) and then have the Spreadsheet automatically "grade" the response and send a customized email back to the student.

Recently, I took a lesson from Yummy Math (who is awesome!) about the record Powerball drawing.

Here is how I implemented the lesson using the Google Apps for Education resources from my school site.

Yummy Math has great questions about the Powerball, so I utilized these as my framework. I embed them in my class Google Site, here is an example from my Grade 7 class:
I like Google sites for a lot of reasons, but the main one is the enhanced document capabilities. I can embed videos and interactive activites into my "worksheets". In this unit, I embeded a youtube video of the latest Powerball drawing (the one before the record). It was also helpful since I teach abroad and some of my students had no idea what the lottery drawing looked like.

By having them watch the video of the drawing, it makes the explanation of the premise of the problem much easier, especially for my EAL learners. In addition, it gives me a reference point to help scaffold my questioning to derive theoretical probabilities.  I can pause and ask them how many balls are left and how many of them are numbers they picked, helping them get the probability of them winning on the next ball.

I use the Google site subpages capability to create a break in the questioning. I have a lot of students who like to "power through" the questions if they are all lined up consecutively. By making them click to the next page for more (Powerball part 2 in the picture above), it at least creates another step for them to perform before moving on. Sometimes, I limit the Sharing capability so they can't see that subpage until I want them to (but I can prepare it in advance without worrying if they will see it or not).

So, I broke the assignment up into 7 parts, culminating with the Powerball Simulator as given by Yummy Math: 
My students LOVED running this simulator for days to see if they could win the jackpot. I had a few students who hit the $1million, but no jackpot winners. It was great to have them simulate for so long to see how much money they lost in the long run. 

The powerball Part 8 was where I got the most student buy-in. I embedded a Google Form in the Google Sites page that allowed them to "buy" an entry. They submitted their numbers and their "ticket" was created. I even closed the entries as the same time as the official Powerball drawing. (Which happened to occur right before our lunch time, making for great lunch discussion on the powerball and whether they were going to win the $479million).

How did I embed this? First I created the Form associated with it. (You can check this out in detail on my blog post from last year: Creating a Google Form.)

Once the Form is created, go to the live form and copy the URL from the live form. Then on the page that you want to embed the Form, click Insert->SpreadSheet Form (it is in the 2nd column on the bottom):
From there in the popup window, pick Forms:
You should see the Form you just created in the list and you just need to select it. You can edit the properties of how it will look in the Google site page. I like to leave the Width blank and then make the Height enough to get a view of the form.
Now once you hit SAVE, you will go back to the Site page you are editing and your Form will be in a greyed out box. 
You will see the final formatting of the form embed once you hit SAVE from the editing controls on the upper right of the screen.
Now your form will be embedded in the Google Site. Student responses that are submitted will automatically populate the associated spreadsheet.

This is where the power of FormEmailer will come in!

FormEmailer is a JavaScript script that was created by Henry Abreau (Info on formEmailer)
You need to install this script in your spreadsheet. Click on Tools->Script gallery...

Search the Public gallery for formEmailer and Install the first result:

Since FormEmailer is going to do some stuff on your Spreadsheet you need to Authorize it to do so.
After clicking on Authorize, a window will pop open confirming your response. Upon closing that, FormEmailer will be installed in your Spreadsheet and evident in the Tabs at the top.

Before you run the script the first time on your spreadsheet, you need to Install it.

This will create a new column all the way on the left called Emailer Status and a new sheet called FormEmailer. 
Now you need to create the email that will be sent based upon the data in the sheet. I wanted to email the students the confirmation of their chosen Powerball ticket. I clicked on the FormEmailer tab and chose Settings to popup the creation window.
The popup window is where I construct the email message with the "placeholders" that will be replaced by data from each of the student responses, in this case the numbers they chose for their Powerball entry.

Once I have constructed the message, I need to process the emails. I put my own data in the first row of data (row 2) to test out the email message.
So to process an email from row 2, click on the FormEmailer tab and Process Manually.
Here is the result in my Inbox:

With the following message:

I find this to be a powerful way to communicate with students with customized data!

My next post will be to detail the usage of formulas in the spreadsheet to "grade" the students and perform more complex tasks.

Tuesday, December 4, 2012

Creating a post template in Blogger to allow for native $\LaTeX{}$

Since I want to use a lot of math typesetting in my blog posts, I created a post template to include the MathJax script that will enable $\LaTeX{}$ tyepsetting in my blogposts.
This way I won't need to add the script in the HTML code for every post (as I detailed in this blog post).

First, go to the Blogger design page and hit Template:

Then, we want to add this script in the HTML code for the blog template at the appropriate spot:

<script type="text/x-mathjax-config">   MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}}); </script> <script src="" type="text/javascript"> </script>

Go to Edit HTML:

and then click on Proceed:
You should get a wall of HTML text for the template:
You want to enter the script in the <head> section, but put it last. So you want to enter it right before the end head symbol, </head>.
The way I find this is to hit Control-F (or Command-F on a Mac). This will enable the Find feature on your Google Chrome browser with a Find text box in the upper right corner of your browser window.
Type in </head> and it will highlight it in the HTML text:

On the line right before </head> paste the script for MathJax:

Hit Save Template, then Close and you will be back at the Blogger Design Page.

Now, you no longer need to enter the script on the HTML code of every post! The MathJax script will automatically run on every post, so you can just enter math preceeded by $\$$ or $\$\$$ (depending on whether you want inline math or not) and end it with $\$$ or $\$\$$. 

Using math typesetting in Blogger

I have been looking for a way to use math typesetting on blogger and the best way I have found so far is to use . Since I prefer to use $\LaTeX{}$ for my math typesetting, this allows me to enter the $\LaTeX{}$ commands in the HTML mode (all I need to do is surround the $\LaTeX{}$ code with a $\$$ before and after) and then MathJax will automatically render it for me and paste it in the Blogger post.

To enable MathJax to do this in my posts, I just enter the script in the HTML body at the top:

<script type="text/x-mathjax-config">   MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}}); </script> <script src="" type="text/javascript"> </script>

Quadratic Function Grapher

Below is a Wolfram .CDF that will allow you to graph a quadratic function of the form $y=ax^2+bx+c$ on the standard graph. Just enter the values for $a, b, \mbox{ and } c$ in the boxes below.


Monday, December 3, 2012

Linear Function Grapher

Below is a Wolfram .CDF that will allow you to graph a linear function of the form Ax+By=k on the standard graph. Just enter the values for A, B, and k in the boxes below.


Embedding Wolfram CDF files in a Google Site

I have been working a lot with Wolfram CDF and I am excited by the release of Mathematica 9 and the ease in creating and deploying CDF files. One of the best uses it to create interactive manipulations for my students to use.

I like to embed these in my school Google sites. However, this has proven to be quite difficult since Google sites do not allow Javascripts that create scripts (the CDF embed script that I talk about here: Wolfram CDF embedding ).

Hence, we need to resort to using the iframe gadget to refer to a different page that has the CDF embedded.

In my previous post on CDF embedding, I talk about how I host my CDF files in the Public folder on Dropbox. I then use the Javascript script to embed my CDF in my blogger page. This does a great job of hosting my interactive CDF file.
Now, I need to embed this blogger page on my Google site. However, I don't want to use the whole webpage in my iframe since it will require too much scrolling to find exactly what I want.

So the method I use is to create a target location right above my CDF file in the blogger page. I accomplish this by using the ID anchor in the HTML code on my blogger page.

For example, right above the CDF embed script on the html, I add the code:
<br id="MyBreakName" />

Then, I add the CDF embed script:
<script src="" type="text/javascript">
<script type="text/javascript">
var cdf = new cdfplugin();
cdf.embed('TheWebsiteThatHostsMyCDFdocument', 400, 800);

So overall that snippet of code looks like this for my Plot Points CDF:

<br id="cdfFile" />
Plot:<br />
<div dir="ltr" style="text-align: left;" trbidi="on">
<br /></div>
<script src="" type="text/javascript"></script>
<script type="text/javascript">
var cdf = new cdfplugin();
cdf.embed('', 443, 489);

Now, it will create an anchor for me to jump to and gives a link to directly jump there.
The link is whatever the blogger URL is to get to that page with an #anchorName appended on the end.
So in my Plot Points CDF example, the blogger site is:

Now, I created an anchor right above the Plot Point CDF on this page and called the anchor "cdfFile". To link directly to this point in my page, I use the link:

This is the link I will reference in my iframe URL in the Google gadget that I use on my school Google Site.

To do this, I find the place in my Google Sites that I want to enter the CDF file and Insert->... More gadgets...
from there, choose iFrame:

and put the anchored URL link in the box, in this example:

This will put the Google Gadget (in my case the iframe box, pointing to my blogger page with the CDF file) in your Google Sites page.

Once I hit the SAVE button at the top, I will see the finished product on my Google Sites page:

This is the best way that I have found to embed my CDF deployments in a Google EDU site. Please comment if you have some suggestions on how to improve it!

Plot Point CDF

Below is a Wolfram .CDF that will allow you to plot any point on the standard graph. Just enter the x-value in for a and the y-value in for b.


Thursday, August 23, 2012

First day of class

This year I feel like a new teacher again. I have been teaching for about 13 years (don't know if my college TAing counts as a full year, but I did do all of the planning, teaching, grading, and assessing so I count it ;), but I have never taught middle school classes. As I mentioned in my previous blog post, this year I will teach 6th, 7th, 8th, and 9th grade classes. Additionally, I will be teaching in the IB MYP! I have done DP classes before, but I am super excited about the inquiry part of the MYP and I am going to try to implement A LOT more fun projects and do A LOT less lecturing!

We have a rotating schedule where I see most classes for a double block totalling 80 mins, but I see the a few classes for 40 mins during a couple of our meetings.


My first day activities were stolen from some of my favorite Twitter peeps (even if they don't know it, you guys rock!), Sam Shah @samjshah, Dan Meyer @ddmeyer, and Kate Nowak @k8nowak.
Also, Sam's virtual filing cabinet has a treasure trove of resources that I like to pillage:

So I wanted to start off class getting to know the students so I tried to use Kate's snowball activity:
It totally bombed in my 9th grade class, they didn't even want to go pick up the papers they had so little energy. I really ramped it up for my 6th graders and they loved the throwing part but didn't love the "get to know the other students part". Some of them even cheated by throwing their papers to their friends so they didn't have to meet anyone new to introduce them. I even had one student, a girl, who picked up a boy's paper, found out which one he was, but he said "I don't like girls, so I am not telling you anything about myself". This led to a pretty weak introduction on her part.

Seeing that this activity was not working so much, I modified it for my 7th graders and had them write the same 3 comments but then I collected it. They were read aloud to the class and the class was supposed to guess whose paper it was. This created a lot more energy and I focused on the fact they were allowed to "shout" out the answer.

Activity Time

Following this get to know each other session, we played the "reverse auction game" to dive into the math content for each grade. Some info on this game from Dan Meyer:
and some cool extensions from Patrick Vennebush:

I modified the activity based on 1 of the commenters in Patrick's post and worked on different types of numbers while playing the game.

With 6th graders, I had them choose a positive integer, then an odd integer, then multiples of 3, then prime numbers, then perfect squares.

With 7th graders, I had them choose a positive integer, prime numbers, perfect squares, then perfect cubes.

With the 8th graders, I had them choose positive integers, then prime, then perfect squares, then perfect cubes, then triangular numbers, then back to perfect squares, then we developed the relationship between triangular and square numbers using differences. Using this idea, we then did pentagonal numbers. Continuing with this train of thought I had them make a conjecture about hexagonal numbers.

The 9th graders followed along the same lines as the 8th graders, but we moved to conjecture sooner and began to talk about formulas and general terms of a sequence.

Takeaway from the Activity

The main goal of the activity was to introduce certain types of numbers (while playing the game) to arrive at a point where they didn't know that type of number. (I also think figurate numbers are pretty cool and like to work a lot with them to develop relationships). I wanted the students to feel uncomfortable about their choice of number.

The rule I made was that I would not answer any questions before we played each round. If I a student said "What is a prime number again?"
I would say: "We will talk about it after this round. If you are not sure, just guess."

I wanted to ask them a question where their answer was wrong (unless they were a great guesser) and make them answer in front of the whole class. I told them beforehand that this was part of my goal to help develop a safe learning environment, free from judgement and embarrassment. This worked well because some kids hit that wall sooner than others, but eventually they all did.

This was the most important part of setting up my class environment and going through the game made it a more fun and less stressful environment to be wrong. The best part was we would talk about the type of number after each round, then go back and see which numbers were allowed and determine the winner. Many times, the number that would have won (by being the lowest) was not allowed and we moved on to determine the correct winner. Then, I would play the exact same round again and the students would quickly see that they learned something and were able to apply it.


I really liked the activity and how it accomplished two goals:
1. It setup the classroom environment for the year in a stress-free manner.
2. It allowed me to transition into teaching material quickly, while still "feeling" like a first day of class.

I will definitely try to keep this theme throughout the year and post about how it goes!

Tuesday, August 21, 2012

Return to Blogging

So I started this blog a while ago (March 2011 to be exact) because I was giving a talk to the other faculty members at my school about how awesome Aviary is and the associated Google Chrome extension.
I didn't update it again until December!!
Then I started a series of posts to show how I create custom comments and send out emails to many sources based on Google Doc Forms. (An awesome way to create customized student comment based on a variety of factors. I hope none of my former administrators are following this blog!)
I never finished them since I found an easy script to do it.
Then I started making a lot of posts once the WolframCDF player came out because I had a web outlet for the trove of Mathematica lessons I have created over the years.
That also was a hit and miss campaign.

Now, some of my favorite Twitter peeps are trying to get more math teachers blogging about their classroom and running a "hazing" program that I volunteered for!

And....I didn't do the first post on time.

Now in my defense, I just moved halfway around the world (again!) for a new job at a brand new school where the building was finished the day before students came AND I am now teaching 6, 7, 8, and 9th grade math!! The youngest classes I have taught before were 8th grade honors students in my Geometry classes, so I am in for a big change.

No longer am I looking for great extension problems for my Linear Algebra students or making Mathematica demonstrations for my Honors Calc kids. I am going to be trying to keep a bunch of middle schoolers excited about math.

I need to be more organized and this blog is going to help me follow through on that...starting now!
I just did my first day activities based on some great ideas I stole from a bunch of great teachers, I will blog about it soon, so tune in to see if you were stolen from (I will give credit and links ;)!!

Tuesday, February 28, 2012

Plot of a Number versus the Number of letters in the Number

Testing to see the output of my Mathematica notes deployed as CDF. Trying to determine the functionality of all aspects. You do need to have the WolframCDF player installed to see the dynamic features (it is free), which is found here:

Here is a response to Dan Meyer's Tweet:

Sunday, February 19, 2012

Normal Distribution Area Calculator

Testing to see the output of my Mathematica notes deployed as CDF. Trying to determine the functionality of all aspects. You do need to have the WolframCDF player installed to see the dynamic features (it is free), which is found here:

In the interactive demonstration below, you can calculate the area between two values in a normal distribution given a mean and standard deviation. There are some limitations of the CDF deployments (you can't input values) so the dropdown menus have a lot of values!

Tuesday, January 31, 2012

Circular Functions

Testing to see the output of my Mathematica notes deployed as CDF. Trying to determine the functionality of all aspects. You do need to have the WolframCDF player installed to see the dynamic features (it is free), which is found here:

Testing deployment of CDF files that require user input and use Manipulate

Testing deployment of CDF files that require user input and use Manipulate

Motivating Trig Identities

Testing to see the output of my Mathematica notes deployed as CDF. Trying to determine the functionality of all aspects. You do need to have the WolframCDF player installed to see the dynamic features (it is free), which is found here:

Notes on Graphs of Sines and Cosine in CDF format

Testing to see the output of my Mathematica notes deployed as CDF. Trying to determine the functionality of all aspects. You do need to have the WolframCDF player installed to see the dynamic features (it is free), which is found here:

Thursday, January 5, 2012

Chapter 4 MC Question Generator

Here is a CDF file that will generate multiple choice questions for a Chapter 4 review. You can choose the type of problem that you would like to do and it will randomly generate new problems for you.

You do need to download the Wolfram CDF player (it is free) which can be found here: