Instructions for Submitting Smart Learning Contents to the SPLICE Catalog

Follow the step-by-step guide below to prepare, format, and submit your Smart Learning Content (SLC) items, tools, or datasets for inclusion in the SPLICE catalog.

1

Prepare Your Data as one of the following

To contribute to the SPLICE Catalog, categorize your Smart Learning Content (SLC) into one of the following types:

  • SLC Items Catalog
  • SLC Tools Catalog
  • Dataset Catalog

Each type has a specific JSON format. Below are examples and field descriptions for each category:

SLC Items Catalog

A collection of Smart Learning Content (SLC) items should be described as a series of JSON records, each formatted as follows:

{
    "catalog_type": "SLCItem",
    "persistentID": "...",
    "platform_name": "...",
    "iframe_url": "...",
    "license (optional)": "...",
    "description": "...",
    "author": ["...", "..."],
    "institution": ["...", "..."],
    "keywords": ["...", "..."],
    "features": ["...", "..."],
    "title": "...",
    "programming_language (optional)": ["...", "..."],
    "natural_language": ["...", "..."],
    "protocol (optional)": ["...", "..."],
    "protocol_url (optional)": ["...", "..."]
}

Field Descriptions:

  • catalog_type: The type of catalog, e.g., "SLCItem".
  • persistentID: A unique identifier for the SLC item, must be included to update existing entries.
  • platform_name: Name of the platform offering the SLC item.
  • iframe_url: URL of the SLC item.
  • license: Content license (optional).
  • description: Brief description of the SLC item (optional).
  • author: Author of the SLC item (optional).
  • institution: Institution associated with the SLC item.
  • keywords: Relevant keywords.
  • features: Relevant features.
  • title: Title of the SLC item.
  • programming_language: Programming language of the SLC item.
  • natural_language: Natural language of the SLC item.
  • protocol: Any protocols the SLC item supports.
  • protocol_url: URLs for any protocols the SLC item supports.
SLC Tools Catalog

Describe tools that support Smart Learning Content using this format:

{
    "catalog_type": "SLCToolsCatalog",
    "platform_name": "...",
    "url": "...",
    "description": "...",
    "license (optional)": "...",
    "interface (optional)": "...",
    "contact_email": "..."
}

Field Descriptions:

  • catalog_type: Type of catalog, e.g., "SLCToolsCatalog".
  • platform_name: Name of the platform offering the tool.
  • url: URL of the tool.
  • description: Brief description of the tool.
  • license: Content license (optional).
  • interface: Standards supported by the tool.
  • contact_email: Contact email for the tool provider.
Dataset Catalog

Describe datasets available for Smart Learning Content with the following JSON format:

{
    "catalog_type": "DatasetCatalog",
    "publisher": "...",
    "resource_url": "...",
    "resource_url_type": "...",
    "bibtex_source": "...",
    "title": "...",
    "creator": "...",
    "given_name": "...",
    "family_name": "...",
    "name_identifier": "...",
    "affiliation": "...",
    "availability": "...",
    "format": "...",
    "programming_language": "...",
    "data_collection_start_date": "...",
    "data_collection_end_date": "...",
    "publication_year": "...",
    "number_of_semesters": "...",
    "data_protection": "...",
    "data_type": "...",
    "measurement_type": "...",
    "data_processing": "...",
    "population": "...",
    "units_number": "...",
    "task_number": "...",
    "sample_size": "...",
    "sample_demographics": "...",
    "country": "...",
    "educational_institution": "...",
    "data_standard": "...",
    "learning_environment": "...",
    "aggregation": "...",
    "aggregation_level": "...",
    "related_publication_url": "...",
    "related_publication": "...",
    "rights": "...",
    "description": "...",
    "research_question": "...",
    "future_work": "...",
    "fairness_score": "...",
}

Field Descriptions:

  • catalog_type: The type of catalog, e.g., "DatasetCatalog".
  • publisher: The organization or individual that published the dataset.
  • resource_url: URL where the dataset can be accessed.
  • resource_url_type: Type of resource the URL points to.
  • bibtex_source: BibTeX citation source for referencing the dataset.
  • title: Title of the dataset.
  • creator: Author of the dataset.
  • given_name: Author given (first) name.
  • family_name: Author family (last) name.
  • name_identifier: Unique identifier for the author (e.g., ORCID ID).
  • affiliation: Institution or organization the author is affiliated with.
  • availability: Availability status of the dataset.
  • format: File format of the dataset.
  • programming_language: Programming language used for data collection or processing.
  • data_collection_start_date: Start date of data collection.
  • data_collection_end_date: End date of data collection.
  • publication_year: Year the dataset was published.
  • number_of_semesters: Number of semesters included in the dataset.
  • data_protection: Information on how the dataset ensures data protection and privacy.
  • data_type: Type of data collected.
  • measurement_type: Type of measurements represented in the dataset.
  • data_processing: Description of data processing or cleaning procedures.
  • population: Description of the population represented in the dataset.
  • units_number: Number of items in the dataset.
  • task_number: Number of tasks or activities included in the dataset.
  • sample_size: Size of the dataset sample.
  • sample_demographics: Demographic characteristics of the sample.
  • country: Country where the data was collected.
  • educational_institution: Educational institution associated with the dataset.
  • data_standard: Data standards or schemas followed in the dataset.
  • learning_environment: Type of learning environment represented.
  • aggregation: How the data has been aggregated.
  • aggregation_level: The level at which the data is aggregated.
  • related_publication_url: URL to a related publication describing the dataset.
  • related_publication: Title or citation of a related publication.
  • rights: Licensing or rights information associated with the dataset.
  • description: Brief description of the dataset and its contents.
  • research_question: Research question(s) the dataset addresses.
  • future_work: Suggested directions for future research using this dataset.
  • fairness_score: Metric of usability of the dataset.
2

Submit Your JSON File to SPLICE

Once your JSON file is ready, you have two options to submit your Smart Learning Content (SLC) to the SPLICE Catalog:

  1. Upload Directly: You can upload your collection of any SLC type directly using our submission portal. here.

We look forward to your contribution to the SPLICE Catalog!

Examples

Here are JSON exports examples for an OpenDSA, SLC item submission, an OpenDSA tool submission and a Dataset submission:

{
    "catalog_type": "SLCItem",
    "platform_name": "OpenDSA",
    "iframe_url": "https://opendsa-server.cs.vt.edu/OpenDSA/Exercises/Background/IntroSumm.html",
    "persistentID": "https://opendsa-server.cs.vt.edu/OpenDSA/Exercises/Background/IntroSumm.html",
    "protocol_url": [
      "https://opendsa-server.cs.vt.edu/lti/launch?custom_ex_short_name=IntroSumm&custom_ex_settings=%7B%7D",
      "https://opendsa-server.cs.vt.edu/OpenDSA/Exercises/Background/IntroSumm.html"
    ],
    "protocol": ["LTI 1.1", "SPLICE"],
    "license": "https://github.com/OpenDSA/OpenDSA/blob/master/MIT-license.txt",
    "description": "Data Structures introduction battery of self-assessment questions.",
    "author": ["Cliff Shaffer"],
    "institution": ["Virginia Tech"],
    "keywords": ["Data Structures"],
    "features": ["Question Set"],
    "title": "Introduction to Data Structures and Algorithms Review Questions",
    "programming_language": ["N/A"],
    "natural_language": ["en"]
}

SLC tools catalog

{
    "catalog_type": "SLCToolsCatalog",
    "platform_name": "OpenDSA",
    "url": "https://opendsa-server.cs.vt.edu",
    "description": "OpenDSA provides infrastructure and materials to support courses in data structures, algorithms, formal languages, and other CS-related topics.",
    "license": "MIT",
    "interface": "LTI, SPLICE protocol",
    "contact_email": "opendsa@cs.vt.edu"
}

Dataset catalog

{
    "catalog_type": "DatasetCatalog",
    "publisher": "DataShop",
    "resource_url": "https://pslcdatashop.web.cmu.edu/Project?id=321",
    "resource_url_type": "URL",
    "bibtex_source": "@data{iSnap15,\nurl = {https://pslcdatashop.web.cmu.edu/Project?id=321},\nauthor = {Thomas Price},\npublisher = {DataShop},\ntitle = {iSnap},\nyear = {N/A}, \nnote = {Last Access: 5 February, 2024}, \n}",
    "title": "iSnap - Introductory Programming",
    "creator": "Price, Thomas",
    "given_name": "Thomas",
    "family_name": "Price",
    "name_identifier": "https://orcid.org/0000-0001-9375-2292",
    "affiliation": "North Carolina State University ",
    "availability": "open",
    "format": "txt",
    "programming_language": "Snap!",
    "data_collection_start_date": 2015,
    "data_collection_end_date": 2017,
    "publication_year": null,
    "number_of_semesters": 5,
    "data_protection": "Anonymized",
    "data_type": "Programming",
    "measurement_type": "log data",
    "data_processing": null,
    "population": "CS0 (non-majors)",
    "units_number": "F15: 84243; F16: 208105; S16: 172160; F17: 161255; S17: 140581; Total: 766344",
    "task_number": "6 assignments",
    "sample_size": "~350",
    "sample_demographics": "Introductory Computing Students",
    "country": "USA",
    "educational_institution": "NCSU",
    "data_standard": "ProgSnap",
    "learning_environment": "iSnap",
    "aggregation": "Yes",
    "aggregation_level": "Complete snapshot; Detailed Log",
    "related_publication_url": "Price et al. 2017",
    "related_publication": "@inproceedings{price2017isnap,\n  title={iSnap: towards intelligent tutoring in novice programming environments},\n  author={Price, Thomas W and Dong, Yihuan and Lipovac, Dragan},\n  booktitle={Proceedings of the 2017 ACM SIGCSE Technical Symposium on computer science education},\n  pages={483--488},\n  year={2017}\n}",
    "rights": null,
    "description": "\"iSnap logs all student actions to a remote database, including any interactions with the user interface and coding\narea. It also logs complete snapshots of students’ code after each edit, allowing for complete replay of a student’s\nactions within the environment. Each entry in iSnap’s logs\nconsists of an event type (e.g. “block grabbed”, “project exported”), any associated data (e.g. an ID for the grabbed\nblock) and an updated snapshot of the student’s code (if\nchanged). While this data could have many uses, we use it\nspecifically to automatically generate contextual hints\"",
    "research_question": null,
    "future_work": null,
    "fairness_score": "Total score: 4% (initial)\nFindability: 1 of 7\nAccessibility:  0 of 3\nInteroperability: 0 of 4\nReusability: 0 of 10"
}