Diskussion:BSE Modellierung und Simulation: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „--~~~~ = 2DO = * L05 erweitern: [https://de.mathworks.com/company/technical-articles/matrix-indexing-in-matlab.html Matrix Indexing in MATLAB<sup>®</sup>]“ |
Keine Bearbeitungszusammenfassung |
||
| Zeile 2: | Zeile 2: | ||
= 2DO = | = 2DO = | ||
* L05 erweitern: [https://de.mathworks.com/company/technical-articles/matrix-indexing-in-matlab.html Matrix Indexing in MATLAB<sup>®</sup>] | * L05 erweitern: [https://de.mathworks.com/company/technical-articles/matrix-indexing-in-matlab.html Matrix Indexing in MATLAB<sup>®</sup>] | ||
= Feedback-System = | |||
Perfekt — für schnell und kostenlos empfehle ich Google Forms + Google Sheets. Keine Programmierung nötig, keine Kontenpflege (Studis brauchen nur ihre Uni‑Mail) und die Dozentin sieht jederzeit Live‑Daten. Ich beschreibe ein fertiges Setup + die wichtigsten Formeln, damit du sofort starten kannst. Wenn du willst, erstelle ich dir die Vorlage (Form + Sheet). | |||
Kurzübersicht der Lösung | |||
- Studierende füllen ein kurzes Google Form: Kurs/Task, Status (in Bearbeitung / erledigt), evtl. Kommentar. | |||
- Jede Einreichung wird mit Timestamp in ein Google Sheet geschrieben. Studierende können ihren Status jederzeit ändern, indem sie das Formular erneut ausfüllen. | |||
- Im Sheet erzeugen wir eine „Aktuellste Status“-Ansicht (für jede Kombination Student × Aufgabe die neueste Einreichung) und ein Dashboard mit Zusammenfassungen (z. B. % erledigt pro Aufgabe, Liste der Studierenden in Bearbeitung). | |||
Schritt‑für‑Schritt Einrichtung | |||
1) Google Form anlegen | |||
- Neues Formular erstellen (forms.google.com). Felder: | |||
- E-Mail (Kurzantwort) — empfehlenswert Pflichtfeld (oder Formular-Login erzwingen, wenn Uni‑G Suite genutzt wird). | |||
- Name (optional). | |||
- Aufgabe / Task (Dropdown oder Mehrfachauswahl) — Pflicht. | |||
- Status (Multiple Choice): „In Bearbeitung“, „Erledigt“ — Pflicht. | |||
- Kommentar (optional). | |||
- Einstellungen: Antworten in ein Google Sheet speichern (Antwortziel auswählen → neues Spreadsheet). | |||
2) Antworten‑Sheet prüfen | |||
- Das verknüpfte Sheet hat standardmäßig Spalten: Timestamp | E‑mail | Name | Task | Status | Kommentar. | |||
- Nenne dieses Sheet z. B. „Responses“. | |||
3) Blatt für „aktuelle“ Statuswerte erstellen | |||
- Neues Blatt im selben Spreadsheet anlegen, nenne es „Latest“. | |||
- Struktur in „Latest“: Spalten A:E: Email | Name | Task | Status | Timestamp | |||
Wir brauchen für jede Kombination (Email + Task) nur die neueste Einreichung. So geht das ohne Script: | |||
a) Erstelle ein Hilfsblatt „SortedResponses“: | |||
- Kopiere alle Spalten aus „Responses“ hierher, und sortiere die Tabelle nach Timestamp absteigend (neueste oben). | |||
- Einfachste Methode: in SortedResponses!A1 einfügen: | |||
=SORT(Responses!A:F, Responses!A:A, FALSE) | |||
(angepasst, falls andere Spaltenanzahl) — das sortiert nach Timestamp (Spalte A) absteigend. | |||
b) In „Latest“ Liste der eindeutigen Kombinationen erzeugen: | |||
- In Latest!A2 (Email): | |||
=UNIQUE(FILTER(SortedResponses!B:B, LEN(SortedResponses!B:B))) | |||
— das gibt alle Emails; wir brauchen jeweils Email+Task. Besser ist UNIQUE über eine Hilfsspalte: | |||
- In SortedResponses füge rechts (z. B. Spalte G) eine Schlüsselspalte: | |||
G2: | |||
=ARRAYFORMULA( IF(ROW(SortedResponses!A:A)=1, "Key", SortedResponses!B:B & "||" & SortedResponses!D:D) ) | |||
(B = Email, D = Task; passe Spaltenbuchstaben an.) | |||
- Dann in Latest!A2:A hole die eindeutigen Keys (erste Vorkommen ist jeweils die aktuellste, weil sortiert): | |||
=UNIQUE(SortedResponses!G2:G, TRUE) | |||
c) Schlüssel aufteilen in Email + Task und Status/Timestamp holen | |||
- In Latest!A1..E1 setze Überschriften: Key | Email | Task | Status | Timestamp | |||
- In Latest!A2: | |||
=UNIQUE(SortedResponses!G2:G, TRUE) | |||
- In Latest!B2 (Email): | |||
=ARRAYFORMULA(IF(A2:A="", "", LEFT(A2:A, FIND("||", A2:A)-1))) | |||
- In Latest!C2 (Task): | |||
=ARRAYFORMULA(IF(A2:A="", "", MID(A2:A, FIND("||", A2:A)+2, 999))) | |||
- Um Status (erste Zeile in SortedResponses mit diesem Key) zu holen, benutze VLOOKUP auf die sortierte Tabelle: | |||
In Latest!D2: | |||
=ARRAYFORMULA(IF(A2:A="", "", VLOOKUP(A2:A, {SortedResponses!G2:G, SortedResponses!E2:E}, 2, FALSE))) | |||
(E = Status-Spalte in SortedResponses; passe an.) | |||
- Timestamp in Latest!E2: | |||
=ARRAYFORMULA(IF(A2:A="", "", VLOOKUP(A2:A, {SortedResponses!G2:G, SortedResponses!A2:A}, 2, FALSE))) | |||
Erklärung: Weil SortedResponses absteigend nach Timestamp sortiert ist, liefert das erste VLOOKUP-Ergebnis pro Key den neuesten Eintrag. | |||
4) Dashboard / Auswertungen | |||
- Prozent erledigt pro Task: | |||
- Liste alle Tasks (z. B. in Dashboard!A2:A). Dann in Dashboard!B2 (Anteil erledigt): | |||
=COUNTIFS(Latest!C:C, A2, Latest!D:D, "Erledigt") / COUNTIF(Latest!C:C, A2) | |||
- Formatiere als Prozent. | |||
- Anzahl Studierende aktuell „In Bearbeitung“ pro Task: | |||
=COUNTIFS(Latest!C:C, A2, Latest!D:D, "In Bearbeitung") | |||
- Gesamtfortschritt des Kurses: Summe aller erledigt / Anzahl aller Einträge: | |||
=COUNTIF(Latest!D:D, "Erledigt") / COUNTA(Latest!D:D) | |||
5) Freigabe & Datenschutz | |||
- Du musst das Formular teilen (Link). Studierende benötigen nicht die Sheet‑Berechtigung. | |||
- Sheet nur der Lehrperson (oder Assistierenden) zugänglich machen. | |||
- Falls Studierende die Resultate sehen dürfen, kannst du passende Ansichten / Dashboard teilen — aber DSGVO: E‑Mails werden gespeichert; klärt das mit eurer Uni‑Datenschutzstelle. | |||
- Wenn Anonymität gewünscht: statt E‑Mail eine Matrikelnummer oder Nickname verwenden (oder Form so einstellen, dass Mail nicht Pflicht ist). | |||
Tipps / Erweiterungen (ohne Kosten) | |||
- E-Mail automatisch vorausfüllen: Wenn Studierende ein G‑Suite‑Konto (Uni) nutzen, kannst du in Formulareinstellungen „E-Mail-Adressen sammeln“ aktivieren. | |||
- Benachrichtigungen: Formulare → Antworten → Benachrichtigungen (oder in Sheets: Datei → Benachrichtigungen bei Änderungen). | |||
- CSV‑Export: File → Download, oder automatischer Export per Google Sheets Add‑on (optional). | |||
Möchtest du, dass ich dir das Formular + ein fertiges Spreadsheet mit den Formeln erstelle und für dich freigebe (du kannst es dann kopieren und anpassen)? Wenn ja, sag mir: | |||
- Welche Task‑Namen sollen standardmäßig im Dropdown stehen (z. B. Aufgabe 1, Aufgabe 2, Projekt)? | |||
- Sollen Studierende per E‑Mail identifiziert werden (empfohlen) oder anonym? | |||
Aktuelle Version vom 28. April 2026, 06:54 Uhr
--Ulrich.schneider@hshl.de (Diskussion) 06:29, 24. Apr. 2026 (UTC)
2DO
- L05 erweitern: Matrix Indexing in MATLAB®
Feedback-System
Perfekt — für schnell und kostenlos empfehle ich Google Forms + Google Sheets. Keine Programmierung nötig, keine Kontenpflege (Studis brauchen nur ihre Uni‑Mail) und die Dozentin sieht jederzeit Live‑Daten. Ich beschreibe ein fertiges Setup + die wichtigsten Formeln, damit du sofort starten kannst. Wenn du willst, erstelle ich dir die Vorlage (Form + Sheet).
Kurzübersicht der Lösung - Studierende füllen ein kurzes Google Form: Kurs/Task, Status (in Bearbeitung / erledigt), evtl. Kommentar. - Jede Einreichung wird mit Timestamp in ein Google Sheet geschrieben. Studierende können ihren Status jederzeit ändern, indem sie das Formular erneut ausfüllen. - Im Sheet erzeugen wir eine „Aktuellste Status“-Ansicht (für jede Kombination Student × Aufgabe die neueste Einreichung) und ein Dashboard mit Zusammenfassungen (z. B. % erledigt pro Aufgabe, Liste der Studierenden in Bearbeitung).
Schritt‑für‑Schritt Einrichtung
1) Google Form anlegen - Neues Formular erstellen (forms.google.com). Felder:
- E-Mail (Kurzantwort) — empfehlenswert Pflichtfeld (oder Formular-Login erzwingen, wenn Uni‑G Suite genutzt wird). - Name (optional). - Aufgabe / Task (Dropdown oder Mehrfachauswahl) — Pflicht. - Status (Multiple Choice): „In Bearbeitung“, „Erledigt“ — Pflicht. - Kommentar (optional).
- Einstellungen: Antworten in ein Google Sheet speichern (Antwortziel auswählen → neues Spreadsheet).
2) Antworten‑Sheet prüfen - Das verknüpfte Sheet hat standardmäßig Spalten: Timestamp | E‑mail | Name | Task | Status | Kommentar. - Nenne dieses Sheet z. B. „Responses“.
3) Blatt für „aktuelle“ Statuswerte erstellen - Neues Blatt im selben Spreadsheet anlegen, nenne es „Latest“. - Struktur in „Latest“: Spalten A:E: Email | Name | Task | Status | Timestamp
Wir brauchen für jede Kombination (Email + Task) nur die neueste Einreichung. So geht das ohne Script:
a) Erstelle ein Hilfsblatt „SortedResponses“: - Kopiere alle Spalten aus „Responses“ hierher, und sortiere die Tabelle nach Timestamp absteigend (neueste oben). - Einfachste Methode: in SortedResponses!A1 einfügen:
=SORT(Responses!A:F, Responses!A:A, FALSE) (angepasst, falls andere Spaltenanzahl) — das sortiert nach Timestamp (Spalte A) absteigend.
b) In „Latest“ Liste der eindeutigen Kombinationen erzeugen: - In Latest!A2 (Email):
=UNIQUE(FILTER(SortedResponses!B:B, LEN(SortedResponses!B:B))) — das gibt alle Emails; wir brauchen jeweils Email+Task. Besser ist UNIQUE über eine Hilfsspalte:
- In SortedResponses füge rechts (z. B. Spalte G) eine Schlüsselspalte:
G2: =ARRAYFORMULA( IF(ROW(SortedResponses!A:A)=1, "Key", SortedResponses!B:B & "||" & SortedResponses!D:D) ) (B = Email, D = Task; passe Spaltenbuchstaben an.)
- Dann in Latest!A2:A hole die eindeutigen Keys (erste Vorkommen ist jeweils die aktuellste, weil sortiert):
=UNIQUE(SortedResponses!G2:G, TRUE)
c) Schlüssel aufteilen in Email + Task und Status/Timestamp holen - In Latest!A1..E1 setze Überschriften: Key | Email | Task | Status | Timestamp - In Latest!A2:
=UNIQUE(SortedResponses!G2:G, TRUE)
- In Latest!B2 (Email):
=ARRAYFORMULA(IF(A2:A="", "", LEFT(A2:A, FIND("||", A2:A)-1)))
- In Latest!C2 (Task):
=ARRAYFORMULA(IF(A2:A="", "", MID(A2:A, FIND("||", A2:A)+2, 999)))
- Um Status (erste Zeile in SortedResponses mit diesem Key) zu holen, benutze VLOOKUP auf die sortierte Tabelle:
In Latest!D2:
=ARRAYFORMULA(IF(A2:A="", "", VLOOKUP(A2:A, {SortedResponses!G2:G, SortedResponses!E2:E}, 2, FALSE)))
(E = Status-Spalte in SortedResponses; passe an.)
- Timestamp in Latest!E2:
=ARRAYFORMULA(IF(A2:A="", "", VLOOKUP(A2:A, {SortedResponses!G2:G, SortedResponses!A2:A}, 2, FALSE)))
Erklärung: Weil SortedResponses absteigend nach Timestamp sortiert ist, liefert das erste VLOOKUP-Ergebnis pro Key den neuesten Eintrag.
4) Dashboard / Auswertungen - Prozent erledigt pro Task:
- Liste alle Tasks (z. B. in Dashboard!A2:A). Dann in Dashboard!B2 (Anteil erledigt): =COUNTIFS(Latest!C:C, A2, Latest!D:D, "Erledigt") / COUNTIF(Latest!C:C, A2) - Formatiere als Prozent.
- Anzahl Studierende aktuell „In Bearbeitung“ pro Task:
=COUNTIFS(Latest!C:C, A2, Latest!D:D, "In Bearbeitung")
- Gesamtfortschritt des Kurses: Summe aller erledigt / Anzahl aller Einträge:
=COUNTIF(Latest!D:D, "Erledigt") / COUNTA(Latest!D:D)
5) Freigabe & Datenschutz - Du musst das Formular teilen (Link). Studierende benötigen nicht die Sheet‑Berechtigung. - Sheet nur der Lehrperson (oder Assistierenden) zugänglich machen. - Falls Studierende die Resultate sehen dürfen, kannst du passende Ansichten / Dashboard teilen — aber DSGVO: E‑Mails werden gespeichert; klärt das mit eurer Uni‑Datenschutzstelle. - Wenn Anonymität gewünscht: statt E‑Mail eine Matrikelnummer oder Nickname verwenden (oder Form so einstellen, dass Mail nicht Pflicht ist).
Tipps / Erweiterungen (ohne Kosten) - E-Mail automatisch vorausfüllen: Wenn Studierende ein G‑Suite‑Konto (Uni) nutzen, kannst du in Formulareinstellungen „E-Mail-Adressen sammeln“ aktivieren. - Benachrichtigungen: Formulare → Antworten → Benachrichtigungen (oder in Sheets: Datei → Benachrichtigungen bei Änderungen). - CSV‑Export: File → Download, oder automatischer Export per Google Sheets Add‑on (optional).
Möchtest du, dass ich dir das Formular + ein fertiges Spreadsheet mit den Formeln erstelle und für dich freigebe (du kannst es dann kopieren und anpassen)? Wenn ja, sag mir: - Welche Task‑Namen sollen standardmäßig im Dropdown stehen (z. B. Aufgabe 1, Aufgabe 2, Projekt)? - Sollen Studierende per E‑Mail identifiziert werden (empfohlen) oder anonym?