Abschnitt 1: Ausgangssituation und aktueller Erfolg
Bitte kreuzen Sie an, was auf Sie zutrifft:
Aufgabe: Eingabe und Ausgabe.
Schreiben Sie ein Programm, das cs50.h einbindet und eine ganze Zahl vom Benutzer einliest und dann das Doppelte dieser Zahl ausgibt.
Aufgabe: Summe der Quadrate berechnen.
Schreiben Sie ein Programm, das ein Array von fünf Ganzzahlen enthält. Es gibt eine Funktion quadratsumme, der das Array übergeben wird. Der Rückgabewert ist die Summe der Quadrate der Zahlen. Die main-Funktion gibt die Summe aus.
Bitte kreuzen Sie die Aufgaben an, die Sie aktuell ohne Hilfe von anderen lösen können:
Wie viele der insgesamt 10 Übungsaufgaben (inkl. "Stadt Land Fluss") haben Sie versucht zu bearbeiten?
Wie viele der bisherigen Übungen könnten Sie aktuell vollständig oder weitgehend lösen?
Aufgabe: Pointer und Arrayzugriff.
Betrachten Sie den folgenden Codeausschnitt:
int numbers[] = {1, 2, 3, 4, 5};
int *ptr = numbers;
printf("%d\n", *(ptr + 3));
Was wird durch diesen Code ausgegeben und warum? Erklären Sie, was passiert und welche Ausgabe erzeugt wird.
Aufgabe: Pointer als Parameter.
Schreiben Sie eine Funktion void increment(int *value)
, die den Wert der übergebenen Ganzzahl um 1 erhöht. Verwenden Sie diese Funktion in main, um eine Variable x zu inkrementieren und geben Sie das Ergebnis aus.
Abschnitt 2: Lernmethoden und Organisation
Kreuzen Sie die Aktivitäten an, mit denen Sie aktuell lernen oder in den bisherigen Wochen meistens gelernt haben.
Eigenes Üben
Aufgabe: Structs.
Definieren Sie eine struct namens Person
, die folgende Felder enthält: char name[50]
und int matrikelnummer
. Schreiben Sie ein Programm, das ein Array für drei Personen erstellt und den Namen der letzten Person auf "Michaela" setzt.
Haben Sie Vorschläge zur Verbesserung der Tutorien oder des Kursformats?
Abschnitt 3: Herausforderungen im Kurs
Kreuzen Sie die Aussagen an, die auf Sie aktuell zutreffen.
Verständnisprobleme
Bitte kreuzen Sie die Aussagen an, die auf Sie aktuell zutreffen und füllen Sie die Textfelder aus.
Praktische Umsetzung
Was ist Ihre größte Herausforderung im Kurs, die oben noch nicht genannt wurde?
Aufgabe: Fehler finden.
In folgendem Code sind Fehler enthalten. Die Syntax ist korrekt.
int main() {
int n = 5;
int *z = NULL;
int *array = malloc(5);
for (int i = 0; i <= n; i++) {
array[i] = i * 2;
*z = array[i];
}
free(array);
printf("%d\n", *z);
return 0;
}
Identifizieren Sie alle Fehler im Code. Erklären Sie, warum sie problematisch sind und wie man sie beheben kann.
Abschnitt 4: Zeitaufwand und Organisation
Wöchentlicher Zeitaufwand für den Kurs (Präsenzzeit und Selbststudium)
Dauer einer typischen Lernsitzung für Inf-Einf-B (mit Pausen):
Haben Sie bereits etwas an Ihrem Zeitmanagement geändert? Hat es geholfen?
Aufgabe: Primzahl.
Schreiben Sie eine Funktion, die überprüft, ob eine gegebene Zahl eine Primzahl ist. Geben Sie 1 zurück, wenn die Funktion eine Primzahl ist, andernfalls 0.
Aufgabe: Zeichenkette umkehren.
Schreiben Sie eine Funktion reverse_string
, die eine umgekehrte Version der übergebenen Zeichenkette zurückgibt. Nutzen Sie dazu dynamische Speicherallokation.
Abschnitt 5: Erfolgsfaktoren
Was hilft Ihnen aktuell am meisten? Bitte hier maximal drei Kreuze setzen.
Welchen Rat würden Sie anderen Studierenden geben, um in diesem Kurs erfolgreich zu sein?
Was gefällt Ihnen, was macht Ihnen Spaß?
Was könnten wir anders machen, um Sie beim Lernen zu unterstützen?
Ihre Angaben werden erst an uns übertragen, wenn Sie den Fragebogen einreichen. Stellen Sie zuvor sicher, dass Ihre Internetverbindung funktioniert, um Datenverlust zu vermeiden.