Doenet Workshop 2026 Day 1 Reflection

:waving_hand: We will use this topic to share our thoughts about Day 1 of the workshop.

Things we’ve learned / things that are cool :ice:

  • Randomization – can easily create many versions of assignments!
  • Referencing variables $x
  • Use student input elsewhere in the interactive – the right answer can depend on student contributions (notation, graphs, other choices)
  • Structure/logic of accessibility concerns – presentation is separate from content! (semantic markup!)
  • Sharing mechanisms: share folders not just individual activities!

Things we want to know more about

  • What does the answer checker accept? (“simplified” or “rationalized denominator”)
  • Inequality testing, intersections between curves
  • randomizing among different functions, not just different number/letter values
  • Animation
  • Storing of student data, and student results
  • Porting LaTeX into Doenet
  • WebWorK with randomization – why port to Doenet?
    • Pedagogicial motivation/distinction – things you just can’t do in WebWorK

From some of the follow-up conversations in the lobby, there seemed to be strong interest in exploring how to create accessible dynamic activities.

In particular, it could be valuable to look at examples like building interactive graphs with manipulatives and user choices, as well as how labels and other meta-properties can be dynamically updated using the Doenet/React components.

This might be a nice opportunity for a breakout session that builds on the ideas already discussed and gives participants a more hands-on way to experiment with these concepts.

I heard at least some of this was covered in a working group today. Let use know if you want more exploration about this.

I’m not sure what inequality testing means. If it means testing if a number satisfies an inequality, the “advanced answering checking” formulation allows one to do that. See first example of this Advanced Mathematical Questions guide. If you want a student to respond to a question with an inequality, something like <answer>x < y</answer> could work.

Regarding intersections, we have an <intersection> component, but it has very limited capabilities. It works with lines, polygons and circles, but not much else. Eventually, we’d like to make that more capable, but that hasn’t gotten to the top of our todo list. Contributions always welcome!

This came up in a working group today. Our solution:

<select name="f">
  <option><function>x^2+1</function></option>
  <option><function>ln(x+1)</function></option>
  <option><function>sin(2x)</function></option>
</select>

After this, you can refer to this randomly selected function as $f.

Covered in a working group today

I know we’ll touch on the first one of these tomorrow. Suggest the second on as a potential working group if interested. We might touch on the third one on Thursday; we could also get into more detail in a working group.

Do let us know if there are other topics or questions you’d like us to address, either in the large group, a working group, or one-on-one!

The plan is to have a presentation on accessibility tomorrow afternoon. We could follow that with a working group on that topic if there is interest.

If you want to get a headstart, we have this accessibility concept guide that gives some of the motivating ideas behind Doenet’s accessibility efforts and this writing accessible activities guide for some direct recipes that you can use in your activities.