Closed retabak closed 2 years ago
TRUE
in all caps. It might also be valuable to encourage them to try NOT doing those things, and see what happens..build-column
method. :)cute
column for puppies and kittens, which explicitly requires the use of and
. I think that's a fine idea! But you may need to tell kids what and
is all about (and maybe or
, while you're at it!). This could also be part of the lesson text for Pyret as well.I've revised the "Displaying Categorical Data" lesson. @schanzer - do you want to take another look before @flannery-denny does? Some responses to your questions/ comments below.
Displaying Categorical Data
I've added a hyperlink. If more instructions are needed, let me know.
I changed wording and added a screenshot (which is awkwardly positioned; not sure how to fix that)._
Done.
Yes! Changed the order.
I added some additional teacher instructions (in "Launch") to address this. Options appear depending on which attributes have been selected (or not) for the X and Y axis._
I think they do - except for worksheets that include pie charts. I've deleted some pie-chart focused worksheets from the CODAPified lesson. There's a worksheet or two with just one pie chart, which I left for the time being_
Table Methods I ALSO started looking at "Table Methods," but wanted to run some questions by you, first. (Haven't yet made any revisions to this lesson.)
CODAP's default behavior is to change the table, not to create a new one. So, you're thinking the third question should be something like, "Can you think of a situation where CODAP's default behavior - to alter the table each time we sort it - would inhibit more sophisticated data analysis?" That feels weak; I bet you've got something better!
When working on this, I recognized that contracts appear out of the blue, but opted to leave it for now because I was thinking that contracts may need to be introduced alongside the design recipe. I'm still not sure where / when that will happen, or what it will entail. If you think I can just add a little section about contracts to this lesson and that will suffice - then I'm happy to do exactly that. Let me know.
Will work on remaining 3 lessons asap.
@retabak the changes look good! Thanks for turning them around so quickly. I pushed a small commit (c23041281) which uses asciidoctor "blocks" to wrap .lesson-instruction around multiple things. I'd recommend taking a gander just so you can use it in the future.
As for Table Methods:
@schanzer Updated Table Methods lesson! I think I responded to all feedback.
A few notes:
Random question: When I've added images, for some reason my computer is naming them ".PNG" rather than ".png" (like all the other image files we use). Is this a problem? I can go through and fix if needed; have only added 3 or so images at this point. (I think I should probably postpone adding images anyhow, because it's a bit of a pain in the butt; as I ask this question, I am recalling your advice to add them all at the end.)
@retabak
I think this is a fine place to start. Can you use a screenshot for which the range is something other than any
? This just happens to be the most confusing one of all. Maybe it would be useful to send them on a scavenger hunt as well: "find a transformer whose range is X..."? I pushed a fix for the numbered items, which requires (get this) asciidoc column format a
, which means "any asciidoc directives could appear inside this column". Check out commit cfffacc42 to see what it looks like.
yeah, I'd just remove this
It doesn't look like you removed the third question (about codap's behavior). Are you still planning to?
Filename capitalization will matter in some cases. Surely there's a way to tell windows to use lowercase extensions? What program do you use for images?
ALSO
When you're using directives like @ifproglang{}
, make sure you don't mix them in with content unless they are truly inline. For example, your latest commit added the following:
* Can you fill in the code for the other grouped samples? @ifproglang{pyret}{
* When you're done, type these definitions into the Definitions Area.}
The ifproglang
appears in the first bullet, but it has nothing to do with that bullet at all! I'd recommend the following instead:
* Can you fill in the code for the other grouped samples?
@ifproglang{pyret}{
* When you're done, type these definitions into the Definitions Area.
}
@retabak. Ask @schanzer to talk you through how to use directives to signal which part of the lesson is what you expect teachers to say out loud to teachers in lesson plans.
You are not using those distinctions so the formatting is inconsistent (lots of randomly bolded text) and it's easier to learn now than for us to go fix all of the pages later.
(I don't remember, but I could figure it out by looking at lesson plans I've worked on if he doesn't remember.)
One of us should add that information to the useful asciidoc commands file. Are you down to take that on?
Displaying Categorical Data -
Re: One of us should add that information to the useful asciidoc commands file. Are you down to take that on?
Yep! I'll take that on.
And, as you correctly observed, I was totally guessing about those directives/signals, so am grateful for the nudge.
@flannery-denny THANKS for the feedback! Sorry again about time lost trying to build these lessons.
I addressed and checked off 5 of your concerns - but wanted more feedback on the first two items. Let me know what you think.
Table Methods:
Introducing Function Definitions
Order Tables:
The sort method consumes a dataset to sort, a formula (“key expression”), an indication of the type the formula evaluates to, and a sort direction (ascending or descending).
RT: Lol, I stole this directly from the transformers documentation. (I noticed that in the one or two other instances where borrowed text, you had the same objection. I agree, however, it is a mouthful and not easily understood. I'm thinking maybe this is something for @schanzer and I to parse when we discuss the design recipe? Since SO many things are consumed, maybe we need to break down all of the things into categories of some sort? Not sure what the answer is here. Will keep thinking. Is there a way to visually clarify that the words "a dataset to sort" are one single input? In a Pyret lesson we use datatypes (capitalized) and then describe them. For example,a String (a dataset to sort) and a Boolean (true for ascending, false for descending)
.
I don't know whether we use datatype terminology with CODAP. I'm curious what @schanzer and @shriram would say here about how the language we use to describe datatypes in Pyret translate to CODAP? RT: There is reference to "type" among the things that the sort transformer consumers.
- In Pyret we would have introduced them already.
- In Pyret we would talk about write out the contract
<Table>.filter :: (test :: (Row -> Boolean)) --> Table
Building Columns:
@retabak Generally speaking, I am seeing a lot of bolding and highlighting of things in your lesson plans that don't follow convention (Not your fault! This is part of the learning curve, but I wish you'd gotten feedback on it sooner...)
Lesson formatting used to be really bananas. We made directives to standardize it across lessons and make it easy to adjust for our entire repository if we were to decide we have better formatting ideas down the road. Directives allow us to flag functions, new vocab words, directions to students, etc. Nearly all bolding and highlighting in lesson plans should happen through those directives. Some of them are described in the useful asciidoc commands file. Whatever would be useful to you to know about and isn't there should be added. Holler if you need help making sense of it and you and @schanzer don't discuss it in the other conversation about directives I suggested. I won't comment about it in the other lessons I'm reading - assume you will generalize this feedback and make use of it in all lesson plan files.
Chaining Methods
Design Recipe Practice
and
and or
but doesn't actually give instructions for using them. I would suggest offering one or two prompts that would actually have students open CODAP and implement what you're describing. RT: This also came right from the Pyret instructions, but were modified a bit using @ifproglang. I do think some instruction was provided - but apparently not enough! I have updated them to be more actionable/ specific.Chaining
Grouped Samples
Random Samples
@retabak. Done with feedback for now. Need to see how the other pages interplay with codap before giving more feedback on lesson plans.
The goal was to have Pyret and CODAP+T be highly compatible. The upper-/lower-case thing is a bit of a nuisance for sure. It's on my agenda to see what we can do about that. But we can use the same terminology for both; that way the transition to Pyret will be smoother ("remember datatypes? you already saw them…").
@retabak Is this issue ready to be closed or are you still working on something?
@flannery-denny Closing!
Looking for feedback on lesson content of CODAP Data Science Pathway!
I've collected some stray thoughts here.