# E-Prüfung

Quelle: https://inf.zone/extras/exam/

Am Ende des Wintersemesters 2026/27 schreiben Sie eine E-Prüfung an Laptops, die wir stellen. Sie dauert 180 Minuten und umfasst 120 Punkte. Wer das Modul mit 6 ECTS statt mit 9 ECTS ablegt, schreibt 120 Minuten über 80 Punkte und nur den Teil zur Programmiersprache C. Die Fragen sind auf Deutsch gestellt, antworten können Sie auf Deutsch oder Englisch. Die Wiederholungsprüfung findet einige Wochen später statt (Termine finden Sie auf der Startseite und/oder in VC).

**Auf einen Blick**

- Bestanden ist die Prüfung mit mindestens der Hälfte der Punkte, Bonuspunkte nicht mitgerechnet.
- Als Hilfsmittel dürfen Sie einen handgeschriebenen Spickzettel mitbringen (ein Blatt DIN A4).
- Bis zu 20 Bonuspunkte verbessern die Note einer bestandenen Prüfung: bis zu 15 für Ihr Abschlussprojekt auf der Projektmesse, bis zu 5 aus dem Midterm, einer kurzen Klausur voraussichtlich am 7. Dezember 2026.
- Die Bonuspunkte aus dem Midterm zählen nur, wenn Sie die [Joker-Regel](#joker-regel) einhalten: Jede nicht abgegebene Übung kostet einen Joker. Sie haben drei in den C-Übungen und einen in den Übungen zu Python und Web und setzen nie zwei hintereinander ein.

*Hinweise zur technischen und organisatorischen Durchführung der E-Prüfung finden Sie im [Video auf der Lehrstuhlwebseite](https://psi.uni-bamberg.de/de/lehre/psi-exam/).* Lesen Sie auch die [Hinweise zur Prüfung](https://inf.zone/extras/exam-hints/) mit Details zum Ablauf, zur Prüfungsumgebung und zur Bewertung.

## Prüfungsrelevante Inhalte

Prüfungsrelevant ist grundsätzlich alles, was wir im Kurs behandeln, es sei denn, es wird explizit ausgeschlossen. Wie viel davon Sie beherrschen müssen, hängt davon ab, welches Ergebnis Sie anstreben. Die drei Stufen bauen aufeinander auf: Was zum Bestehen nötig ist, brauchen Sie auch für ein gutes Ergebnis, und beides zusammen für ein sehr gutes.

Mit „Vorlesung“ sind im Folgenden die Präsenztermine und/oder die Notes gemeint, mit „Shorts“ die Short-Videos und/oder ihre Folien.

**Zum Bestehen** reicht es in der Regel, wenn Sie

- zumindest die wesentlichen Konzepte aus den Vorlesungen kennen, erklären und anwenden können. Die Shorts gehören auf dieser Stufe nicht dazu; falls Sie ein Thema anhand der Vorlesung nicht verstehen, müssen Sie möglicherweise trotzdem das jeweilige Short-Video konsultieren.
- die in den Übungsaufgaben behandelten Inhalte und Techniken kennen, erklären und anwenden können.
- sich durch die Bearbeitung der Übungsaufgaben Problemlösungskompetenzen erworben haben, um Aufgaben mit vergleichbaren Problemstellungen selbständig zu lösen. In der Prüfung müssen Sie kleine Programme von Grund auf („from scratch“) erstellen oder vorgegebene Programme erweitern; weiterhin müssen Sie möglicherweise Quellcode, der in den Aufgaben vorgegeben ist, analysieren und anpassen.

**Für ein gutes Ergebnis** müssen Sie zusätzlich die in der Vorlesung und den Shorts vermittelte Theorie beherrschen und Aufgabenstellungen lösen können, die sich an die Beispiele aus der Vorlesung (siehe Notes) und aus den Shorts anlehnen. „Die drei Extra-Minuten“ der Shorts gehen meist darüber hinaus; was davon zur Basis gehört, steht auf der Seite jedes Shorts. Wer sich nur auf die Vorlesung oder nur auf die Übung konzentriert, erreicht wahrscheinlich kein gutes Ergebnis.

**Ein sehr gutes Ergebnis** erreichen Sie, wenn Sie darüber hinaus die Inhalte aus den Vorlesungen, den Shorts (inklusive der Inhalte aus „Die drei Extra-Minuten“) und den Übungsaufgaben beherrschen.

Wie Sie im Semester dorthin kommen, steht unter [Wie Sie Inf-Einf-B bewältigen](https://inf.zone/extras/lernen/).

### Sprachen und Umfang

Prüfungsrelevante Programmiersprachen bzw. Techniken sind: C und Python (inkl. Flask) sowie HTML, CSS und JavaScript. Die Mehrheit der Aufgaben betrifft C und Python (inkl. Flask); Aufgaben zu HTML, CSS und JavaScript haben einen geringeren Anteil.

Für die **6-ECTS-Prüfung** ist nur der „C-Teil“ prüfungsrelevant. Die genauen prüfungsrelevanten Inhalte für die 6-ECTS-Prüfung werden in VC bekannt gegeben.

### Art der Aufgaben

Die Reproduktion von Fakten macht nur einen geringen Teil der Prüfungsfragen bzw. der erreichbaren Punkte aus. Sie müssen zeigen, dass Sie Ihr Wissen anwenden und auf Ihnen nicht vertraute Fragestellungen übertragen können. Die Lösungen von Übungsaufgaben auswendig zu lernen, hilft deshalb wahrscheinlich wenig.

Definitionen fragen wir normalerweise nicht ab. In manchen Aufgaben zeigen wir Ihnen eine Situation oder ein Beispiel und fragen, welches Konzept dort zur Anwendung kommt. Berücksichtigen Sie das, wenn Sie überlegen, was auf Ihren [Spickzettel](#spickzettel) gehört.

Prüfungen können sich im Laufe der Zeit hinsichtlich der Aufgabentypen und Schwerpunkte erheblich voneinander unterscheiden. Schließen Sie nicht aus früheren Klausuren darauf, welche Inhalte zukünftig abgefragt werden könnten.

## Zugelassene Hilfsmittel

Zugelassen sind ein Spickzettel, das Prüfungslaptop mit den darauf installierten Programmen und Dokumenten und eine kabelgebundene USB-Maus.

### Spickzettel

Sie dürfen einen Spickzettel mitbringen: ein Blatt DIN A4, das Sie eigenhändig von Hand beschrieben haben, auf Wunsch auf beiden Seiten, und auf dem Ihr Name steht. Kopien und Ausdrucke sind nicht erlaubt. Die Aufsicht sieht das Blatt beim Einlass an.

Wer nicht von Hand schreiben kann, beantragt beim Prüfungsausschuss einen Nachteilsausgleich.

**Kein Klausur-Booklet im WiSe 2026/2027**

In diesem Semester gibt es keine Booklets, weil die Booklet-Seiten Zeit von der Bearbeitung der Übungsaufgaben weggenommen haben. Stattdessen dürfen Sie in die Klausur einen handgeschriebenen Spickzettel mitbringen.

### Laptop und Maus

Zugelassenes Hilfsmittel ist das von uns zur Verfügung gestellte Prüfungslaptop mit Debian Linux (KDE, englische Benutzeroberfläche, aber deutsches Tastaturlayout) mit allen darauf installierten Programmen, insbesondere VS Code, und Dokumenten, insbesondere den hinterlegten „man pages“, ggf. zusätzlich bereitgestellten Webseiten (werden vor der Prüfung bekannt gegeben).

Die man pages sind die Handbuchseiten zu C-Funktionen und Linux-Befehlen. Sie rufen sie im Terminal mit `man` auf, z. B. `man 3 printf` oder `man ls`, und verlassen die Anzeige mit `q`. Die Seiten zu den C-Funktionen kennen Sie aus dem Semester vom [CS50-Handbuch](https://manual.cs50.io/). Außerdem stehen Ihnen die eingebaute Hilfe von Python und der Debugger zur Verfügung.

Auf den Laptops ist ein „Deutsch-Englisch“-Wörterbuch installiert („GoldenDict“).

Zugelassenes Hilfsmittel ist weiterhin eine kabelgebundene (!) USB-Maus (üblicher USB-A-Stecker). Viele Erfahrungsberichte von Studierenden empfehlen, eine USB-Maus zu verwenden.

### Taschenrechner

Taschenrechner sind *nicht* zur Prüfung zugelassen. Auf den Laptops steht ein Taschenrechner zur Verfügung. Sie dürfen auch den interaktiven Python-Interpreter (`python3`) im Terminal benutzen.

## Täuschung und Täuschungsversuche

Wenn wir während oder nach der Prüfung feststellen, dass unerlaubte Hilfsmittel verwendet wurden, müssen wir nach § 7 (4) der [APO](https://www.uni-bamberg.de/abt-studium/aufgaben/pruefungs-studienordnungen/bachelorstudiengaenge/allgemeine-pruefungsordnung-fakultaet-wirtschaftsinformatik-und-angewandte-informatik/) verfahren (Täuschungsversuch), d. h. Sie bestehen die Prüfung nicht. In schwerwiegenden Fällen und bei wiederholtem Fehlverhalten kann der Prüfungsausschuss weitergehende Maßnahmen verhängen.

## Bonuspunkte

Sie können höchstens **20 Bonuspunkte** erwerben: bis zu 15 auf der Projektmesse und bis zu 5 im Midterm. Sie werden zu Ihrem Prüfungsergebnis addiert, wenn die Prüfung schon ohne sie bestanden ist (siehe [Ermittlung der Note](#ermittlung-der-note)).

### Projektmesse

Für die Vorstellung Ihres Abschlussprojekts auf der [Projektmesse](https://inf.zone/projektmesse/) erhalten Sie bis zu 15 Bonuspunkte. Die Code-Abgabe des Projekts ist Bedingung für diese Bonuspunkte, bringt aber keine eigenen.

### Midterm

Das Midterm ist eine Klausur von 75 Minuten mitten im Semester. Teilnehmen können Sie unabhängig davon, wie viele Übungen Sie bis dahin abgegeben haben.

| Was | Festlegung |
|---|---|
| Termin | Voraussichtlich Montag, 7. Dezember 2026, im Vorlesungstermin; der Termin ist noch nicht bestätigt. An diesem Tag gibt es keine Vorlesung. |
| Ort | Prüfungsraum, an den Prüfungslaptops |
| Dauer | 75 Minuten |
| Inhalt | kleine Programmieraufgaben in C bis einschließlich der Vorlesung 4.5 („Memory“, Fortsetzung), also mit Pointern, dynamischem Speicher und Datei-Ein-/Ausgabe. Datenstrukturen gehören nicht dazu. |
| Hilfsmittel | das [CS50-Handbuch](https://manual.cs50.io/) und VS Code einschließlich Debugger. Kein Spickzettel, keine KI-Werkzeuge. |
| Bewertung | automatisch durch Tests; die Bewertungskriterien geben wir vorab bekannt |
| Bonuspunkte | bis zu 5, je nach erreichter Punktzahl |
| Nachholtermin | Voraussichtlich 14. Dezember 2026, für alle, die am ersten Termin krankheitsbedingt verhindert sind und ein ärztliches Attest vorlegen |

### Joker-Regel

Die Bonuspunkte aus dem Midterm werden nur angerechnet, wenn Sie die Joker-Regel einhalten. Die Übungen selbst bringen keine Punkte. Jede Übung, die Sie nicht abgeben, die also keinen Stern hat, kostet einen Joker:

- In den **C-Übungen** (voraussichtlich Übungen 0 bis 8) haben Sie **drei Joker**.
- In den **Übungen zu Python und Web** (voraussichtlich Übungen 9 bis 12) haben Sie **einen Joker**.
- Sie setzen **nie zwei Joker hintereinander** ein: Auf eine ausgelassene Übung folgt eine abgegebene.

Als abgegeben zählt eine Übung, wenn sie ihren **Stern** hat. Den bekommt sie, wenn beides zutrifft:

1. Sie haben Ihre Lösung bis zur Abgabefrist der Übung mit `inf upload` hochgeladen, dem Abgabewerkzeug des Kurses im Terminal.
2. Die Lösung besteht den Test mit dem Stern: einen der automatischen Tests von `check50`, für jede Übung vorab festgelegt und auf der Seite der Übung mit ★ genannt.

**Abbildung: Für den Stern muss nur ein Test bestehen, hier der dritte.**

Ausgabe nach inf upload me, schematisch: fünf Tests untereinander. Bestanden sind hello.c exists, hello.c compiles und responds to name Mario; neben diesem dritten Test steht ein Stern. Nicht bestanden sind responds to name Peach und responds to name Bowser. Darunter steht: Der Test mit dem Stern besteht, Übung 0 zählt. Die anderen Tests zeigen, was noch fehlt.

Die übrigen Tests zeigen Ihnen, was noch fehlt; für den Stern spielen sie keine Rolle. Sie können also auch abgeben, wenn eine Aufgabe noch nicht ganz läuft. Hat eine Übung mehrere Aufgaben, gehört der Test mit dem Stern zu einer davon.

Ob Sie die Prüfung mit 6 oder mit 9 ECTS ablegen, müssen Sie dafür nicht vorab wissen. Es gilt, was zu der Klausur passt, die Sie schreiben: Für die Prüfung mit 6 ECTS zählen nur die C-Übungen, für die Prüfung mit 9 ECTS zählen beide Teile. Erfüllt sein muss die Regel bis zum Ende der Vorlesungszeit, sie erfasst also auch die Übungen nach dem Midterm. Joker, die Sie in den C-Übungen nicht brauchen, verfallen; in die Übungen zu Python und Web nehmen Sie keinen mit.

**Beispiele**

| Was Sie tun | Regel erfüllt? |
|---|---|
| Übungen 2, 5 und 7 ausgelassen, alle anderen C-Übungen abgegeben | ja, drei Joker, nie zwei hintereinander |
| Übungen 3 und 4 ausgelassen | nein, zwei Joker hintereinander |
| Übungen 1, 3, 5 und 7 ausgelassen | nein, in den C-Übungen gibt es nur drei Joker |
| alle C-Übungen abgegeben, Übungen 10 und 12 ausgelassen | für 9 ECTS nein, in den Übungen zu Python und Web gibt es nur einen Joker; für 6 ECTS ja |
| Übungen 8 und 9 ausgelassen | für 9 ECTS nein, zwei Joker hintereinander; für 6 ECTS zählt Übung 9 nicht mit |

Für eine Krankheit oder eine schlechte Woche sind die Joker da. In Härtefällen kann das Kursteam eine Übung entschuldigen, etwa wenn Sie wegen Krankheit zwei Übungen hintereinander verpassen oder wenn Sie alle Joker eingesetzt haben und danach krank werden. Eine entschuldigte Übung kostet keinen Joker; `inf status` zeigt sie als „entschuldigt“. Sprechen Sie uns dafür an.

Geben Sie jede Übung ab, die für Ihre Prüfung zählt, bekommen Sie eine inf.zone-Tasse: für die Prüfung mit 6 ECTS alle C-Übungen, für die Prüfung mit 9 ECTS alle Übungen beider Teile. Ein Joker oder eine entschuldigte Übung ist keine abgegebene Übung. Wie viele Ihnen noch fehlen, zeigt `inf status`.

Was außerdem gilt:

- Bei den Übungen sind alle Hilfsmittel zugelassen.
- Verspätete Abgaben werden geprüft, zählen aber nicht.
- Warm-ups, die Checks „Stadt, Land, Fluss“, Scratch und die Challenges sind freiwillig: Sie kosten keinen Joker und ersetzen keine Abgabe.
- Welcher Test den Stern einer Übung trägt, steht auf der Kursseite, bevor der Bearbeitungszeitraum der Übung beginnt.
- Ihre Abgaben werden zur Bewertung der Bonusleistung unter Ihrem Namen gespeichert.

**Wozu das Ganze?**

Die Regel soll Sie das ganze Semester über an den Übungen halten und lässt trotzdem Spielraum: Mit einem Joker lassen Sie eine Übung wegen Krankheit oder einer schlechten Woche aus, ohne ein Attest vorzulegen. Bei den Übungen dürfen Sie jede Hilfe nutzen, auch KI-Werkzeuge. Im Midterm haben Sie nur das CS50-Handbuch und VS Code mit dem Debugger. Dort sehen Sie, ob Sie den Stoff allein können, an denselben Laptops wie in der Prüfung.

### Gültigkeit

Bonuspunkte aus Projektmesse und Midterm sind nur bei der Prüfung im aktuellen Semester und der unmittelbar darauffolgenden Wiederholungsprüfung gültig. Wenn Sie die Prüfung in einem späteren Semester ablegen, können Sie mit dem gleichen Projekt erneut an der Projektmesse teilnehmen, müssen es dort aber erneut präsentieren.

## Ermittlung der Note

Für alle gilt:

- Bestanden ist die Prüfung mit mindestens der Hälfte der Punkte, also mit 60 von 120 bzw. 40 von 80.
- Die Bonuspunkte kommen nur zu einer bestandenen Prüfung dazu. Wer in der Prüfung selbst unter der Hälfte bleibt, erhält die Note 5,0, auch mit Bonuspunkten.
- Gerundet wird nichts.

Für die Note rechnen wir Ihre Prüfungspunkte auf eine Skala von 0 bis 100 um und addieren die Bonuspunkte. Ab 50 gibt es die 4,0, je 5 Punkte mehr eine Notenstufe besser, ab 95 die 1,0. Klappen Sie die Rechnung für Ihre Prüfung auf.

**Rechnung für 9 ECTS (120 Punkte)**

\[ \text{skaliert} = \frac{\text{erreichte Punkte}}{120} \cdot 100 \qquad \text{gesamt} = \text{skaliert} + \text{Bonuspunkte} \]

Beispiel: Sie erreichen 80 von 120 Punkten und haben 15 Bonuspunkte, 12 von der Projektmesse und 3 aus dem Midterm.

| Schritt | Wert |
|---|---|
| skaliert | 80 / 120 · 100 = 66,67 |
| mindestens 50? | ja, die Bonuspunkte zählen |
| gesamt | 66,67 + 15 = 81,67 |
| Note | 2,0 (ohne Bonuspunkte: 3,0) |

Mit 59 von 120 Punkten läge das skalierte Ergebnis bei 49,17. Die Prüfung wäre nicht bestanden, auch nicht mit 20 Bonuspunkten.

**Rechnung für 6 ECTS (80 Punkte)**

\[ \text{skaliert} = \frac{\text{erreichte Punkte}}{80} \cdot 100 \qquad \text{gesamt} = \text{skaliert} + \text{Bonuspunkte} \]

Beispiel: Sie erreichen 46 von 80 Punkten und haben 4 Bonuspunkte aus dem Midterm.

| Schritt | Wert |
|---|---|
| skaliert | 46 / 80 · 100 = 57,5 |
| mindestens 50? | ja, die Bonuspunkte zählen |
| gesamt | 57,5 + 4 = 61,5 |
| Note | 3,3 (ohne Bonuspunkte: 3,7) |

Mit 39 von 80 Punkten läge das skalierte Ergebnis bei 48,75. Die Prüfung wäre nicht bestanden, auch nicht mit Bonuspunkten.

**Alle Notenstufen**

| Gesamtergebnis | Note |
|---|---|
| unter 50 | 5,0 |
| ab 50 bis unter 55 | 4,0 |
| ab 55 bis unter 60 | 3,7 |
| ab 60 bis unter 65 | 3,3 |
| ab 65 bis unter 70 | 3,0 |
| ab 70 bis unter 75 | 2,7 |
| ab 75 bis unter 80 | 2,3 |
| ab 80 bis unter 85 | 2,0 |
| ab 85 bis unter 90 | 1,7 |
| ab 90 bis unter 95 | 1,3 |
| ab 95 | 1,0 |
