Prüfungsvorbereitung
Durchführung: Präsenz oder Open-Book (je nach Corona-Lage)
Die Klausur wird dieses Semester elektronisch stattfinden. Dazu werden wir den Prüfungs-ILIAS der HSBI nutzen.
Sofern die Situation dies zulässt, wird die Klausur in den Räumen der HSBI am Campus Minden unter Aufsicht durchgeführt. Hier werden Ihnen Rechner für den Zugang zum Prüfungs-ILIAS zur Verfügung gestellt, Sie benötigen nur Ihre HSBI-Zugangsdaten (User, Passwort), einen Studierendenausweis und Personalausweis sowie Ihren DIN-A4-Spickzettel.
Wenn die Corona-Lage eine Durchführung in Präsenz nicht erlaubt, wird die Klausur stattdessen als Open-Book-Ausarbeitung aus dem Home-Office durchgeführt. Sie benötigen dazu einen normalen Rechner oder Laptop mit einem Standardbrowser. Tablets und Handys können wg. der Mobil-Version der Browser problematisch sein. Sie müssen JavaScript aktivieren und Cookies zulassen, der Privacy-Modus ist bitte ebenfalls zu deaktivieren. Sie erreichen den Prüfungs-ILIAS eassessment.hsbi.de nur über VPN.
Die Entscheidung über die konkrete Durchführung wird spätestens zwei Wochen vor der Prüfung getroffen und Ihnen per EMail über das LSF mitgeteilt.
Ablauf der Klausur
Die Prüfung (das ILIAS-Objekt) selbst schalte ich erst zum Start der Prüfung online. Bei der Durchführung als Open-Book-Ausarbeitung wird parallel zur Prüfung eine Zoom-Sitzung laufen, in der Sie Fragen stellen können.
Hilfsmittel und Themen
Bei der Durchführung in Präsenz am Campus Minden ist ein Spickzettel (DIN A4, beidseitig beschrieben) als Hilfsmittel zugelassen.
Bei der Durchführung als "Open-Book-Ausarbeitung" im Home-Office sind alle Hilfsmittel zugelassen.
Die Unterstützung durch Dritte bzw. jegliche Kommunikation mit Dritten ist in keinem Fall zugelassen. Sie sollen die Prüfung selbstständig bearbeiten.
Es wird keines der behandelten Themen ausgeschlossen, allerdings eignen sich manche Themen etwas besser für Klausurfragen als andere ;-)
Elektronische Klausur: Termin, Materialien
Termin
Die schriftliche Prüfung erfolgt durch eine Klausur, die als digitale Prüfung auf einem Prüfungs-ILIAS durchgeführt wird.
Es wird angestrebt, die Klausur in Präsenz in den Rechnerpools am Campus Minden durchzuführen. Falls dies wegen der Corona-Situation oder anderer Umstände nicht möglich sein sollte, wird die Klausur als "Open-Book-Ausarbeitung" im Home-Office durchgeführt.
Es wird in beiden Prüfungszeiträumen ein Termin angeboten. Die Termine werden vom Prüfungsamt bekannt gegeben.
Dauer jeweils 90 Minuten.
- Die konkrete Durchführungsform (in Präsenz am Campus Minden oder im Home-Office) wird Ihnen spätestens zwei Wochen vor der Prüfung über das LSF bekanntgegeben
Zugelassene Hilfsmittel
Zugelassene Materialien: DIN-A4-Spickzettel (beidseitig)
Sie dürfen einen Spickzettel im DIN-A4-Format benutzen, der beidseitig beschrieben sein kann.
Ich möchte Sie hier noch einmal ermuntern, diesen Zettel tatsächlich manuell zu erstellen (also ganz traditionell zu schreiben), da bereits der Schreibvorgang einen gewissen Lerneffekt bewirkt!
Falls die Prüfung als Open-Book-Ausarbeitung im Home-Office durchgeführt werden sollte, dürfen Sie alle Unterlagen benutzen.
-
Ausnahme: Keine Hilfe durch Dritte! (insbesondere keine Zusammenarbeit, keine Kommunikation)
Sie sollen die Prüfung eigenständig bearbeiten. Hilfe von Dritten sowie jegliche Kommunikation mit Dritten ist in keinem Fall zugelassen und wird als Täuschungsversuch gewertet.
Einsicht
- Prüfungseinsicht: Zeitnah; Bekanntgabe per Mail
Technische Vorbereitungen
Diese Bemerkungen betreffen die Durchführung als Präsenzprüfung in den Räumen am Campus Minden.
-
HSBI-Zugangsdaten: Username, Passwort
Bei der Durchführung der Prüfung am Campus Minden wird Ihnen ein Rechner zur Verfügung gestellt. Dort läuft voraussichtlich ein Browser im Kiosk-Mode, wo Sie sich am Prüfungs-ILIAS anmelden. Dazu benötigen Sie ihre HSBI-Zugangsdaten, mit denen Sie sich auch im "normalen" ILIAS anmelden.
-
Studierendenausweis und Personalausweis
An der Prüfung dürfen nur Personen teilnehmen, die dafür im LSF angemeldet sind. Es findet eine entsprechende Kontrolle statt. Halten Sie Ihren Studierendenausweis und Personalausweis bereit.
Diese Bemerkungen betreffen die Durchführung aus dem Home-Office mit Ihrer Hardware. Bei der Durchführung in Präsenz in den Räumen am Campus Minden werden die technischen Details von uns für Sie vorbereitet sein.
-
Rechner: Nutzen Sie für die Prüfung einen stationären Rechner oder ein Notebook.
Vermeiden Sie die Verwendung von Tablets und Smartphones! Bei der Verwendung von Tablets kann es unter Umständen zu Darstellungsproblemen kommen. Smartphones sind aufgrund des kleinen Bildschirms für die Prüfungsdurchführung schlicht ungeeignet.
Bei fehlendem Zugang zu einem entsprechenden Endgerät kontaktieren Sie bitte frühzeitig die Prüfungsverantwortlichen.
-
Netz: Stabil genug? Belastbar genug?
Wenn Sie keinen Zugang zu einer ausreichend stabilen Internetverbindung haben, setzen Sie sich frühzeitig mit Ihren Prüfungsverantwortlichen in Verbindung.
-
VPN: Der Prüfungs-ILIAS ist nur im HSBI-VPN erreichbar.
Installieren Sie den VPN-Client (Anleitung: hsbi.de/dvz/faq/cat/7) und testen Sie im Vorfeld der Prüfung bei aktivierter VPN-Verbindung den Zugang zur Prüfungsplattform eassessment.hsbi.de. Zugangsdaten wie im normalen ILIAS.
Achtung: Auch wenn Sie sich in den Räumen der HSBI befinden, müssen Sie oft die VPN-Verbindung aktivieren, um Zugang zur Prüfungsplattform zu erhalten.
-
Browser: Nutzen Sie einen der Standardbrowser (Edge, Firefox, Safari, Chrome/Chromium) in der Standardeinstellung: insbesondere JavaScript und Cookies müssen aktiviert/erlaubt sein.
Deaktivieren Sie sämtliche Browser-Erweiterungen wie z.B. Ad-Blocker (AdBlockPlus, uBlock, ...) oder JavaScript-Blocker (No-Script, Ghostery, ...) für den Prüfungszeitraum.
Nutzen Sie Ihren Browser nicht im Privacy-Modus!
-
HSBI-Zugangsdaten: Username, Passwort
Bei der Durchführung der Prüfung als Open-Book-Ausarbeitung führen Sie die Prüfung auf Ihrer eigenen Hardware im Home-Office durch. Auch hier müssen Sie sich am Prüfungs-ILIAS anmelden. Dazu benötigen Sie ihre HSBI-Zugangsdaten, mit denen Sie sich auch im "normalen" ILIAS anmelden.
Bearbeitung des E-Assessment
-
Lesen Sie sich die Hinweise auf der Startseite durch
-
Bearbeiten Sie die Aufgaben in einem einzigen Browser-Tab
Öffnen Sie die Aufgaben NICHT in parallelen Tabs! Es kann sonst zu Fehlfunktionen von ILIAS kommen.
Bewegen Sie sich nicht per Browser-Navigation ("vor", "zurück" im Browser) durch die Aufgaben, sondern nutzen Sie dafür die Buttons "nächste Frage", "Weiter" oder "Zurück" vom ILIAS!
-
Hinweis zu Anzeige der restlichen Bearbeitungsdauer
Wenn Sie den Browser bzw. das Tab mit der Prüfung im Laufe der Prüfung verlassen, wird Ihnen bei der Rückkehr unter Umständen eine falsche restliche Bearbeitungsdauer angezeigt. Sie können die Anzeige korrigieren/aktualisieren, indem Sie einfach zu einer vorigen oder nächsten Aufgabe navigieren.
Hinweis: Die restliche Bearbeitungsdauer wird im Test nur dann angezeigt, wenn diese Funktion von den Prüfenden aktiviert wurde.
-
Parallel zum E-Assessment läuft eine Zoom-Session, dort können Sie Fragen stellen
-
Verbindungsprobleme (Home-Office):
- Bei kurzzeitigen Verbindungsabbrüchen loggen Sie sich einfach wieder ein
- Wenn die Probleme länger dauern, gilt der Versuch als nicht unternommen (außer Sie haben die Probleme aktiv herbeigeführt, dann kann das als Täuschungsversuch gewertet werden, vgl. RPO §22a (4))
Fragetypen-Demo
In Ihrem ILIAS-Kurs finden Sie eine Fragetypen-Demo mit den wichtigsten Fragetypen. Machen Sie sich mit der Mechanik der Fragetypen vertraut und schauen Sie sich die Kommentare bei den einzelnen Aufgaben an. Sie können die Demo bei Bedarf beliebig oft wiederholen.
Hinweise zu den Inhalten
-
Klausurrelevant: Vorlesung und Praktikum
-
Für Verständnis u.U. hilfreich: Studium der vertiefenden Literaturangaben
-
Fragen:
- Schauen Sie sich die Challenges und/oder Quizzes an ...
- Schauen Sie sich die Praktikumsaufgaben an ...
- Überlegen Sie sich, was zu einem Themengebiet im Rahmen einer Prüfung möglich ist und (wie) gefragt werden könnte :)
Können vor Kennen :-)
Beispiele für mögliche Fragen
Vererbung und Polymorphie
Betrachten Sie den folgenden Java-Code:
public class Person {
public String getInfo(Person p) { return "Person"; }
}
public class Studi extends Person {
public String getInfo(Studi s) { return "Studi"; }
public static void main(String[] args) {
Studi s = new Studi(); Person p = s;
System.out.println(s.getInfo(p));
System.out.println(s.getInfo(s));
}
}
Geben Sie alle Ausgaben, die das obige Programm produziert, an.
Begründen Sie Ihre Antwort kurz und stichhaltig (für jede Ausgabe!). Was geschieht, bzw. wieso kommt es zu der jeweiligen Ausgabe?
Multithreading und Synchronisierung
public class StaffelKaputt extends Thread {
private Object stab;
StaffelKaputt(Object stab) { this.stab = stab; }
public void run() {nimmStab(); laufen(); stabAbgeben();}
private void stabAbgeben() {
synchronized (stab) { stab.notifyAll(); }
}
private void nimmStab() {
synchronized (stab) {
try { stab.wait(); } catch (Exception e) { }
}}
void laufen() { System.out.println("laufe ... "); }
public static void main(String[] args) {
Object stab = new Object();
StaffelKaputt l1 = new StaffelKaputt(stab);
StaffelKaputt l2 = new StaffelKaputt(stab);
l1.start(); l2.start();
}}
Das Programm enthält einen Fehler, der sich zur Laufzeit offenbart. Welche Ausgabe erwarten Sie (angenommen, das Programm wäre fehlerfrei; eine mögliche Variante reicht)? Welche Ausgabe erhalten Sie stattdessen? Korrigieren Sie den Fehler.
Reguläre Ausdrücke
Auf welche Strings passt (im Sinne von "match") der folgende reguläre
Ausdruck: \s*([a-zA-Z0-9_.\-]+)\s*=\s*(-?\d+\.?\d*)\s;?\s*
Versionieren mit Git
-
Erklären Sie, wie man mit Git die Unterschiede zwischen zwei bestimmten Versionsständen einer Datei herausfindet.
-
Was ist der Unterschied zwischen einer Workingcopy und einem Repository?
-
Worin liegt der Unterschied zwischen folgenden Arbeitsschritten:
a. Editieren von Datei
A.txt
b.git add A.txt
c. Editieren von DateiA.txt
d.git commit
versus
a. Editieren von Datei
A.txt
b. Editieren von DateiA.txt
c.git add A.txt
d.git commit
-
Was würde
git diff
jeweils nach Schritt 2 anzeigen?
Kommandozeilenparameter
Schreiben Sie ein Programm, welches auf zwei Kommandozeilenparameter reagieren kann. Die erkannten Parameter sollen auf der Konsole ausgegeben werden. Nutzen Sie Apache Commons CLI (API siehe Anhang).
- Beim Aufruf ohne Parameter soll eine Hilfe zum korrekten Aufruf ausgegeben werden und das Programm soll sich anschließend beenden.
- Das Programm soll den Parameter
-debug
erkennen. - Das Programm soll den Parameter
-x=10
erkennen, wobei der Wert beim Aufruf variieren kann (Integer). - Die Parameter können in unterschiedlicher Reihenfolge auftreten.
- Es kann auch nur ein Parameter angegeben werden.
Build mit Ant
- Was ist der Unterschied zwischen Ant-Targets und Ant-Tasks?
- Wie kann man Ant-Properties von außen (beim Aufruf) setzen?
- Schreiben Sie ein Ant-Target, welches alle
.class
-Dateien in einem Ordner umbenennt. - Schreiben Sie ein Ant-Target, mit dem Sie die Javadoc-Dokumentation
erzeugen, packen und das resultierende
.zip
-File in den Ordnerdist/
verschieben. - Schreiben Sie Ant-Targets, mit denen Sie JUnit-Testfälle ausführen und auswerten können.
Generics
Was kommt hier raus? Und warum?
public class X {
void methode(int a) {
System.out.println("non-generic");
}
<T> void methode(T a) {
System.out.println("generisch");
}
public static void main(String[] args) {
X x = new X();
x.methode(3);
x.methode(new Integer(4));
x.methode("huhu");
}
}
Logging
Erklären Sie den Code. Was passiert?
class MyFormatter extends SimpleFormatter {
public String format(LogRecord record) {
return super.format(record) + "---- FAKE ----\n";
}
}
public class MoreLogging {
public static void main(String[] argv) {
Logger l = Logger.getLogger("MoreLogging");
l.setLevel(Level.FINE);
ConsoleHandler myHandler = new ConsoleHandler();
myHandler.setFormatter(new MyFormatter());
myHandler.setLevel(Level.FINER);
l.addHandler(myHandler);
l.info("Hello World :-)");
l.fine("fine");
l.finer("finer");
l.finest("finest");
}
}
Methodenreferenzen
-
Was bedeutet der folgende Code?
List<String> str = Arrays.asList("a", "b", "A", "B"); str.sort(String::compareToIgnoreCase);