-
Notifications
You must be signed in to change notification settings - Fork 877
Open
Labels
Queued for Editorial WorkEditor needs to turn issues/PRs into final code and release notes.Editor needs to turn issues/PRs into final code and release notes.no-issue-activityDiscuss has gone quiet. Auto-tagging to encourage people to re-engage with the issue (or close it!).Discuss has gone quiet. Auto-tagging to encourage people to re-engage with the issue (or close it!).
Description
Context: Passing this along from Google colleagues who have been working with web data that uses current Course schema. The suggestions are based on a desire to be able to do more with this kind of data.
Proposal
- Course-related properties:
| Property name in Schema.org | Description | Appears on Type | Expected Type |
|---|---|---|---|
| syllabusSections | Syllabus that lays out what each section of the course will cover. | Course | Syllabus [new] |
| courseLength | Represents the length and pace of the course. | CourseInstance | Schedule |
| skills | Skills the course can help users obtain. | Course,Occupation,JobPosting | Text,DefinedTerm |
| totalHistoricalEnrollment | The total number of students that have enrolled in the history of the course. | Course | Integer |
| financialAidEligible | Any scholarships, special payment plans, or other financial aid opportunities for users looking to take the course. | Course,EducationalOccupationalProgram | Text,DefinedTerm |
| availableLanguage | Subtitles, closed captions, or other languages the course is offered in. | Course | Text |
- A Syllabus type
Definition: “ A syllabus that describes the material covered in a course”
- Syllabus properties
Typical properties (none new to Schema.org):
| Property name in Schema.org | Description | Appears on Type |
|---|---|---|
| schema.org/name | Title of a specific syllabus section. | schema.org/Syllabus |
| schema.org/description | Description of a specific syllabus section. | schema.org/Syllabus |
| schema.org/timeRequired | Expected duration for a specific syllabus section. | schema.org/Syllabus |
Example
{
"@context": "https://schema.org/",
"@id": "https://www.example.com/advancedCpp",
"@type": "Course",
"name": "Learn Advanced C++ Topics",
"description": "Improve your C++ skills by learning advanced topics such as pointers,
memory allocation, and function parameters.",
"publisher": {
"@type": "Organization",
"name": "CourseWebsite",
"url": "www.example.com"
},
"provider": {
"@type": "Organization",
"name": "CourseProvider",
"url": "www.exampleProvider.com"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "9.8",
"bestRating": "10",
"ratingCount": 1234
},
"totalHistoricalEnrollment": 12345,
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"educationalCredentialAwarded": {
"name": "CourseProvider Certificate",
"url": "www.exampleCertificate.com",
"credentialCategory": "Certificate",
"offers": {
"@type": "Offer",
"price": "5",
"priceCurrency": "USD"
}
},
"financialAidEligible": "Scholarship Available",
"coursePrerequisites": [
"Basic understanding of C++ up to arrays and functions.",
{
"@type": "Course",
"@id": "https://www.coursewebsite.abc/beginnerCpp",
"name": "Learn Beginner C++ Topics",
"description": "Learn the basics of C++."
}
],
"educationalLevel": "Advanced",
"inLanguage": "en",
"availableLanguage": ["fr", "es"],
"teaches": ["Practice and apply systems thinking to plan for change",
"Understand how memory allocation works."],
"skills": ["C++ Coding", "Backend Engineering"],
"offers": {
"@type": "Offer",
"description": "Paid",
"price": "10",
"priceCurrency": "USD"
},
"syllabusSections": [
{
"name": "Memory Allocation",
"description": "Learn how memory is allocated when you create C++ variables.",
"timeRequired": "PT6H"
},
{
"name": "C++ Pointers",
"description": "Learn what a C++ pointer is and when they are used.",
"timeRequired": "PT11H"
},
]
"review": [
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "Bob Smith"
},
"datePublished": "2020-08-31",
"reviewBody": "My C++ skills improved, but the pace was too fast.",
"reviewRating": {
"@type": "Rating",
"bestRating": "5",
"ratingValue": "3",
"worstRating": "1"
}
}
]
"hasCourseInstance": [{
// Hybrid, instructor-led class meeting daily in Fall 2023
"@type": "CourseInstance",
"courseMode": "hybrid",
"location": "Hogwarts Tech",
"courseLength": {
"@type": "Schedule",
"duration": "PT1H",
"startDate": "2023-07-01",
"endDate": "2023-12-15",
"repeatFrequency": "P1D"
},
"instructor": {
"@type" "Person",
"name": "John Doe",
"description": "Professor at X-University",
"image": http://examplePerson.jpg"
}
},
{
// Online, self-paced 10 hours / week for 15 weeks
"@type": "CourseInstance",
"courseMode": "online",
"courseLength": {
"@type": "Schedule",
"duration": "PT10H",
"repeatFrequency": "P1W",
"repeatCount": 15
},
}]
}
Metadata
Metadata
Assignees
Labels
Queued for Editorial WorkEditor needs to turn issues/PRs into final code and release notes.Editor needs to turn issues/PRs into final code and release notes.no-issue-activityDiscuss has gone quiet. Auto-tagging to encourage people to re-engage with the issue (or close it!).Discuss has gone quiet. Auto-tagging to encourage people to re-engage with the issue (or close it!).