Monday, July 8, 2019

Boss Battles with Google Forms and Sheets - An Update



I spent most of the last summer creating Boss Battles for my gamified classroom. Throughout the school year, I also shared with you a couple of tweaks I made to those original sheets, adding "first hit and first perfect hit", and then adding "shiny bosses".  My students really got into this whole idea of battling the bosses and I was really happy with the excitement they generated.

A couple of days ago, I began the painstaking process of clearing all of this work out in preparation for the new school year. While I would have loved to use them as they are, they no longer fit the game narrative that I am exploring for the upcoming year, plus, I reused Bosses across my grade levels. While this may not be a problem for most teachers, it is for me because I loop the students, so most of them would be re-battling the same bosses they already know. Perhaps they would not remember, but all it would take is one of them to check their student sheets (where the bosses are displayed), and the excitement of getting collecting the boss would be diminished. 

With all of this in mind, I started creating new bosses - we will be rescuing scientists - and clearing out the old forms/sheets tweaking the originals a bit, which is what I am sharing today.

Boss Battle Form (will auto copy)  - I have dummy-filled it with some data so that it is easier to explain. If you make a copy simply delete all the prefilled contents of "form responses 1"

Boss Sheet


While it looks basically the same, there are important things to note. 
  • Column L contains each of the Boss possibilities. Each is its own drawing (published to the web) and placed into the cell using 
=image("published address of your google drawing")
You may be tempted to make use of the new "insert image in cell" function. Don't. You will be calling the images into the boss battle pane and into the scores sheet. Google Sheets does not recognize images insterted that way as actual objects so until they fix that what will happen is that you get blank instead of the image you want to display.

  •  Cell F15 now contains a new formula:
=index('Form Responses 1'!$B:$B, match(true,isnumber(search("/",'Form Responses 1'!$A:$A)),""))
This formula looks at the timestamp looking for the first appearance of the slash symbol (/) in Form Responses 1 column A and reports the  matching contents of column B in the same sheet. This formula solves the problem of having to change cell references as the sheet is populated the first time around.

  • Cell F16 contains a similar formula:
=index('Form Responses 1'!$B:$B, match(true, 'Form Responses 1'!$C:$C=12, 0))
In this case, it matches the contents in column B with the first time the "perfect score" of 12 is achieved, and of course that can be changed to whatever number you is your "perfect score". 

Perfect Sheet

That sheet simply reports the contents of first hit and first perfect hit and assigns them a value. I bring that into my leaderboard using the Vlookup function as a way to give students an added incentive.
Formula that imports this into your leaderboard:

=IFERROR(VLOOKUP(A17,IMPORTRANGE("Boss Battle Google Sheet Identifier","Perfect!A:B"),2,0), 0)

Where the number 2 is the column number where those "extra points" are housed.
If you are interested in the Vlookup formula as it pertains to the leaderboard, visit my post "Assign XP automatically using Vlookup - Google Sheets"

Scores Sheet - AKA Where the magic happens


As originally, this is a pivot table that aggregates the data generated first by adding all the scores each student generates (Column B - Sum of Scores) and then by reporting the maximum score the student obtained (Column C - Max Score).

Column D (Counts the number of times a student achieved a Perfect Score)

I've been toying with the idea of having students "catch/rescue the Bosses". This collecting of the bosses had a great impact in engaging students to attempt the quizzes multiple times throughout a semester, regardless of whether it is an official Boss Battle day with the whole display of the Boss. In order to achieve this assigning of bosses I first needed to know how many times a student scored a perfect score. To do this, I added a Calculated Field to my Pivot Table:

If you click anywhere inside the already populated pivot table, the Pivot Table Editor opens. This already had the score summarization by SUM and by MAX.

The Times Perfect Score was added using by clicking Add values and selecting "calculated field". The formula is simply a COUNTIF, though you notice that the normal use of the quotations is eliminated.

=COUNTIF (Score, 12)

The number 12 obviously corresponds to the "perfect score" in this particular case and could be changed to whatever suits your needs.

If you are recreating your own, also make sure that you select Summarize by Custom and Show as Default.

That got me the number of times a student got a perfect score. You may be wondering why this was important. The answer is that I did not want to give out the Boss simply based on the number of points. My students are notorious for finding the easy way out and often would rather take a quiz 100 times scoring 1 each time than getting 100 the first time.

Column F (Where the Shiny Bosses come in)

With that number of "perfect scores" aggregated by student, it was time to move on to the "catching/rescuing" of the boss.

When working to pivot tables, you can still add formulas to the columns that are not being used by the pivot table itself. I added a title to Column F and called it boss obtained. To give the illusion of randomness to the catch, I decided on the following formula

=IF(D2>=10, Boss!$L$9, IF (AND(D2=9), Boss!$L$8, IF (AND(D2<=8,D2>=6),Boss!$L$9, IF (AND(D2<=5,D2>=1),Boss!$L$8," "))))

which gives the Boss in Cell L9 or L8 of the Boss sheet depending on the number of perfect scores. You would think that you could use the RAND (random) function, but unfortunately, it is what is called a volatile function, which means it refreshes each time and I did not want students to have a new boss catch simply by opening the sheet.

The formula is just copy/pasted down through the sheet so that each row gets its own student reference. The results of this column are again imported to my Leaderboard using VLOOKUP as mentioned in Perfect Sheet above. The key here is to remember that VLOOKUP references the column number:

=IFERROR(VLOOKUP(A2,IMPORTRANGE("your sheet identifier","scores!$A$2:F"),6,0), 0)

where the initial A2 - is what it is looking for (e-mail of my student),
"scores!$A$2:F"- the sheet and range where the data is housed
6 - really column F where the bosses caught were "assigned"

Column E - Maximum Possible Score: the end to "grinding"

Last year, some of my students greatly inflated their leaderboard standing by retaking boss battles over and over again. While in principle this would be OK with me, there is a point where enough is enough. I know that I can simply close the form, but that leaves the student who may need the extra practice out of the loop, and opening and closing a form manually means that I must remember to do so. Taking this into consideration, I opted for writing in a formula that reports a set number of points out to my leaderboard (again with the VLOOKUP formula) to my leaderboard once the maximum is reached.

=if (B2>40, 40, B2)

Looking at the formula, it simply reads if the contents of cell B2 (where the scores are added is greater than 40, report 40, otherwise report the number present in cell B2. The formula is copied down Column E.

That is it for today. I hope this inspires you to keep working on your leaderboards and perhaps make some additions or modifications. And as always a big shout-out to Mr. Powley who although has moved on to standards-based grading and may be letting go of the Dread Sheets inspired this whole Boss Battle process.


Thursday, July 4, 2019

Embed a Live Google Slide into a Google Doc




This post falls under the "How did I not know this before" category...

Over the last few days, I have been updating my 8th-grade waves unit and will be using this performance task I found online. As I was working, I was going back and forth between the document and a slide deck "template" that I want students to use as a guide to organizing their work. My students tend to lose track of things so this was my way of ensuring that once they got to the end of the task they had everything they needed. Anyway, long story short I placed the document, which is rather long, into my preferred delivery site (WIX) and embedded the slide deck but was not particularly satisfied with the way it looked. I needed side by side and rather specific placements.
I definitely did not want to just give access to the slide deck since I know that my students would just make a copy of the template and use that instead of going through the instructions. I also did not want to add all the instructions to the slide deck. So then I decided that I wanted to add the slide deck to the instructions document.

I know that I could take a screenshot of the slides I wanted to reference and then link them, but while searching I came across the absolute easiest way of doing this:

How to Embed a Google Slide Into a Google Doc

1. Open your Google slide deck.

2. From the left side panel, click and select the slide you want to add to your Google doc. Go up to Menu and select Edit > Copy.



3. Open the Google Doc where you want your slide to be. Place your cursor in the location in the document where you want to add the slide.

4. Go up to the menu and select Edit > Paste

5. Choose "Link to presentation" to make it an active link.


Google docs will treat this as any other image, so you can resize, add borders, crop to shape or whatever you want. The absolute beauty of this is that the link not only directs the user (my students) to the specific slide, but also any changes made to the slide in the slide deck are updated in the doc by just clicking on update. You can see how this worked in the document I was talking about before:


I am thinking that this little trick can be used for hyperdocs, instructables or even lab reports. What do you think. What other uses do you see?