Topic outline

  • Early example - 03 Jan 2024

    • This is using a single set of data to power a range of connected tools.

      So what? This shows how we can make even more powerful use of content data. If we have a syllabus-linked topic, we can provide a link from our Scheme of Work or any other resource (Knowledge Check, Textbook, eBook, Mock Test, Resource Plus, Everyday Science ... anything) and give the user much more freedom to choose their mode of delivery.

      This example is embedded from https://moodle.sonsbeekmedia.nl/caie_test/mod/teachingtools/view.php?id=49
      When the user isn't logged in as an editor, the example below is a locked down content package - they can select any tool they want from the picker, and the content (plus background image) is shown.

    • How do we build such a page?

      • We need a single page that we direct teachers towards - link from the Scheme of Work or anywhere else that we want to make use of it
      • For each page we have a data feed - the topic feed
      • The teaching tool is embedded in current way - but the display content is then from the data feed
      • Whatever the teacher chooses, the tool changes but the same data feed supplies the content

      The available tools could be automatically set depending on the data set, but I also think there will be times when we want to decide which tools. For example, some tools are better with longer items (prioritise) vs other tools that use individual works (magnetic words). Even though the same data set could serve both tools, we wouldn’t want to,

      More likely - Cambridge defines the tool links on the page - a simple clickable/selectable item, and the embedded tool changes. 


    • Prototype showing how to present data feeds
    • 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?

      1. In the scheme of work, we give teachers direct links to a single page
      2. Within the 90+ page Biology Scheme of Work document, we include a link saying: “Use a Cambridge teaching tool to review this topic”
      3. Teacher lands on a custom webpage (could be Moodle, could be AWS)
      4. 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