Feeds as a data source
Challenge.
- We have extensive and detailed Schemes of Work (medium term lesson plans). These are focused on a full subject - such as History, Chemistry, Economics - and are then divided up into topics linked to that subject
- Our examiners and authors write resources to help learners review and revise materials. We are adapting these to give us word lists, definitions, mini quick questions, images, and other items that will be ideal for Teaching Tools
- The challenge is that we want to allow teachers to decide and choose tools that best fit their needs. We also need to deliver the content at scale - potentially 100s, or even 1000s of tool topics
- We want to include references to the tools and give teachers locked-down pre-prepared versions
Solution?
- In the scheme of work, we give teachers direct links to a single page
- Within the 90+ page Biology Scheme of Work document, we include a link saying: “Use a Cambridge teaching tool to review this topic”
- Teacher lands on a custom webpage (could be Moodle, could be AWS)
- Page shows:
- Cambridge Logo
- Topic
- Available tools for this topic
- Embedded teaching tool - fixed
If the teacher clicks any of the teaching tools in the ‘available tools’ the embedded tool changes, but displays the same data.
How would the data feed work?
Across the tools, we need to find a way to reduce the number of different data sets. We should end up with a few different data sets - keeping things as simple as possible.
These would be:
-
[1] Individual data items - list of names, topics, words, phrases
Spinner, Names from a hat, Drag and drop, Hexagons, Diamond 9s, Flip cards, Swipe, Prioritise, Activity generator, Starter selector, Name selector, Magnetic words, Activity dice
-
[2] Basic question - question|answer|additional answer(s)
Flip cards, Match-up, True or false, Drag and match, Slide to answer, Quick quiz
-
[3] Image data - stored image data
Image compare, Image reveal, Spotlight, Scratch away
-
[4] Custom - individual items
Question spinner, Timer, Submit & Compare, Group Maker, Where in the World, Shape generator, Timeliner, Think-Pair-Share, Higher or lower
To make this work, we’d need to develop some of the tools to make intelligent use of a data set - such as ignoring additional data when it isn’t relevant.
The feed will mostly be used for Individual, Basic question, and Image data
Every tool needs to use one of these formats:
[1] Individual data items / itemlist
Based around
"Itemlist":["item1","item2","item3","item4","item5","item6","item7","item8"]
Plus other common data - if it is relevant to the tool that calls on the data, it shows, if it isn’t, it gets ignored
,"storeconfig":[],"imagefields":[],"background":false
[2] Basic question
Based around
"itemlistCustom":
["When were teaching tools available to Cambridge teachers?|May 2023|January 2023|August 2023|March 2023|1",
"How are the teaching tools powered?|Java|ActionScript|Python|JavaScript|4",
"How do I edit and add my own questions?|Press Create|Reload the page|Press Edit|Press Start|3"]
But I think we need to make this even simpler - so rather than storing the correct answer variable, we instead always have the correct answer stored first. This would allow us to use the data in as many tools as possible:
"itemlistCustom":
["Question|Correct|Incorrect|Incorrect|Incorrect",
"Question|Correct|Incorrect|Incorrect|Incorrect",
"Question|Correct|Incorrect|Incorrect|Incorrect",
"Question|Correct|Incorrect|Incorrect|Incorrect"]
Plus other common data - if it is relevant to the tool that calls on the data, it shows. If it isn’t relevant to the tool, it gets ignored.
,"storeconfig":[],"imagefields":[],"background":false}
Would this work for every one of these quiz-like tools?
- Flip cards - Uses just question, answer - ignores incorrect answers
- Match-up - Problem - could work, but this needs question, answer - the feedback item, plus link item data will confuse a feed. But might this just use question, answer - no feedback or link with a data feed item?
- True or false - Problem - don’t think this one will work - it needs question and then true/false
- Drag and match - Uses just question, answer - ignores incorrect answers
- Slide to answer - Uses question, answer - ignores incorrect answers
- Quick quiz - Uses the full data - question, answer, incorrect answers
[3] Image data
Based around:
{"tool":"imagecompare","itemlistImages":[],"storeconfig":{"imagecompare-startposition":"0",
"imagecompare-title":"What differences can you identify between 1989 and 2019","imagecompare-direction":"horizontal"},
"imagefields":{"imagecompare-before":{"content":"....Image data
and
{"tool":"imagereveal","itemlistImages":[],"storeconfig":{"rows":false,"columns":false,"randomclick":false},"imagefields":{"reveal":{"content":"....Image data
and
{"tool":"spotlight","itemlistImages":[],"storeconfig":{"radius":"10","animate":true,"speed":"55"},
"imagefields":{"searchimage":{"name":"A_v_Werner_-_Kaiserproklamation_am_18_Januar_1871_(3._Fassung_1885).jpg","type":"image/jpeg","content":"....Image data
and
{"tool":"scratchaway","itemlistImages":[],"storeconfig":{"brush":"circle","brushsize":"74","scratchcolor":"#ff0000"},
"imagefields":{"foreground":{"content":"....Image data
The challenge with these is that each image data format is slightly different - can we find any consistency? Might we be able to store the tool attributes within the tool itself if there is a feed (or we just have default attributes that are used) and we just call on the image data…
Each of the image tools has a core image, some of them have a secondary image. Is there any way we could have a basic, simple image setup, and then the extra items are somehow included?
For each of the image items there are very specific references - such as starting point of a draggable slider. Like the request for the ‘basic question’ data feed, could we include that data but it gets ignored by the tool if not relevant?
Maybe somehow stripping the data down to something as simple as possible:
"itemlistImages":[],"imagefields":{"image":{"content":"....Image data
This gets used for all of the image-based tools
Additional data is available in the feed if additional images are required
We maybe also don’t need to store the image as a data file - could the image be an image reference to a stored file?
So the feed becomes:
"itemlistImages":[],"imagefields":{"image":{"content":”https://imagelocation”},
{"image":{"content":”https://imagelocation”}
How the data feed would work?
- Image compare - uses both images from defined location
- Image reveal - uses first image, ignores second
- Spotlight - uses first image, ignores second
- Scratch away - uses first image, ignores second
What about the configuration data? Some of these are really important - such as where the image compare start position is - but others are less important - such as how many cells or the speed, or the setup. For a feed, perhaps again we could pick which are items which are important enough to be defined, and then ignore other items which can be loaded with their default settings
For images, I think it is - imagecompare-startposition, imagecompare-title, imagecompare-direction, radius, brush, brushsize
We develop a data feed that includes all of this, and the tool makes use of it if it needs to. So the data ends up looking something like:
"itemlistImages":[],"imagefields":{"image":{"content":”https://imagelocation”},{"image":{"content":”https://imagelocation”},
“storeconfig:{"imagecompare-startposition":"0","imagecompare-title":"Title text",
"imagecompare-direction":"horizontal", "radius":"10","brush":"circle","brushsize":"74"}
[4] Custom
These are the tools which require a unique data format - if a data feed is required, they’d need a unique data feed each time