Thursday, July 14, 2016

Random Seating Chart

Behold! What might be my best programming accomplishment yet: something that other people have found value in. I call it 'RANDOM SEATING CHART'. It, um, does exactly what it sounds like. I'm not terribly creative with names, apparently.

So you have a roster of your class somewhere, presumably in a spreadsheet form. If not, put it in a Google Sheet (each class should get its own tab). Title the column with the student names "Student" (NO SPACES AT THE END. That caused problems with someone who tried this). Then...that's it.

Here is the script in a Google Doc:
https://docs.google.com/document/d/11oRDRoSPXE1jx4baDMfE0wbsfNF46Tk-s3M4UibueMU/edit?usp=sharing

Here are instructions for how to install a script into a Google Sheet (for a different script, but you can figure it out. I have faith in you) and assign it to a clickable button:
https://docs.google.com/document/d/1XqpwlkPN0r5JjXmTVsx9ctINa22-_x8bw_c4WDKt0kE/pub

Install the script and run it (I like to add a button with the script linked to it) and it'll randomize the students, then put them into a "seating chart" of whatever width and height you determine. The current version I'm running has it fill in the students vertically:

1 X X X
2 X X X
3 X X X
4 X X X
5 X X 
6 X X 

This is good for partner work, and you just determine how many groups you want, and it'll do the rest. Since the output is a new tab (format: "[Roster Tab Name] - Chart") in a spreadsheet, you can copy and paste to move students around if you need it. 

It also zebrastripes the output, making it easier to read and resizes each column to fit exactly the student's names.

Each time you run it you'll have to say how many rows you want (ideally, the number of groups), then the number of columns (and it will tell you how many you will need minimum to fit all students), then let you determine the size of the font output you want. You'll have to play around with it to figure out what's a good way to display it, whether its for you or for the students to see.

A good use of this is if you are calling on students. Make a 'seating chart' of the class just for yourself with it, then just work your way across and down the list. You're now random in who you are calling on, and you have the ability to skip over people that aren't there or you can't call on for any other reason. 

Equation Balancing Sheet

So I like the idea of a spreadsheet that students can use by themselves, without a teacher around, to practice a skill and check their answers. With that being said, I created an Equation Balancing Sheet in Google Sheets, so that students can practice balancing equations:
https://docs.google.com/a/isd622.org/spreadsheets/d/1hOZrpN9TlfmQPSg8W9p2ohpju6U7dW105mMtYxusttk/edit?usp=sharing

How it works:

  1. The boxes in yellow are where potential coefficients will go. It will not accept a 0 or a 1 for a coefficient (data validation accomplishes this). 
  2. When all of the coefficients for the equation have been entered, you select "yes" from the drop-down box. If the coefficients they entered match the coefficients I balanced myself (which are present in columns V-Z, though they are obviously hidden), the equation will turn green to indicate that they have it right. The equation will NOT turn green until they select the "check answers" box. The reason for the box is that I don't want the equation to 'magically' tell them they have it right the moment the correct numbers are entered (that might stop them from doing the counts themselves).
  3. They also need to fill in what type of reaction they have on the right side (Synthesis, Decomposition, Single-Displacement, Double-Displacement, Combustion) from the drop down arrow. If their answer matches my answer, it turns green. Otherwise, it turns red. 
Note: this isn't good for a homework assignment for points for a student. Why not? Its super easy to hack. And by 'hack', I mean 'unhide the cells with the answers'. Its meant to be a way for the students to practice their skills and be able to get instant feedback if they are right or not. If they're cheating on this, well, they're really only cheating themselves.

Any feedback on this is welcome - its an idea that popped into my head the other day and I threw it together in short order. I'd especially love feedback from my zero readers on how to improve the appearance of it. 

Add or remove subscripts in Google Sheets



Hello fans (do you use singular or plural when you have zero fans?)! Wrote a little script to add or remove subscripts in a Google Sheet.

I found this useful because I made an interactive equation balancing sheet and I was typing in a lot of chemical formulas, but getting tired of the fact that I had to keep copying and pasting the unicode characters for subscripts.

Here's the code for it:
https://docs.google.com/document/d/1ajGXGrvnxXNLgslz9MCE-6nUBsIoilAUJSu-Fq0eN2M/edit?usp=sharing

Example: H2SO4 gets converted to H₂SO₄. I also made another script that will de-convert back to non-subscript. The advantage to this is that you can search what you made, which is difficult with the unicode subscripts. You'd deconvert everything back to no subscripts, search for what you want, and re-convert it back.

Caution: this might mess with formulas you have in your sheet. 

A note about my programming skillz: I have none. I used a kludg-y method to deal with the coefficients (so that they are not subscripted) and I'm not entirely thrilled with it. It won't subscriptify anything with a coefficient between 0-39, but beyond that (which I've never seen, to be honest) it might get funky. So...have fun with that. Anyone with a suggestion for how to improve my regular expression code will get a free drink from me (note: 100% of the drink will be water, and you will have to procure it from your local water supply yourself).