Connecting educational applications and assessment platforms – xAPI for K-12

If you’re an activity provider in the K-12 space, here’s what you need to know in order to start using Experience API.

There are numerous applications that students can learn from and many assessment platforms that can help the teacher understand what the student is ready to learn next. This is a guide to moving formative data from various applications with the Experience API. This is a consistent way for many different assessment platforms to collect and make sense of activity that is notated with the Common Core State Standards (CCSS), heavily influenced by the CCSS metadata and identifiers project.

Here are some examples of real-world activities that have been modified to product xAPI statements, which parts of the activities send the statements, and some code examples of the actual statements:

  • TC Draw (What activities sends statements, what statements it sends and code examples)
  • Math Bingo (What activities sends statements, what statements it sends and code examples)
  • QuickTouch Math (What activities sends statements, what statements it sends and code examples)

How do I get started?

Being careful with student data, use an ID workaround for COPPA compliance.

Making the right statements:
Education Extensions – Using CCSS identifiers in your statements. Use these URIs: http://corestandards.org/assets/E0607_ccss_identifiers.csv

Statement examples with CCSS:

Connecting to an LRS:

You can sign up for your own LRS on SCORM Cloud, that’s the easiest way. Here’s how.

In connecting with an assessment platform, you should have a conversation with them about how the data will be reported to teachers. This is to help you make statements from all of the necessary places and for them to make sure your data is pushed into the best interface for the teacher to work with.

How to do all of this the easy way:

Here are the available software development kits:
To connect a web app, xAPI JS is available now (with .95 support)
To connect an iOS app, xAPI iOS is coming soon (with 1.0 support!)
To connect an android app, xAPI Android is coming soon (with 1.0 support!)
To connect .net, xAPI .net is coming soon (with ?? support)

Sample Statement (0.95)

{
    "id": "e9f54c88-7d59-41c2-84ec-714a10b40ea0",
    "actor": {
        "name": "cbfb2a63-7ad7-44d6-8",
        "mbox": "mailto:cbfb2a63-7ad7-44d6-8@quicktouchmath.com",
        "objectType": "Agent"
    },
    "verb": {
        "id": "http://adlnet.gov/exapi/verbs/answered",
        "display": {
            "en_US": "answered"
        }
    },
    "result": {
        "success": true,
        "response":"0"
    },
    "context": {
        "extensions": {
            "http://www.corestandards.org": {
                "primary": {"id" : "http://corestandards.org/Math/Content/1/OA/C/6",
                                     "name" : {"en-US":"Add and Subtract within 20"},
                                     "description" : {"en-US":"Add and subtract within 20, demonstrating fluency for addition and subtraction within 10."}
                }
            }
        },
        "contextActivities": {
            "parent": {
                "id": "http://quicktouchmath.com/game/sub/",
                "definition": {
                    "name": {
                        "en-US": "Game within a game"
                    },
                    "description": {
                        "en-US": "Game within a game."
                    },
                    "type": "../game"
                },
                "objectType": "Activity"
            },
            "grouping": {
                "id": "http://quicktouchmath.com",
                "definition": {
                    "name": {
                        "en-US": "Quick Touch Math"
                    },
                    "description": {
                        "en-US": "Exercises for Math"
                    },
                    "type": "../game"
                },
                "objectType": "Activity"
            }
        }
    },
    "timestamp": "2013-03-10T03:42:14.494Z",
    "object": {
        "id": "http://quicktouchmath.com/game/sub/9-9",
        "definition": {
            "name": {
                "en-US": "Math Interaction"
            },
            "description": {
                "en-US": "Specific interfaction info"
            },
            "type": "http://adlnet.gov/expapi/activities/cmi.interaction",
            "interactionType": "choice",
            "correctResponsesPattern": [
                "0"
            ],
            "choices": [
                {
                    "id": "http://quicktouchmath.com/game/sub/9-9/0",
                    "description": {
                        "en-US": "0"
                    }
                },
                {
                    "id": "http://quicktouchmath.com/game/sub/9-9/3",
                    "description": {
                        "en-US": "3"
                    }
                },
                {
                    "id": "http://quicktouchmath.com/game/sub/9-9/1",
                    "description": {
                        "en-US": "1"
                    }
                },
                {
                    "id": "http://quicktouchmath.com/game/sub/9-9/2",
                    "description": {
                        "en-US": "2"
                    }
                }
            ]
        },
        "objectType": "Activity"
    }
}