Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Course, CourseInstance, EducationEvent [Schema.org Course Extension] #195

Closed
westurner opened this issue Dec 11, 2014 · 99 comments
Closed

Course, CourseInstance, EducationEvent [Schema.org Course Extension] #195

westurner opened this issue Dec 11, 2014 · 99 comments
Assignees
Milestone

Comments

@westurner
Copy link
Contributor

@westurner westurner commented Dec 11, 2014

.

Goals:

  • schema.org/Course , schema.org/CourseSection , schema.org/EducationEvent

SCHEMA COURSE EXTENSION COMMUNITY GROUP

This mission of this group, initiated by LRMI, is to develop an extension for schema.org concerning the discovery of any type of educational course (online/offline, long/short, scheduled/on-demand). Educational course is defined as "some sequence of events and/or creative works which aims to build the knowledge, competence or ability of learners". (Out of scope: information about students and their progression etc; information needed internally for course management rather than discovery).

-- https://www.w3.org/community/schema-course-extend/

Products:

Examples:

Discussion Mailing List Threads:

Use Cases / Potential Implementors (Culled from the Mailing List):

Release notes:

@westurner
Copy link
Contributor Author

@westurner westurner commented Dec 11, 2014

What is missing or could be added?

From http://lists.w3.org/Archives/Public/public-vocabs/2014Feb/0130.html :

Properties:

  • derivedFrom/previousIncantation property could also be helpful.
  • prerequisite/buildsUpon/suggestedPrerequisite properties would be great.

Types for these properties would need to be <Course >.

... This would then form a graph of Course s and/or OnlineCourse s.

@westurner
Copy link
Contributor Author

@westurner westurner commented Dec 11, 2014

Also from http://lists.w3.org/Archives/Public/public-vocabs/2014Feb/0130.html :

Classes:

  • CourseSection

Possible properties for a CourseSection:

@parklize
Copy link

@parklize parklize commented Dec 15, 2014

Now in the example, EducationEvent that already exist in schema.org (which has many properties like startDate, endDate)is being used for describing CourseSection.

It will be more clear by using new Type like CourseSection, but then we need to think more general type like Section.

@vholland
Copy link
Contributor

@vholland vholland commented Dec 15, 2014

I am trying to pull together the various threads and have put together a modified proposal that:

  • Supports Courses (online and off)
  • Supports sections of courses

Please take a look at https://docs.google.com/document/d/12YWjLzZC8FiTiOwSAETRIEozeqZdn6O8a4fgqK4t5Ss/edit?usp=sharing

@parklize
Copy link

@parklize parklize commented Dec 15, 2014

Thanks:)

@westurner westurner changed the title Thing > CreativeWork > Course > OnlineCourse Thing > CreativeWork > Course Dec 16, 2014
@danbri danbri added this to the 2015 Q1 milestone Jan 21, 2015
@vholland vholland self-assigned this Jan 22, 2015
@jgoodell2
Copy link

@jgoodell2 jgoodell2 commented Mar 5, 2015

Building on Vicki's work I suggested changes to the Google doc (1) based on what seems to be areas of consensus on the discussion threads and comments within the doc.

I'm afraid that there are different threads/communities with definitions that may work fine within a narrow purpose, but have conceptual errors when trying to apply the vocabulary more universally. The approach discussed in the group seems to be headed in the right direction. How can we bring the different communities together on this?

For example, moocontology (2) has "instructor" and "event" as properties of Course rather than defining a CourseSection. This can create ambiguity when multiple Course Sections are offered at the same or different times. e.g. This month EdX started a Section of "Introduction to Computational Thinking and Data Science" (course number 6.00.2x). This is not the first time the course was offered. The course content/description is the same for each instance, but the start and end dates change, and the instructors may change over time. There could be Sections going on concurrently with different instructors, but the same course number, learning objectives, description.

I know there are discussions about Course as an extension to schema.org, rather than core; even so, I think we should try to get the different communities together so Course isn't defined as different things by different communities.

-jim

(1) https://docs.google.com/document/d/12YWjLzZC8FiTiOwSAETRIEozeqZdn6O8a4fgqK4t5Ss/edit?usp=sharing
(2) https://sites.google.com/site/moocontology/

@westurner westurner changed the title Thing > CreativeWork > Course Thing > Intangible > Course Mar 5, 2015
@westurner
Copy link
Contributor Author

@westurner westurner commented Mar 6, 2015

Is it CourseSession or CourseSection?

(It was CourseSession, but was changed without discussion to CourseSection).

  • I vote for "CourseSession". To me, Section implies a physical partitioning; which does not fit.
@parklize
Copy link

@parklize parklize commented Mar 6, 2015

+1 to "CourseSession", Coursera and Stanford MOOC use "session".

Coursera API: https://tech.coursera.org/app-platform/catalog/
Stanford Online: http://online.stanford.edu/courses/all

On Fri, Mar 6, 2015 at 12:00 AM, Wes Turner notifications@github.com
wrote:

Is it CourseSession or CourseSection?

(It was CourseSession, but was changed without discussion to
CourseSection).

  • I vote for "CourseSession". To me, Section implies a physical
    partitioning; which does not fit.


Reply to this email directly or view it on GitHub
#195 (comment).


To be Sharer^^

A man is not old as long as he is seeking something.
A man is not old until regrets take the place of dreams.

Email: parklize@gmail.com

@stuartasutton
Copy link

@stuartasutton stuartasutton commented Apr 1, 2015

CourseSession and CourseSection are totally different beasts. A Course may have many CourseSections and CourseSections may have many CourseSessions. For example, at the Univ. of Washington (Seattle) there is a course in the University inventory (catalog) called "Metadata Design Studio". This spring quarter, there are two CourseSections of this Course (SLN 15343 and SLN 15344). This week, (the section I teach) SLN 15344 is in the second CourseSession of the spring quarter. I am less concerned about what Coursera and the Stanfod MOOC call things than with the pattern that holds in the nomenclature of thousands of colleges and universities--at least in the U.S.

@philbarker
Copy link
Contributor

@philbarker philbarker commented Apr 15, 2015

hello. I have been thinking about the scope and use cases for this proposal. The discussion above starts with a bullet point referring to "online courses" but I think we have gone beyond that. Also I can see lots of potential implementers above, but nothing about use cases that relate to what a user might want to do.
My initial ideas are at http://goo.gl/DnTTsb I would welcome comments/corrections. Apologies if they are sketchy, I wanted to share early rather than make unwarranted assumptions.

@danbri danbri modified the milestones: 2015 Q1, 2015 Q2 Apr 17, 2015
@philbarker
Copy link
Contributor

@philbarker philbarker commented May 28, 2015

hello. I have fleshed out the ideas I mentioned before for more specific scope and use cases, still in google doc at http://goo.gl/DnTTsb . Any comments? I think it would be useful to compare the proposals to these use cases and some examples, but it'ls also be good to have some agreement that the use cases are valid and nothing major is missing before doing that.

Is a google doc the best place to do this, would you rather have it on github somewhere?

@westurner
Copy link
Contributor Author

@westurner westurner commented May 28, 2015

@philbarker I've updated the ticket description w/ the link to your google doc containing use cases for these vocabulary extensions.

I think it would be great to build the tests for these use cases (in JSON-LD, RDFa, or just RDF TTL/N3). (the JSON-LD test suite http://json-ld.org/test-suite/reports/ uses earl for similar reports: http://www.w3.org/TR/EARL10-Schema/ )

@philbarker
Copy link
Contributor

@philbarker philbarker commented Jun 1, 2015

Thanks @westurner . I do intend to cross check the use cases against some of the example courses listed above and in the scoping part of the google doc and against the current proposal. I'm not sure that my technical skills extend to building tests along the lines you point to, or what data there is to test (none yet, or maybe I am misunderstanding?)

@westurner
Copy link
Contributor Author

@westurner westurner commented Jun 1, 2015

Thanks! Really just JSON-LD and RDFa examples that demonstrably (and
recordedly) evaluate to valid RDFa.

To be clear, I opened this ticket but by no means should this be construed
to indicate leadership on this issue. (It may be helpful to start reaching
out for more input from e.g. a registrar's office: I believe we're
currently missing a way to represent prerequisite edges)
On Jun 1, 2015 4:09 AM, "Phil Barker" notifications@github.com wrote:

Thanks @westurner https://github.com/westurner . I do intend to cross
check the use cases against some of the example courses listed above and in
the scoping part of the google doc and against the current proposal. I'm
not sure that my technical skills extend to building tests along the lines
you point to, or what data there is to test (none yet, or maybe I am
misunderstanding?)


Reply to this email directly or view it on GitHub
#195 (comment)
.

@danbri
Copy link
Contributor

@danbri danbri commented Dec 14, 2015

@westurner - Phil and I had a quick chat about prerequisites last week. He pointed out that we should try to have a mechanism for this which is compatible with our approach to representing learning outcomes. Doing so will make it easier to chain together learning opportunities from a larger pool...

@fravarese
Copy link

@fravarese fravarese commented Feb 20, 2017

Hello everybody, I'm currently experimenting schema "courses" on my website, but I'm not sure about how should the google snippet look like .. In the official example page, it should look like a list: https://developers.google.com/search/docs/guides/search-gallery#courses , but in my pages this kind of list does not appear, so I wonder if I'm missing something.. even if actually that kind of list does not appear neither in the website used as example (coursera.com), when appear in the google results page, among other search results. So I ask you, should that kind of listing appear in the google snippet once you implement schema in the code of a website or the example is worng and the list is just not supposed to apear? thank you very much. Francesco

@philbarker
Copy link
Contributor

@philbarker philbarker commented Feb 21, 2017

@fravarese I'm not sure this is the best place to discuss individual cases, but if you send me a link to your pages I'll have a look. phil.barker [at] hw.ac.uk

However I suspect that how your pages look in Google search engine results depends more on Google than the schema.org Course spec, and that I cannot help with.

@fravarese
Copy link

@fravarese fravarese commented Feb 21, 2017

@philbarker
Ok thanks, I tought there was a specific connection beetwen google and schema. I saw that in schema "events" the list-kind snippet always appears, and I tought that in "courses" should appear too.. because the example page showed it.

@westurner westurner changed the title Course, CourseInstance, EducationEvent etc. [ Schema.org Course Extension ] Course, CourseInstance, Event [ Schema.org Course Extension ] Mar 24, 2017
@westurner westurner changed the title Course, CourseInstance, Event [ Schema.org Course Extension ] Course, CourseInstance, Event [Schema.org Course Extension] Mar 24, 2017
@RichardWallis
Copy link
Contributor

@RichardWallis RichardWallis commented Mar 24, 2017

CreativeWork > CourseInstance
Is there a reason this doesn't work?
Each CourseInstance could/should have properties from CreativeWork, as well?

As submitted in the proposal and defined in the pending area of the previous release (3.1) of Schema.org, CourseInstance is not a subtype of CreativeWork - its only super-type being Event.

I seem to remember that the logic behind this was discussed in detail within the Course Extend Group well before the proposal was submitted. @philbarker could probably clarify that for you.

@danbri
Copy link
Contributor

@danbri danbri commented Mar 24, 2017

Ah yep, this was our way around capturing the slightly ambiguous nature of "course". There's a type-like notion of instantiation. If specific properties are needed they can be attached directly and we tweak their definitions accordingly.

@westurner
Copy link
Contributor Author

@westurner westurner commented Mar 24, 2017

If specific properties are needed they can be attached directly and we tweak their definitions accordingly.

.

@philbarker
Copy link
Contributor

@philbarker philbarker commented Mar 24, 2017

@westurner , all:

  • The accessibility properties of a CourseInstance were not implemented because accessibility of all types of Event should be addressed by people who understand accessibility, not by people who understand educational courses.
  • We didn't fully discuss credits for Courses. The current suggestion of attaching courseCredit and courseCreditUnits directly to Course does not work if you offer several options of credit. We need something a little bit similar to http://pending.webschemas.org/CategoryCode to make sure that the value and the units are associated with each other instead of having a choice of n values and n units and not knowing which goes with which. MLO Credit might be a model to follow ftp://ftp.cen.eu/CEN/Sectors/TCandWorkshops/Workshops/CWA16077.pdf but we need to check that such a model fits with current practice in the US (e.g. CEDS) and work of organizations like the Credential Transparency Initiative. I think this is relatively easy and could be a sensible next step for the schema course extension community group.
  • AFAIK "search for {SCORM}" never was on that list of use cases.
  • Testing those assertions would need a body of resources that had been marked up. Guidance on how to provide data that would allow those tests would be a useful thing to create.

Hope that clarifies.

@westurner
Copy link
Contributor Author

@westurner westurner commented Mar 24, 2017

@philbarker Thanks!

The accessibility properties of a CourseInstance were not implemented because accessibility of all types of Event should be addressed by people who understand accessibility, not by people who understand educational courses.

#254 "Accessibility of Places" (and Events (e.g. 'this event will have a language_xyz interpreter; but in general the Place is empty'))

We didn't fully discuss credits for Courses. The current suggestion of attaching courseCredit and courseCreditUnits directly to Course does not work if you offer several options of credit. We need something a little bit similar to http://pending.webschemas.org/CategoryCode to make sure that the value and the units are associated with each other instead of having a choice of n values and n units and not knowing which goes with which.

If a URL is specified for CategoryCode.inCodeSet, what contentType is expected to be resolvable at that URL?
If a CategoryCodeSet is specified, CategoryCodeSet.hasCategoryCode is set.

MLO Credit might be a model to follow ftp://ftp.cen.eu/CEN/Sectors/TCandWorkshops/Workshops/CWA16077.pdf but we need to check that such a model fits with current practice in the US (e.g. CEDS) and work of organizations like the Credential Transparency Initiative.

CEDS

CTI

@CTITechPlanning

  • see next comment

I think this is relatively easy and could be a sensible next step for the schema course extension community group.

  • courseCredits (CategoryCode, Offer, OfferCatalog)
  • Event > CourseInstance accessibility*
  • syllabus as a tree of Things / CreativeWorks (CourseUnit > CourseInstance, "ThingSequence", )
  • Credential / CredentialInstance
@westurner
Copy link
Contributor Author

@westurner westurner commented Mar 24, 2017

From https://github.com/blockchain-certificates/cert-schema/issues/25#issuecomment-289006903 :

"Credential" as the super type:

WebID

The Cert Ontology 1.0 :

@philbarker
Copy link
Contributor

@philbarker philbarker commented Mar 24, 2017

@westurner thanks for information & comments, I'll try to work out what actions to take :)

@westurner
Copy link
Contributor Author

@westurner westurner commented Mar 24, 2017

Testing those assertions would need a body of resources that had been marked up. Guidance on how to provide data that would allow those tests would be a useful thing to create.

@jhoobergs
Copy link

@jhoobergs jhoobergs commented Apr 1, 2017

How would I currently model an education programme ? I don't think that Course is right for this, so maybe a an EducationalProgramme definition ?

@philbarker
Copy link
Contributor

@philbarker philbarker commented Apr 3, 2017

@jhoobergs could you describe what you mean by an educational programme, preferably with links to a couple that you would like to model? Asking because the term is used in different ways.

@schivmeister
Copy link

@schivmeister schivmeister commented Apr 10, 2017

  1. Is there a recommendation as to when to use CourseInstance vs. EducationEvent? Some times this choice is not clear.

  2. Also, is there a reason for there not being a relationship from Course to EducationEvent, like there is hasCourseInstance? Or is it expected that the link will be via subEvent? But that does not look right.

  3. How are search engines presently interpreting these types and relationships? What about courses with related course instances or education events? It seems there would be a disconnect if you showed just courses without showing the events associated with it. Do SEs presently parse relationships or are they ignored? (e.g. Provider -> Course -> CourseInstance)

I think sooner or later we're going to have to deal with the diversity of educational programmes. What we typically refer to as "course" can be understood to be disjoint with what we consider as a "training programme". A course typically culminates in a "credential" but a training programme, while offering certificates "of participation" or similar, would not typically culminate in a credential. This is the case for IT training, where service providers typical offer training for certification exams. I think the same holds for professional certifications, where one would pursue some kind of training before taking the relevant exam(s).

@philbarker
Copy link
Contributor

@philbarker philbarker commented Apr 10, 2017

@schivmeister hello.

  1. We haven't discussed any recommendation for choosing between EducationEvent and CourseInstance.
  2. EducationEvent as a subEvent of a CourseInstance would make sense if you wanted to itemise the individual sessions (lectures, lab classes, lessons etc) that made up a CourseInstance.
  3. I don't know.

On your general point, the intent was that Course would encompass as many scenarios as possible, and is defined so as not to be disjoint 'training programme'. The problem with starting with "what we typically refer to as "course", is that typical doesn't travel very well (indeed, even the narrow sector that I work in, UK Higher Education, it prove impossible to narrow down the term "course" in any sensible way based on how it is used, see https://www.hesa.ac.uk/files/What-is-a-course_2011.pdf ) Hence the definition "an educational course is a sequence of one or more educational events and/or creative works which aims to build knowledge, competence or ability of learners."

I think you are right that there could be more done to describe the type of credentialing / certification that results from successfully taking a Course. That's a can of worms in itself. It's also one that goes beyond describing Courses per se, because all sorts of accreditation bodies, professional bodies, employers, regulators and so on have a view on credentialing and certification.

@schivmeister
Copy link

@schivmeister schivmeister commented Apr 10, 2017

@philbarker Thanks for responding to my points, you are absolutely right. My general point was in reference to #195 (comment) for modelling an education "programme". As you said, it is quite open-ended and the best course of action is to use what is available. I see now you discussed a similar issue before in #195 (comment).

My concern was really about the linkages between courses and events, since these two types are presently known to be parsed by search engines. I was a bit surprised that there is an absent link between Course and EducationEvent. I would have expected something like hasRelatedEvent on the former and/or hasRelatedCourse on the latter.

I was even more surprised that subclasses are defined without properties that are unique to them. From an ontology/vocabulary design perspective, http://schema.org/EducationEvent looks redundant to me, whereas http://schema.org/CourseInstance has its own properties that fully qualifies it as a subclass. But I suppose that's how things work in the specs, and perhaps just the type name is sufficient to help parsers interpret them differently.

@westurner westurner changed the title Course, CourseInstance, Event [Schema.org Course Extension] Course, CourseInstance, EducationEvent [Schema.org Course Extension] Jan 25, 2018
@philbarker
Copy link
Contributor

@philbarker philbarker commented May 28, 2020

@vholland @danbri I think this issue can be closed. We've addressed most of the points raised and it would be easier to track the anything still missing through discrete issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.