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.
To contribute to the SPLICE Catalog, categorize your Smart Learning Content (SLC) into one of the following types:
Each type has a specific JSON format. Below are examples and field descriptions for each category:
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:
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:
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:
Once your JSON file is ready, you have two options to submit your Smart Learning Content (SLC) to the SPLICE Catalog:
We look forward to your contribution to the SPLICE Catalog!
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"
}