# Bootleg Challenge Creator

**URL:** <https://cl.desmos.com/t/bootleg-challenge-creator/1134>\
**Category:** Examples\
**Tags:** aggregate, challenge-creator\
**Created:** [June 18, 2020, 10:09am UTC](https://cl.desmos.com/t/bootleg-challenge-creator/1134 "2020-06-18T10:09:38Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![cartr](https://yyz1.discourse-cdn.com/flex031/user_avatar/cl.desmos.com/cartr/32/122_2.png) [@cartr](https://cl.desmos.com/u/cartr)\
**Post date:** [June 18, 2020, 10:09am UTC](https://cl.desmos.com/t/bootleg-challenge-creator/1134/1 "2020-06-18T10:09:38Z")

</div>

Challenge Creator is a kind of activity where students can create a “challenge”, then attempt to solve challenges set by other students. But not everyone is allowed to make challenge creator activities – when I go to the [page for one](https://teacher.desmos.com/activitybuilder/custom/5c535b99ebf0100c06e5c808), the “Copy & Edit” button is greyed out with a message that the activity “uses features that aren’t publicly available”.

But can we recreate Challenge Creator using features that _are_ publicly available? It turns out that yes, we can, sort of!

> **[Bootleg Challenge Creator - Equivalent Ratios • Activity by ‮retraC ‬Sa‮edn](https://classroom.amplify.com/activity/5eea922bf27e6628406518f8)**
>
> A reimplementation of https://teacher.desmos.com/activitybuilder/custom/5c535b99ebf0100c06e5c808 that doesn't use the Challenge Creator. Instead, it's implemented entirely in Computation Layer.
> 
> Works best for classes with up to 20 students.

My version of Challenge Creator is implemented entirely in Computation Layer. It uses `aggregate` lists to store the numbers that make up each student’s challenge—in this case, the X and Y position of the point on the graph—and a Multiple Choice / Action Button combo to let students pick which challenge to attempt. (I also use `aggregate` lists to store each letter of each student’s name, which is unfortunately kind of slow and terrible because you need a big `when letter = 1 "a" when letter = 2 "b" ...` chain every time a name appears. If only `aggregate` supported strings…)

Anyway, this approach does have some pretty big limitations. In particular, my activity can only show 20 students’ challenges at a time, and students’ names are limited to 12 letters/spaces. It probably won’t replace Challenge Creator anytime soon 🙂

Here’s a class code if you want to try it out: [Join](https://student.desmos.com/join/2uvcs5)

---

<div class="post-metadata">

**Author:** ![cartr](https://yyz1.discourse-cdn.com/flex031/user_avatar/cl.desmos.com/cartr/32/122_2.png) [@cartr](https://cl.desmos.com/u/cartr)\
**Post date:** [June 18, 2020, 10:12pm UTC](https://cl.desmos.com/t/bootleg-challenge-creator/1134/2 "2020-06-18T22:12:59Z")

</div>

Haha, oops, I guess `aggregate` doesn’t include undefined values in the list. So now the names are a little funky – the list of second-name-letters has five items, but the list of third-name-letters has only four.

Here’s a class code that should fix this: [https://student.desmos.com/join/sbx8s6](https://student.desmos.com/join/sbx8s6)
