hawkrives / gobbldygook

A course scheduling tool, by Hawken Rives, Drew Volz, and Xandra Best.
https://gobbldygook.netlify.app/
GNU Affero General Public License v3.0
7 stars 2 forks source link

Add keywords to courses #47

Closed hawkrives closed 9 years ago

hawkrives commented 9 years ago

Initial Proposal: We should define tags on the course data, to help with situations where you cannot easily/at all determine something from the other metadata.

The tags would be defined in a separate file that matches up, like, crsid with the set of tags.

hawkrives commented 9 years ago

I think we can use the same logic as the registrar does when determining when to change the crsid. That is, if the content changes significantly, the crsid changes.

Otherwise, the content is the same, and the tags don't change.

Unless it's a topics course, in which case each occurence should get its own tags.

hawkrives commented 9 years ago

We don't want two departments to pick the same keyword for different things, so we'll also need some way to namespace the keywords.

Colons? Slashes?

hawkrives commented 9 years ago

crossdiscipline:asian-studies or crossdiscipline/asian-studies

drewvolz commented 9 years ago

Colons seem to be the best way to go about doing this, dunno... you?

hawkrives commented 9 years ago

I think I like the colons as well.

We'll need to define the namespaces?

discipline should be one, I think. And topic?

hawkrives commented 9 years ago

Even better: In the English major, when we have the un-denoted pre-1800s/post-1800s split?

We could have some sort of keyword for a time period. period? For the time period covered?

drewvolz commented 9 years ago

Yes, period works well. That way we can differentiate between certain amounts of time.

hawkrives commented 9 years ago

Should we define that on all courses the have some relation to a time period?

Like AmCon? "AmCon 102: Democratic Vistas, 1800-1900"

drewvolz commented 9 years ago

Yes. It will be a good keyword to have as a part of the metadata suggested for the registrar

hawkrives commented 9 years ago

They each cover a time period.

I'm thinking that we should probably go ahead and tag them with period, too.

drewvolz commented 9 years ago

How about "period", "discipline", and "topic"?

hawkrives commented 9 years ago

And maybe just "keyword"? For keywords that aren't mentioned in the title or description?

drewvolz commented 9 years ago

Not keyword -- it gets complicated in namespaces. Let departments define their own?

hawkrives commented 9 years ago

New proposal:

These all fall under keywords.

counts-toward

Any areas of study that the course counts toward that wouldn't be immediately obvious. It can be initially populated by any courses that list "Counts towards xyz" in their description.

sequence

Defines a sequence of courses. Nothing more, nothing less.

For example, the conversations are a sequence. AMCON I, AMCON II, AMCON III, and AMCON IV.

topic

Topics that the course covers. They need to be specific, but not too specific.

period

The time period covered, rounded to a decade.

Not always necessary, but useful to have.

Also supports the present keyword.

discipline

Disciplines covered in the course. asian-studies, historical-perspectives, etc.

Should they be defined solely by the department that's offering the course, or should they require input from the 'target(?)' department, as well?

drewvolz commented 9 years ago

counts-toward, sequence, and period look good. I believe that departments should solely define whether a course counts as interdisciplinary without outside input, but we'll need to check on that one.

hawkrives commented 9 years ago

Example, in yaml form:

CHEM 398:
    discipline: computer science

ENGL 150:
    topic: creative writing
    genre:
        - poetry
        - fiction
        - creative non-fiction

AMCON 101:
    sequence: AMCON I
    period: 1600-1860s
    discipline:
        - writing
        - american studies
        - historical perspectives
    topic:
        - declaration of independence
        - thomas jefferson
        - architecture
        - american civil war
    counts-towards: 
        - amst

AMCON 102:
    sequence: AMCON II
    period: 1800-1900
    discipline:
        - writing
        - american studies
        - historical perspectives
    topic:
        - trancendentalism
        - black elk speaks
        - western photography
    counts-towards: 
        - amst

AMCON 201:
    sequence: AMCON III
    period: 1860s-1940s
    discipline:
        - writing
        - american studies
        - historical perspectives
    topic:
        - statue of liberty
        - columbian exposition
        - ford model t
        - harlem rennaissance
    counts-towards: 
        - amst

AMCON 202:
    sequence: AMCON IV
    period: 1920-present
    discipline:
        - writing
        - american studies
        - historical perspectives
    topic:
        - national parks
        - internment camps
        - poetry
        - freedom summer
        - las vegas
        - mall of america
    counts-towards: 
        - amst
        - m-wmgst
        - c-wmgst
hawkrives commented 9 years ago

which could look something like this in XML form:

<course>
    <deptname>CHEM</deptname>
    <coursenumber>398</coursenumber>
    <keyword>discipline: computer science</keyword>
</course>

<course>
    <deptname>AMCON</deptname>
    <coursenumber>202</coursenumber>
    <keyword>sequence: AMCON IV</keyword>
    <keyword>period: 1920-present</keyword>
    <keyword>discipline: writing</keyword>
    <keyword>discipline: american studies</keyword>
    <keyword>discipline: historical perspectives</keyword>
    <keyword>topic: national parks</keyword>
    <keyword>topic: internment camps</keyword>
    <keyword>topic: poetry</keyword>
    <keyword>topic: freedom summer</keyword>
    <keyword>topic: las vegas</keyword>
    <keyword>topic: mall of america</keyword>
    <keyword>counts-towards: amst major</keyword>
    <keyword>counts-towards: wmgst major</keyword>
    <keyword>counts-towards: wmgst concentration</keyword>
</course>
hawkrives commented 9 years ago

and then this when stuck into JSON for the browser:

{
    deptnum: "CHEM 398"
    keywords: {
        discipline: ["computer science"]
    }
}

{
    deptnum: "ENGL 150"
    keywords: {
        topic: ["creative writing"]
        genre: ["poetry", "fiction", "creative non-fiction"]
    }
}

{
    deptnum: "AMCON 101"
    keywords: {
        sequence: ["AMCON I"]
        period: ["1600-1860s"]
        discipline: ["writing", "american studies", "historical perspectives"]
        topic: ["declaration of independence", "thomas jefferson", "architecture", "american civil war"]
        "counts-towards": ["amst major"]
    }
}

{
    deptnum: "AMCON 102"
    keywords: [
        sequence: ["AMCON II"]
        period: ["1800-1900"]
        discipline: ["writing", "american studies", "historical perspectives"]
        topic: ["trancendentalism", "black elk speaks", "western photography"]
        "counts-towards": ["amst major"]
    ]
}

{
    deptnum: "AMCON 201"
    keywords: [
        sequence: ["AMCON III"]
        period: ["1860s-1940s"]
        discipline: ["writing", "american studies", "historical perspectives"]
        topic: ["statue of liberty", "columbian exposition", "ford model t", "harlem rennaissance"]
        "counts-towards": ["amst major"]
    ]
}

{
    deptnum: "AMCON 202"
    keywords: [
        sequence: ["AMCON IV"]
        period: ["1920-present"]
        discipline: ["writing", "american studies", "historical perspectives"]
        topic: ["national parks", "internment camps", "poetry", "freedom summer", "las vegas", "mall of america"]
        "counts-towards": ["amst major", "wmgst concentration", "wmgst major"]
    ]
}