Letztes Semester
Zur Navigation springen
Zur Suche springen
Da wir ja im letzten Semester wieder den super 50/50 Anwesenheitsmodus haben, hab ich mir folgendes überlegt.
Unterricht an der Schule
Wir gehen pro Einheit 2 Bereiche vom Wiki durch. Am Nachmittag in der letzten Stunde gibts dann dazu eine Mitarbeitsüberprüfung, angepasst auf das was wir gelernt haben.
Zuhause
Ihr macht ein cooles Softwareprojekt, was euch gefällt. Voraussetzungen dazu:
- Ihr macht euch ein git Repository dafür
- Wenn ihr das Projekt angebt muss es für mich möglich sein das Projekt über das git Repository zu starten.
Irgend was feines mit React wäre eine gute Idee.
Notengebung
Noten zweites Semester
Siehe folgenden krassen Berechnungscode.
ProjectScore.java
package at.htldornbirn.swp.grade;
public enum ProjectScore {
COOL, AVERAGE, SO_WEAK, NONE
}
GradeCalculator.java
package at.htldornbirn.swp.grade;
public class GradeCalculator {
public static int calculateGrade(float testGradeAvg, ProjectScore projectScore) {
int grade = Math.round(testGradeAvg);
switch (projectScore) {
case COOL:
grade--;
break;
case AVERAGE:
if (grade == 5) {
grade--;
}
break;
case SO_WEAK:
if (grade < 4) {
grade++;
}
break;
default:
if (grade < 3) {
grade = 3;
} else if (grade < 4) {
grade++;
}
}
return grade < 1 ? 1 : Math.min(grade, 5);
}
}
CalculatorTest.java
package at.htldornbirn.swp.grade;
import org.junit.Assert;
import org.junit.Test;
public class GradeCalculatorTest {
/**
* Helper Method for testing the grade calculation
* @param expectedGrade Grade which is expected
* @param testGradeAvg Average grade of tests
* @param score Project score
*/
private void testCalculator(int expectedGrade, float testGradeAvg, ProjectScore score) {
Assert.assertEquals(expectedGrade, GradeCalculator.calculateGrade(testGradeAvg, score));
}
@Test
public void testGradeCalculatorAverage() {
testCalculator(1, 1.0f, ProjectScore.AVERAGE);
testCalculator(2, 2.4f, ProjectScore.AVERAGE);
testCalculator(3, 2.6f, ProjectScore.AVERAGE);
testCalculator(4, 5.0f, ProjectScore.AVERAGE);
testCalculator(4, 4.0f, ProjectScore.AVERAGE);
}
@Test
public void testGradeCalculatorSoWeak() {
testCalculator(2, 1.0f, ProjectScore.SO_WEAK);
testCalculator(3, 2.4f, ProjectScore.SO_WEAK);
testCalculator(4, 2.6f, ProjectScore.SO_WEAK);
testCalculator(5, 5.0f, ProjectScore.SO_WEAK);
testCalculator(4, 4.0f, ProjectScore.SO_WEAK);
}
@Test
public void testGradeCalculatorCool() {
testCalculator(1, 1.0f, ProjectScore.COOL);
testCalculator(1, 2.4f, ProjectScore.COOL);
testCalculator(2, 2.6f, ProjectScore.COOL);
testCalculator(4, 5.0f, ProjectScore.COOL);
testCalculator(3, 4.0f, ProjectScore.COOL);
}
@Test
public void testGradeCalculatorNoProject() {
testCalculator(3, 1.0f, ProjectScore.NONE);
testCalculator(3, 2.4f, ProjectScore.NONE);
testCalculator(4, 2.6f, ProjectScore.NONE);
testCalculator(5, 5.0f, ProjectScore.NONE);
testCalculator(4, 4.0f, ProjectScore.NONE);
}
}
Jahresnote
Machma alle 1er...guade Ideeee