Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Course

The parent of many CourseInstance entities. The course entity is responsibile for managing area, title and course code information. This informaion does not change between course insances. It's modification would denote the creation of an entirely new course

Hierarchy

Index

Properties

area

area: Area

The subject Area this course belongs to


Many Courses have one Area

Optional children

children: Course[]

All the courses that are the "sameAs" this course.

createdAt

createdAt: Date

Metadata column used for signifying the date the record was created

id

id: string

The primary key record identifier. Used for uniquiely identifying records and for cross-table joins. UUID is used to enable records from different tables to be combined into one dataset without causing ID collisions

instances

instances: CourseInstance[]

An occurance of a Course that takes place in a Semester. Over time one course can have many scheduled CourseInstances. This allows courses to be more easily re-used and repeated over time.


One Course has many CourseInstances

isSEAS

isSEAS: IS_SEAS = IS_SEAS.Y

Not all courses are delivered by SEAS, some are delivered by other divisions (for example, some courses may be science courses), therefore it may be desireable to denote such courses to differenciate them from courses offered by SEAS

isUndergraduate

isUndergraduate: boolean = false

Indicates whether or not this course is an undergraduate course.

Optional notes

notes: string

Free text for administrators to record notes against a course

number

number: string

The numerical part of the course code (i.e - the CS in CS 50). May also include an alphabetical component (i.e - CS 109b). This is split from prefix to facilitate indexing and searching on prefix

example

"50"

example

"109B"

numberAlphabetical

numberAlphabetical: string

The alphabetical part of the course number (e.g. - the 109 in CS 109b). This is needed in conjunction with the numberInteger column to facilitate numerical sorting such that "CS 109a" appears before "CS 109b".

This field is not selected by default, so queries will need to explicitly include it.

example

"b"

numberInteger

numberInteger: number

The numerical part of the course number (e.g. - the 109 in CS 109b). This is needed to facilitate numerical sorting such that "CS 50" appears before "CS 109b".

This field is not selected by default, so queries will need to explicitly include it.

example

50

example

109

prefix

prefix: string

The alphabetical part of the course code (i.e - The CS in CS 50) that denotes the subject. In this case "CS" refers to "Computer Science"

example

"CS"

private

private: boolean = true

Allows admin staff to hide courses and prevent their publication, either because the courses are non-SEAS courses and should not be displayed on the SEAS course schedule, or because they are still finalizing the course details

Optional sameAs

sameAs: Course

The parent Course that this Course is the "same as".

Optional termPattern

termPattern: TERM_PATTERN

The term this course is being delivered in. See TERM_PATTERN for allowed values.

title

title: string

The long title for the course

example

"Introduction to computer science"

updatedAt

updatedAt: Date

Metadata column used for signifying the date the record was last updated

Methods

parseCourseNumber

  • parseCourseNumber(): void

Generated using TypeDoc