export class Lecture {
|
constructor(name, ects, sws) {
|
this._name = name;
|
this._ects = ects;
|
this._sws = sws;
|
}
|
|
effortPerWeek(weeks = 15) {
|
const ECTS_COST = 30; // Wieviel Aufwand in Zeitstunden für einen ECST-Punkt
|
const DS_LENGTH = 1.5; // Stunden pro Doppelstunden
|
let timeOfEcts = this._ects * ECTS_COST;
|
let sumTimePerWeek = timeOfEcts / weeks;
|
let lectureTimePerWeek = DS_LENGTH * (this._sws / 2);
|
return sumTimePerWeek - lectureTimePerWeek;
|
}
|
|
toString() {
|
return `${this._name}|${this._ects} ECTS|${this._sws} SWS`;
|
}
|
|
set sws(sws) {
|
if(sws <= 0) {
|
throw new RangeError("SWS must be positiv");
|
}
|
this._sws = sws;
|
}
|
|
get sws() {
|
return this._sws;
|
}
|
|
set ects(ects) {
|
if(ects <= 0) {
|
throw new RangeError("ECTS must be positiv")
|
}
|
this._ects = ects;
|
}
|
|
get ects() {
|
return this._ects;
|
}
|
|
get name() {
|
return this._name;
|
}
|
}
|