Skip to content

Instantly share code, notes, and snippets.

@behrtam
Created August 3, 2015 13:57
Show Gist options
  • Save behrtam/60394e2abd0b13f08a82 to your computer and use it in GitHub Desktop.
Save behrtam/60394e2abd0b13f08a82 to your computer and use it in GitHub Desktop.
HTW AI Bachelor – Berechnung des Gesamtprädikats
#!/usr/bin/env python
# coding: utf8
from __future__ import print_function
'''
HTW AI Bachelor
§9 Berechnung des Gesamtprädikats
http://ai-bachelor.htw-berlin.de/fileadmin/HTW/Alle/Amtliche_Mitteilungsblaetter/2012/30_12.pdf
'''
grades = (('Algorithmen und Datenstrukturen', 5, 4.0),
('Betriebssysteme', 5, 4.0),
('Programmierung 2', 6, 4.0),
('Mathematik 2', 5, 4.0),
('Betriebswirtschaftslehre', 5, 4.0),
('Fremdsprache 2', 4, 4.0),
('Software-Engineering', 5, 4.0),
('Datenbanken', 5, 4.0),
('Programmierung 3', 6, 4.0),
('Mathematik 3', 5, 4.0),
('Wahlpflichtmodul 1', 5, 4.0),
# ('AWE Modul 1', 2, 4.0),
# ('AWE Modul 2', 2, 4.0),
('Fremdsprache 2 (statt 2x AWE)', 4, 4.0),
('Verteilte Systeme', 5, 4.0),
('Webentwicklung', 5, 4.0),
('Computergrafik', 5, 4.0),
('Wahlpflichtmodul 2', 5, 4.0),
('Wahlpflichtmodul 3', 5, 4.0),
('Projektmanagement', 5, 4.0),
('Komponentenbasierte Entwicklung', 5, 4.0),
('Datenschutz und Datensicherheit', 5, 4.0),
('Spezielle Anwendungen der Informatik', 5, 4.0),
('Wahlpflichtmodul 4', 5, 4.0),
('Wahlpflichtmodul 5', 5, 4.0),
('Projektstudium', 5, 4.0),)
# der gewogene Mittelwert der differenziert bewerteten Module
# die ersten beiden Stellen nach dem Komma werden durch Abschneiden berechnet
trunc = lambda n: round(n - 0.005, 2)
x1 = sum(trunc(grade * factor) for _, factor, grade in grades) / 120.0
# die Note der Bachelorarbeit
x2 = 1.7
# die Modulnote des Bachelorseminars/Kolloquiums
x3 = 1.7
x = 0.75 * x1 + 0.15 * x2 + 0.10 * x3
print('{:.2f} = 0,75 * {:.2f} + 0,15 * {:.2f} + 0,10 * {:.2f}'.format(x, x1, x2, x3))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment