Sunday, July 21, 2019

Learning CL: Day 3

Yesterday ended with a whimper. I became thoroughly confused and discouraged. Again. I think I've come to the end of the big picture explanations on the Desmos CL doc. The rest is a huge list of scripts that fascinate and terrify.

To keep track of open questions, I'm going to bold them.

Today I'm going to look at Jocelyn Dagenais's (@jocedage) Intro to CL collection that he very graciously shared with me on the train back from OAME this May.  By the way, OAME (Ontario Association of Math Teachers) puts on one heckuva great conference. Next year it'll be in Oshawa, and the lineup is just stellar.

Example 1:

Shows me one major advantage with CL, over using just the regular activity builder, is that on a single screen, you can have a graph AND an input, and the graph is not static - what the student types in the input immediately shows up on the graph. In the regular activity builder, that could only happen if the graph was the only thing on the screen, and students could get things to appear on the graph as usual with the Desmos graphing calculator. (The problem with that is that sometimes they accidentally got things to disappear too tho!) In activity builder, as soon as you'd add any other component besides the graph to a screen, the graph became static to the students. With CL, they can type their equation in the input box, and see the graph on the same screen, and there's no chance that they can inadvertently delete anything from the graph, which happened a lot.

In screen 1, there is a note (with instructions), an input (with the latex option selected), and a graph. They're all labelled - note1, input1, and graph1. The script is behind the graph:
I guess that since the script is in the graph's gearbox, that means that whatever source is specified in the script will automatically be linked to this graph? In other words, there's no need to specify that the input is the source? Is there ever?

Anyway, I get that the : indicates that the graph is something that will receive (bc it's a sink) data from somewhere else, and where it will receive data from is indicated by the "input1" part. The dot latex specifies the type of data. For the simpleFunction part, I looked back at the Desmos CL doc and found this under Functions:

Takes a latex string and returns a function which can, for example, be passed into the function sink of a calculator.The first argument is the latex string, and additional arguments are The names of the variables to treat as input variables (defaults to)one-variable function in terms of x if not specified 

So that explains why "simpleFunction" is there, it's giving instructions for what to do with the argument. (argument here must means what's in the brackets).  "The first argument" would be "input1" and that's what students are typing into the input box, which is being interpreted as latex bc Jocelyn selected that when he made the screen. This script says to put whatever the student typed in note1 into the graph, and graph it.

Did the graph and the note need to be labelled here? They're not referenced in the script. No they didn't - I just deleted those labels and all still worked.

Example 2:
Also has a graph and a note, but instead of an input, a table, labelled graph1, note1, and table1. The table allows for 3 different functions to be typed in, and so 3 functions to be graphed at the same time. The script is again behind the graph:
function("f"): simpleFunction(table1.cellContent(1,2),"x")
function("g"): simpleFunction(table1.cellContent(2,2),"x")
function("h"): simpleFunction(table1.cellContent(3,2),"x")
The "cellContent(1,2)" must be a data type and also point to that particular cell in table1. It's the source for which the graph is the sink. So I don't need to specify anywhere that this is a source, it's understood by the simpleFunction syntax I guess?

The x would be the "additional arguments" mentioned under "simpleFunction" above. Not sure why it's in quotation marks. This looks different not only because it's a table instead of an input but also because this time the latex wasn't selected by Jocelyn, although it doesn't appear to be an option anyway with tables? So the data type isn't latex. I don't understand why then, when I, as a student, type x^2 into the cell, it displays not as x^2 but in the proper superscript notation? Played around with a sandbox activity - each column of the table has a pull-down menu, where you can toggle between "format as text" and "format as math". The initial default is math.

I also noticed if I click on "edit graph" to see the actual graph (I'm in teacher mode), that the first 3 rows of the expression list have got f(x), g(x), and h(x)  typed in them, but the orange alert triangle is showing. If I remove those 3 rows, the graphs no longer show up when I type in a function as a student. Same is true of example 1, didn't notice that before. So in order to use the graph as a sink I need to label the row(s), kind of like the table cells were labelled.

Example 2.1:

Similar to previous example but allows for implicit equations, like conics, to be entered into the table cells. The script looks very different though:
eq1 = parseEquation(table3.cellContent(1,2))
eq2 = parseEquation(table3.cellContent(2,2))
function("f"): eq1.differenceFunction("x","y")
function("g"): eq2.differenceFunction("x","y")
The first 2 lines define variables eq1 and eq2 and they are whatever is typed into the table cells. Looked up parseEquation: 
parseEquationTakes a latex string, e.g. "2x+y=1" - and returns an equation object

While looking through the CL doc for "differenceFunction: I saw this:
Sometimes you only want students to be able to clear, not erase. Set this to false if that's the mood you're in.
They crack me up those Desmos folks. Ok so I differenceFunction says
simpleFunction representing for (lhs) - (rhs) of an equation. Useful for setting equal to zero to test or plot 
Sooooo hmmmm. This may be where I stop today. This must be what my students feel like when they say - I can follow when you do it Mrs, but I know I couldn't do it on my own. But it definitely helps to have these examples, and the CL doc list. Today was better.

I'm off to Austria for a week or so, and it's highly unlikely that while I'm there I'll be computation layering, especially as I'll be at a GeoGebra conference, and learning all kinds of GeoGebra stuff there.

No comments:

Post a Comment