9185
Kommentar:
|
← Revision 267 vom 2024-03-21 09:06:12 ⇥
13422
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 7: | Zeile 7: |
Sommersemester 2018, G2.09, G2.16, Di 8:00-9:30, 9:50-11:20, 11:40-13:10, 14:00-15:30 Hubert Högl, <Hubert.Hoegl@hs-augsburg.de>, http://hhoegl.informatik.hs-augsburg.de URL: http://elk.informatik.hs-augsburg.de/hhwiki/DVAINF_Praktikum .. Hint:: Verwenden Sie die folgende E-mail Adresse für alle Fragen zum Kurs: dva18@hhoegl.informatik.hs-augsburg.de |
Sommersemester 2024 Hubert Högl, <Hubert.Hoegl@hs-augsburg.de>, https://hhoegl.informatik.hs-augsburg.de URL: https://hhoegl.informatik.hs-augsburg.de/hhwiki/DVAINF_Praktikum Moodle-Kurs SoSe2024: https://moodle.hs-augsburg.de/course/view.php?id=8018 Gitlab (**nur mit VPN**): https://gitlab.informatik.hs-augsburg.de/dva/berichte-2024 Kurzanleitung zur Vorbereitung (fasst den folgenden Text auf dieser Seite zusammen): https://hhoegl.informatik.hs-augsburg.de/dva/inf/DVAINF-TLDR.txt Kurzübersicht Themen der vergangenen Jahre: https://hhoegl.informatik.hs-augsburg.de/dva/inf/Themen **Etherpad für die Planung der Themen:** https://yopad.eu/p/dvainf24 Mitschnitt der Einführungsveranstaltung vom 26.3.20, 9:50-11:20, https://cloud.hs-augsburg.de/s/RdL8dim6FxgcGLB .. Organisation (nur Betreuer): http://hhoegl.informatik.hs-augsburg.de/dva/inf/orga/ ---- .. Verwenden Sie die folgende E-mail Adresse zum Kurs: **dva@hhoegl.informatik.hs-augsburg.de** Aktuelle Tipps -------------- Sommer 2024 * Benachrichtigungen von Moodle oder Gitlab werden an Ihre E-mail Adresse geschickt. Bitte lesen Sie deshalb regelmässig Ihre E-mails, mindestens ein mal am Tag! Sommer 2023 * Alle die etwas mit Containern zu tun haben sei das freie Buch "Podman in Action" empfohlen: https://developers.redhat.com/e-books/podman-action `Podman <https://podman.io>`_ ist eine Neuimplementierung von Docker die komplett Open-Source ist und einige Vorteile zu Docker bietet. Man kann alles was man in Docker auf der Kommandozeile gewohnt ist auch genauso in Podman eingeben. ---- |
Zeile 25: | Zeile 66: |
* Fritz Schöppler (FS) | * Volodymyr Brovkov (VB) |
Zeile 31: | Zeile 73: |
der Informatik in praktischen Kontakt kommen. Aus einer Themenliste werden Sie ein Semester | der Informatik in praktischen Kontakt kommen. Aus einer Themenliste (siehe Abschnitt Versuche_) werden Sie ein Semester |
Zeile 36: | Zeile 79: |
bei 150 Stunden (45 Std. Präsenz, 105 Std. Selbststudium). | bei 150 Stunden *je Teammitglied* (45 Std. Präsenz, 105 Std. Selbststudium). |
Zeile 48: | Zeile 91: |
:: 1. 20.3. Vorbesprechung, M1.01, 8:00 2. 27.3. Abgabe der Vorbereitung, Ausgabe Versuch 1 Zwei Wochen Zeit! (Ostern 3.4. frei) 3. 10.4. Abgabe Versuch 1, Ausgabe Versuch 2 4. 17.4. 5. 24.4. Abgabe Versuch 2, Ausgabe Versuch 3 Zwei Wochen Zeit! (1. Mai) 6. 8.5. Abgabe Versuch 3, Ausgabe Versuch 4 EINE Woche Zeit! 7. 15.5. Abgabe Versuch 4, Ausgabe Versuch 5 Zwei Wochen Zeit! (Pfingsten 22.5. frei) 8. 29.5. Abgabe Versuch 5, Ausgabe Versuch 6 9. 5.6. 10. 12.6. Abgabe Versuch 7, Ausgabe Versuch 7 11. 19.6. 12. 26.6. Abgabe Versuch 7 |
Die Termine und Einteilungen finden Sie im Moodle Kurs. |
Zeile 86: | Zeile 99: |
.. figure:: workflow1.png | .. figure:: http://hhoegl.informatik.hs-augsburg.de/dva/workflow/workflow1.png |
Zeile 90: | Zeile 103: |
*Diese Dienste sind beim DVA Praktikum beteiligt.* In der **Vorbesprechung** werden wir Gruppen einteilen. Ich rechne mit etwa vier Personen pro Gruppe, so dass insgesamt 12 bis 15 Gruppen entstehen. Jede Gruppe sucht sich einen Versuch aus und bearbeitet ihn in der vorgegebenen Zeit (siehe Abschnitt Termine_). Jede Gruppe schreibt im Semester *einen* Bericht, der für jeden Versuch ein Kapitel enthält. Der Bericht wird mit `Sphinx <http://www.sphinx-doc.org>`_ geschrieben und in einem `Gitlab <https://r-n-d.informatik.hs-augsburg.de>`_ Repository fortlaufend aktualisiert. Auch die pro Versuch angefertigten Quelltexte werden in gitlab abgespeichert. Die **Abgabe** erfolgt nach der ein- oder zweiwöchigen Bearbeitungszeit. In den Laboren G2.09 oder G2.16 kann jede Gruppe Ihren Versuch vorführen. Der Bericht existiert *nur in elektronischer Form*. Ihr Betreuer wird den aktuellen Stand des Berichtes über die Kommunikationsmöglichkeiten von *gitlab* der Gruppe mitteilen ("issues"). Der Bericht sollte bereits während der Durchführung des Versuches angefertigt werden, so dass möglichst früh eine Rückmeldung gegeben werden kann. Sollte die Versuchdurchführung und/oder der Bericht nicht den Anforderungen genügen, dann besteht zusätzlich eine Woche Zeit für Verbesserungen. |
*Diese Menschen und Dienste sind beim DVA Praktikum beteiligt.* Die Studentinnen und Studenten werden in Teams eingeteilt, jedes Team hat in etwa vier bis sechs Mitglieder. Jedes Team sucht sich einen Versuch aus und bearbeitet ihn in der vorgegebenen Bearbeitungszeit (in der Regel zwei Wochen, gelegentlich auch nur eine Woche). Am Ende der Bearbeitungszeit wird der Versuch präsentiert Legen Sie Wert auf eine gute **Versuchsvorführung**, das macht die Präsentation lebhaft. In der Regel werden zur Vorführung und zum Bericht von ihren Betreuern Verbesserungsvorschläge gemacht, die innerhalb der darauffolgenden Woche umgesetzt werden müssen. Jedes Team schreibt im Semester *einen einzigen* Bericht, der für jeden Versuch ein Kapitel enthält. Am Ende der Bearbeitungszeit eines Versuches muss der Bericht aktualisiert sein. Der Bericht wird mit `Sphinx <http://www.sphinx-doc.org>`_ geschrieben und in einem `Gitlab <https://gitlab.informatik.hs-augsburg.de>`_ Repository fortlaufend aktualisiert. Der Bericht existiert *nur in elektronischer Form*. Auch die pro Versuch angefertigten Quelltexte und sonstigen notwendigen Dateien werden in gitlab abgespeichert. In der **Bearbeitungszeit** des Versuchs arbeiten alle Team-Mitglieder zusammen. Typische Tätigkeiten sind Recherche, Aufteilung der Arbeit, Programmierung, Fehlersuche, Bericht, Präsentation und Vorführung erstellen. Sie können entweder ausserhalb der Hochschule oder in den Laboren der Hochschule (G2.09, G2.16) arbeiten. Dazu sind die Labore täglich geöffnet von ca. 8:00 bis 17 Uhr. Anmerkung: Seit Corona arbeiten wir nur noch Online zusammen. |
Zeile 106: | Zeile 121: |
"Lagebesprechung" im Labor genutzt werden. | "Lagebesprechung" im Labor oder per Zoom genutzt werden. Die Versuche werden je Team als **bestanden** oder **nicht bestanden** gewertet. Die Betreuer führen je Versuch und Team einen "Zustandsautomaten", der wie folgt funktioniert: .. figure:: dvafsm.png :width: 350 :align: center *Der Zustandsautomat der Bewertung.* Jedes Team muss bei allen Versuchen den Zustand "bestanden" erreichen. |
Zeile 111: | Zeile 138: |
Nach der Vorbesprechung lege ich die benötigte Anzahl Repositories an und gebe über Moodle an alle Bescheid. Der *owner* der Repositories bin ich. Als *master* wird ein Studierender pro Gruppe ausgewählt, der dann selbständig die weiteren Gruppenmitglieder einteilen kann. Ausserdem wird Fritz Schöppler als Master aufgenommen werden. |
Am Anfang der Veranstaltung werden die benötigte Anzahl Repositories von den Betreuern angelegt. Der *Owner* der Repositories ist ihr Betreuer. Als *Maintainer* wird ein Studierender pro Team ausgewählt, der dann selbständig die weiteren Teammitglieder einteilen kann. |
Zeile 118: | Zeile 145: |
Der Inhalt wird im `Markdown <https://docs.gitlab.com/ee/user/markdown.html>`_ Format geschrieben. Gitlab zeigt den Inhalt dieser Datei grafisch ansprechend an. Die Datei dient als erste Beschreibung, wenn jemand das Repository auswählt. Deshalb sollte in etwa der folgende Inhalt angezeigt werden: |
Der Inhalt wird im `Markdown <https://docs.gitlab.com/ee/user/markdown.html>`_ Format geschrieben. Gitlab zeigt den Inhalt dieser Datei schön formatiert an. Die Datei dient als erste Beschreibung, wenn jemand das Repository auswählt. Deshalb sollte in etwa der folgende Inhalt enthalten sein: |
Zeile 129: | Zeile 153: |
Sommersemester 2018 \ | Sommersemester 2021 \ |
Zeile 132: | Zeile 156: |
**Gruppe: 1** <!-- Nr Name MatrNr Studiengang, E-mail --> 1. Hans Maier, #123456, INF, <Hans.Maier@hs-augsburg.de> 2. Anna Huber, #126987, INF, <Anna.Huber@hs-augsburg.de> 3. Franz Xaver, #349816, INF, <Franz.Xaver@hs-augsburg.de> 4. Isolde Weber, #432190, INF, <Isolde.Weber@hs-augsburg.de> |
**Team: 1** <!-- Nr Name MatrNr Studiengang+Sem, E-mail --> 1. Hans Maier, #123456, INF6, <Hans.Maier@hs-augsburg.de> 2. Anna Huber, #126987, INF6, <Anna.Huber@hs-augsburg.de> 3. Franz Xaver, #349816, INF8, <Franz.Xaver@hs-augsburg.de> 4. Isolde Weber, #432190, INF8, <Isolde.Weber@hs-augsburg.de> |
Zeile 141: | Zeile 165: |
Statt der \\-Zeichen kann man zum Zeilenumbruch auch zwei oder mehr Leerzeichen am Zeilenende verwenden. |
|
Zeile 148: | Zeile 175: |
Die Struktur auf Gitlab für diese Veranstaltung wird so aussehen: Es gibt eine Gitlab Gruppe ``dva18``, unter der die Repositories der einzelnen Projektgruppen gesammelt sind (Achtung: Die "Gruppe" in Gitlab hat nichts mit unserer Gruppeneinteilung zu tun). Gruppe ``dva18``: https://r-n-d.informatik.hs-augsburg.de:8080/dva18/ In der Gruppe findet man die Projektgruppen als simple Zahlen, z.B. ``1``: https://r-n-d.informatik.hs-augsburg.de:8080/dva18/1 |
Mit dem Werkzeug ``grip`` (https://github.com/joeyespo/grip) kann man bereits auf dem Entwicklungsrechner prüfen, wie die ``README.md`` Datei formatiert wird. Den aktuellen Gitlab Link finden Sie am Anfang dieses Textes. |
Zeile 161: | Zeile 182: |
* ``git clone ssh://git@r-n-d.informatik.hs-augsburg.de:2222/dva18/1.git`` * ``git clone https://r-n-d.informatik.hs-augsburg.de:8080/dva18/1.git`` Achtung: Das Verzeichnis heisst nach dem Klonen einfach ``1``. Falls Sie einen sprechenderen Namen möchten, müssen Sie diesen als weiteres Argument hinten |
* ``git clone ssh://git@gitlab.informatik.hs-augsburg.de:2222/dva/berichte-20xx/01.git`` * ``git clone https://gitlab.informatik.hs-augsburg.de/dva/berichte-20xx/01.git`` Das Verzeichnis heisst nach dem Klonen einfach ``1``. Falls Sie einen sprechenderen Namen möchten, müssen Sie diesen als weiteres Argument dahinter |
Zeile 168: | Zeile 189: |
* ``git clone ssh://git@r-n-d.informatik..../1.git DVA18_Projektgruppe_1`` | * ``git clone ssh://git@gitlab.informatik..../01.git DVA23_Projektteam_01`` Damit das Klonen über ssh klappt, müssen Sie in Gitlab ihren öffentlichen ssh Schlüssel hinterlegen. Wie das geht habe ich kurz unter dem Link https://hhoegl.informatik.hs-augsburg.de/hhwiki/GitSpicker#git-im-www-gitlab erläutert. |
Zeile 174: | Zeile 198: |
Gitlab und WWW .............. Der "Quelltext" des Berichtes liegt auf dem Gitlab Server. Die generierte HTML Ausgabe des Berichts ("make html") soll in Ihrem RZ WWW-Verzeichnis gespeichert werden. Auf dem Rechner ``login.rz.hs-augsburg.de`` findet man dieses Verzeichnis in ``/www/<user>``, wobei ``<user>`` Ihr Login-Name ist. Dieses Verzeichnis finden Sie im WWW unter ``http://www.hs-augsburg.de/~user``. Einen Demo-Bericht finden Sie im HTML Format hier: |
Es gibt einen Demo-Bericht, den Sie hier finden: |
Zeile 184: | Zeile 202: |
Im Bericht steht, wo der Quelltext des Berichtes auf gitlab liegt. Von dort können Sie ihn "klonen" und für Ihre Gruppe anpassen. |
Der "Quelltext" des Demo-Berichtes liegt auf dem Gitlab Server an folgender Stelle: https://gitlab.informatik.hs-augsburg.de/hhoegl/sphinxbericht Der Bericht wird mit "make html" nach HTML übersetzt. Die generierte HTML Ausgabe des Berichts soll in Ihrem RZ WWW-Verzeichnis gespeichert werden. Auf dem Rechner ``login.rz.hs-augsburg.de`` findet man dieses Verzeichnis in ``/www/<user>``, wobei ``<user>`` Ihr Login-Name ist. Dieses Verzeichnis finden Sie im WWW Browser dann unter ``http://www.hs-augsburg.de/~user``. **WICHTIG** Sie müssen am Anfang der Veranstaltung den Demo-Bericht mit git holen und ihn für Ihre Gruppe anpassen. Alle Teile im Bericht, die nur zur Demonstration geschrieben wurden, müssen Sie entfernen! |
Zeile 190: | Zeile 217: |
man, ob die Grösse der Bilder im PDF Format stimmt. Wir brauchen die Bericht **nicht auf Papier** (ganz nach dem Logo "paperless"). Zum Inhalt .......... |
man, ob die Grösse der Bilder im PDF Format stimmt. Wir brauchen die Berichte **nicht auf Papier** (ganz nach dem "paperless" Motto). |
Zeile 200: | Zeile 223: |
Datum, Thema |
|
Zeile 212: | Zeile 237: |
Fazit, Tipps für spätere Gruppen | Fazit, Tipps für spätere Teams |
Zeile 216: | Zeile 241: |
**Ganz wichtig:** Bei jedem Versuch muss nachvollziehbar sein, wer in der Gruppe welche Arbeit gemacht hat! Der Bericht muss darüber Auskunft geben. Hier ist ein Beispiel für einen Bericht aus dem Wintersemester 2017 (Technische |
**Ganz wichtig:** Bei jedem Versuch muss nachvollziehbar sein, wer im Team welche Arbeit gemacht hat und welcher Zeitaufwand dafür in etwa nötig war! Der Bericht muss darüber Auskunft geben. Hier ist ein Beispiel für einen Bericht aus dem Wintersemester 21/22 (Technische |
Zeile 221: | Zeile 247: |
- Gitlab: https://r-n-d.informatik.hs-augsburg.de:8080/xwowka/dva-ws17-gruppe5 - WWW: https://www.hs-augsburg.de/~xwowka |
https://www.hs-augsburg.de/homes/sebkl/dva-bericht/ |
Zeile 225: | Zeile 250: |
Weiteres Beispiel: https://r-n-d.informatik.hs-augsburg.de:8080/mkep/dva-ti3-ws17-gruppe2 https://www.hs-augsburg.de/~cgraber/ |
Gitlab: https://r-n-d.informatik.hs-augsburg.de:8080/xwowka/dva-ws17-gruppe5 WWW: https://www.hs-augsburg.de/~xwowka Weiteres Beispiel: https://r-n-d.informatik.hs-augsburg.de:8080/mkep/dva-ti3-ws17-gruppe2 https://www.hs-augsburg.de/~cgraber/ |
Zeile 232: | Zeile 261: |
Die Vorbereitungsaufgabe dient dazu, dass sich alle Gruppen an den Ablauf | Die Vorbereitungsaufgabe dient dazu, dass sich alle Teams an den Ablauf |
Zeile 237: | Zeile 266: |
- den Demobericht auf Ihre Gruppe personalisieren und in Ihr Gitlab Repository | - den Demobericht auf Ihr Team personalisieren und in Ihr Gitlab Repository |
Zeile 246: | Zeile 275: |
zur Gruppenbildung, und zur Benachrichtigung. Die Abgabe der Berichte wird in gitlab erfolgen. - Moodle: https://moodle.hs-augsburg.de/course/view.php?id=1388 |
zur Teambildung, und zur Benachrichtigung. Die Abgabe der Berichte wird in gitlab erfolgen. .. _Versuche: |
Zeile 254: | Zeile 284: |
https://www.hs-augsburg.de/homes/frisch/dva2t/index.html (hier ist eine `Zusammenfassung <DVAINF_VersucheAlt>`_ der vorhanden, leider oft veralteten Versuchsthemen). | Diese Veranstaltung hat schon eine lange Tradition an der Hochschule (30 Jahre und mehr). In dieser Zeit haben sich natürlich die Themen stark gewandelt. Sie können mal kurz hineinschauen in die `frühere Veranstaltungsseite <http://hhoegl.informatik.hs-augsburg.de/dva/inf/Versuche_alt>`_ um einen Eindruck davon zu bekommen. Hier ist auch eine Zusammenfassung `<DVAINF_VersucheAlt>`_ der alten Versuche. Seit dem Sommer 2018 übertragen wir die alten Versuchsbeschreibungen, die grösstenteils direkt im HTML-Format geschrieben waren, in das Sphinx Format. Alle übertragenen Versuchsbeschreibungen (und einige neue) finden Sie unter diesem Link: http://hhoegl.informatik.hs-augsburg.de/dva/inf/html/ Neben diesen Versuchen ist in letzter Zeit auch ein Trend entstanden, dass wir einfach spontan neue interessante Themen, auch auf Vorschlag der Studierenden hin in den Plan aufnehmen. Hier sind in den letzten Semestern unter anderem folgenden Themen vorgekommen: * Programmiersprachen *Python* und *Go* * Embedded Linux * Embedded Systems * RFID/NFC * Open-Source Software * Open-Source Software Engineering * Linux-Treiber * Internet of Things * LoRa/TheThingsNetwork * Fablab, 3D Druck * App-Entwicklung für Smartphones * Web Entwicklung mit Dart/Flutter * Containerisierung mit Docker * und einige mehr... |
Zeile 257: | Zeile 311: |
oben angegebenen E-mail Adresse für den Kurs! | oben angegebenen E-mail Adresse! Seit ein paar Jahren veranstalte ich auch das verwandte Praktikum `DVA für Technische Informatiker <DVATI_Praktikum>`_. Diese Versuche sind auch für Informatiker offen. Literatur zum Schreiben von Berichten, zur Teamarbeit und zum Programmieren --------------------------------------------------------------------------- 1. In der Bibliothek gibt es ein Regal gleich in der Nähe des Empfangs, das ausgewählte Literatur enthält für Studierende die Berichte, Seminararbeiten, Bachelor- und Masterarbeiten schreiben müssen. Schauen Sie sich dort einfach mal um! 2. Brian W. Fitzpatrick, Ben Collins-Sussman, *Team Geek. A Software Developer's Guide to Working Well with Others*, O'Reilly, 2012 https://www.oreilly.com/library/view/team-geek/9781449329839/ Es gibt eine neuere Auflage mit dem Titel *Debugging Teams*, O'Reilly 2015. https://www.oreilly.com/library/view/debugging-teams/9781491932049/ 3. Kathrin Passig und Johannes Jander, *Weniger schlecht programmieren*, O'Reilly 2013. https://learning.oreilly.com/library/view/weniger-schlecht-programmieren/9783955615697 4. Christina Czeschik und Matthias Lindhorst, *Weniger schlecht über IT schreiben*, O'Reilly 2018. https://learning.oreilly.com/library/view/weniger-schlecht-uber/9781492070177 |
DVA Praktikum für Informatiker
Sommersemester 2024
Hubert Högl, <Hubert.Hoegl@hs-augsburg.de>, https://hhoegl.informatik.hs-augsburg.de
URL: https://hhoegl.informatik.hs-augsburg.de/hhwiki/DVAINF_Praktikum
Moodle-Kurs SoSe2024: https://moodle.hs-augsburg.de/course/view.php?id=8018
Gitlab (nur mit VPN): https://gitlab.informatik.hs-augsburg.de/dva/berichte-2024
Kurzanleitung zur Vorbereitung (fasst den folgenden Text auf dieser Seite zusammen): https://hhoegl.informatik.hs-augsburg.de/dva/inf/DVAINF-TLDR.txt
Kurzübersicht Themen der vergangenen Jahre: https://hhoegl.informatik.hs-augsburg.de/dva/inf/Themen
Etherpad für die Planung der Themen: https://yopad.eu/p/dvainf24
Mitschnitt der Einführungsveranstaltung vom 26.3.20, 9:50-11:20, https://cloud.hs-augsburg.de/s/RdL8dim6FxgcGLB
1 Aktuelle Tipps
Sommer 2024
- Benachrichtigungen von Moodle oder Gitlab werden an Ihre E-mail Adresse geschickt. Bitte lesen Sie deshalb regelmässig Ihre E-mails, mindestens ein mal am Tag!
Sommer 2023
Alle die etwas mit Containern zu tun haben sei das freie Buch "Podman in Action" empfohlen:
https://developers.redhat.com/e-books/podman-action
Podman ist eine Neuimplementierung von Docker die komplett Open-Source ist und einige Vorteile zu Docker bietet. Man kann alles was man in Docker auf der Kommandozeile gewohnt ist auch genauso in Podman eingeben.
Inhalt
Die Betreuung erfolgt durch
- Hubert Högl (HH)
- Volodymyr Brovkov (VB)
2 Ziele
Das DVA Praktikum für Informatiker hat zum Ziel, dass Sie mit möglichst vielen Gebieten der Informatik in praktischen Kontakt kommen. Aus einer Themenliste (siehe Abschnitt Versuche) werden Sie ein Semester lang alle ein bis zwei Wochen einen neuen Versuch bearbeiten. Die technische Schwierigkeit steht dabei wegen der kurzen Bearbeitungszeit nicht im Vordergrund. Die Versuche werden eher leichte bis mittlere Anforderungen stellen.
Die Veranstaltung zählt mit 5 Creditpoints, das heisst der Arbeitswaufwand liegt bei 150 Stunden je Teammitglied (45 Std. Präsenz, 105 Std. Selbststudium).
3 Termine
Die Termine und Einteilungen finden Sie im Moodle Kurs.
4 Ablauf
Die Studentinnen und Studenten werden in Teams eingeteilt, jedes Team hat in etwa vier bis sechs Mitglieder. Jedes Team sucht sich einen Versuch aus und bearbeitet ihn in der vorgegebenen Bearbeitungszeit (in der Regel zwei Wochen, gelegentlich auch nur eine Woche). Am Ende der Bearbeitungszeit wird der Versuch präsentiert Legen Sie Wert auf eine gute Versuchsvorführung, das macht die Präsentation lebhaft. In der Regel werden zur Vorführung und zum Bericht von ihren Betreuern Verbesserungsvorschläge gemacht, die innerhalb der darauffolgenden Woche umgesetzt werden müssen.
Jedes Team schreibt im Semester einen einzigen Bericht, der für jeden Versuch ein Kapitel enthält. Am Ende der Bearbeitungszeit eines Versuches muss der Bericht aktualisiert sein. Der Bericht wird mit Sphinx geschrieben und in einem Gitlab Repository fortlaufend aktualisiert. Der Bericht existiert nur in elektronischer Form. Auch die pro Versuch angefertigten Quelltexte und sonstigen notwendigen Dateien werden in gitlab abgespeichert.
In der Bearbeitungszeit des Versuchs arbeiten alle Team-Mitglieder zusammen. Typische Tätigkeiten sind Recherche, Aufteilung der Arbeit, Programmierung, Fehlersuche, Bericht, Präsentation und Vorführung erstellen. Sie können entweder ausserhalb der Hochschule oder in den Laboren der Hochschule (G2.09, G2.16) arbeiten. Dazu sind die Labore täglich geöffnet von ca. 8:00 bis 17 Uhr. Anmerkung: Seit Corona arbeiten wir nur noch Online zusammen.
Bei einer zweiwöchigen Bearbeitungszeit kann der Zwischentermin für eine "Lagebesprechung" im Labor oder per Zoom genutzt werden.
Die Versuche werden je Team als bestanden oder nicht bestanden gewertet. Die Betreuer führen je Versuch und Team einen "Zustandsautomaten", der wie folgt funktioniert:
Jedes Team muss bei allen Versuchen den Zustand "bestanden" erreichen.
4.1 Gitlab
Am Anfang der Veranstaltung werden die benötigte Anzahl Repositories von den Betreuern angelegt. Der Owner der Repositories ist ihr Betreuer. Als Maintainer wird ein Studierender pro Team ausgewählt, der dann selbständig die weiteren Teammitglieder einteilen kann.
In jedem Gitlab Repository liegt an oberster Stelle eine Datei README.md. Der Inhalt wird im Markdown Format geschrieben. Gitlab zeigt den Inhalt dieser Datei schön formatiert an. Die Datei dient als erste Beschreibung, wenn jemand das Repository auswählt. Deshalb sollte in etwa der folgende Inhalt enthalten sein:
# DVA Praktikum für Informatiker Hochschule Augsburg \ Fakultät für Informatik \ Sommersemester 2021 \ Prof. Dr. Hubert Högl **Team: 1** <!-- Nr Name MatrNr Studiengang+Sem, E-mail --> 1. Hans Maier, #123456, INF6, <Hans.Maier@hs-augsburg.de> 2. Anna Huber, #126987, INF6, <Anna.Huber@hs-augsburg.de> 3. Franz Xaver, #349816, INF8, <Franz.Xaver@hs-augsburg.de> 4. Isolde Weber, #432190, INF8, <Isolde.Weber@hs-augsburg.de> Der Bericht im HTML Format liegt hier: http://www.hs-augsburg.de/~maier/dva.
Statt der \-Zeichen kann man zum Zeilenumbruch auch zwei oder mehr Leerzeichen am Zeilenende verwenden.
Die Anzeige in gitlab sieht damit so aus:
Mit dem Werkzeug grip (https://github.com/joeyespo/grip) kann man bereits auf dem Entwicklungsrechner prüfen, wie die README.md Datei formatiert wird.
Den aktuellen Gitlab Link finden Sie am Anfang dieses Textes.
Sie können Ihr Repository dann entweder mit ssh oder https klonen:
- git clone ssh://git@gitlab.informatik.hs-augsburg.de:2222/dva/berichte-20xx/01.git
- git clone https://gitlab.informatik.hs-augsburg.de/dva/berichte-20xx/01.git
Das Verzeichnis heisst nach dem Klonen einfach 1. Falls Sie einen sprechenderen Namen möchten, müssen Sie diesen als weiteres Argument dahinter angeben, also z.B. so:
- git clone ssh://git@gitlab.informatik..../01.git DVA23_Projektteam_01
Damit das Klonen über ssh klappt, müssen Sie in Gitlab ihren öffentlichen ssh Schlüssel hinterlegen. Wie das geht habe ich kurz unter dem Link https://hhoegl.informatik.hs-augsburg.de/hhwiki/GitSpicker#git-im-www-gitlab erläutert.
4.2 Der Bericht
Es gibt einen Demo-Bericht, den Sie hier finden:
http://hhoegl.informatik.hs-augsburg.de/dva/sphinxbericht
Der "Quelltext" des Demo-Berichtes liegt auf dem Gitlab Server an folgender Stelle:
https://gitlab.informatik.hs-augsburg.de/hhoegl/sphinxbericht
Der Bericht wird mit "make html" nach HTML übersetzt. Die generierte HTML Ausgabe des Berichts soll in Ihrem RZ WWW-Verzeichnis gespeichert werden. Auf dem Rechner login.rz.hs-augsburg.de findet man dieses Verzeichnis in /www/<user>, wobei <user> Ihr Login-Name ist. Dieses Verzeichnis finden Sie im WWW Browser dann unter http://www.hs-augsburg.de/~user.
WICHTIG Sie müssen am Anfang der Veranstaltung den Demo-Bericht mit git holen und ihn für Ihre Gruppe anpassen. Alle Teile im Bericht, die nur zur Demonstration geschrieben wurden, müssen Sie entfernen!
Der Bericht kann bei Bedarf über Sphinx auch als PDF Datei ausgegeben werden ("make latex"). Diese Option ist ganz praktisch, wenn man einen Überblick bekommen möchte, wie viele Seiten man schon geschrieben hat. Ausserdem sieht man, ob die Grösse der Bilder im PDF Format stimmt. Wir brauchen die Berichte nicht auf Papier (ganz nach dem "paperless" Motto).
Der Bericht enthält für jeden durchgeführten Versuch ein Kapitel. Jedes Versuchskapitel sollte in etwa folgende Gliederung aufweisen:
Datum, Thema
Einleitung
Motivation, Aufgabenstellung
- Grundlagen
Versuchsdurchführung
Vorbereitung, Durchführung, Ergebnisse, Probleme
Zusammenfassung
Fazit, Tipps für spätere Teams
- Literaturangaben
Ganz wichtig: Bei jedem Versuch muss nachvollziehbar sein, wer im Team welche Arbeit gemacht hat und welcher Zeitaufwand dafür in etwa nötig war! Der Bericht muss darüber Auskunft geben.
Hier ist ein Beispiel für einen Bericht aus dem Wintersemester 21/22 (Technische Informatik):
4.3 Die Vorbereitungsaufgabe
Die Vorbereitungsaufgabe dient dazu, dass sich alle Teams an den Ablauf gewöhnen. Sie werden im wesentlichen
- sich mit Sphinx anfreunden (http://www.sphinx-doc.org/en/master/contents.html)
- sich mit Gitlab anfreunden (https://about.gitlab.com)
- den Demobericht auf Ihr Team personalisieren und in Ihr Gitlab Repository aufnehmen
- die HTML Ausgabe des Berichtes auf Ihr Web-Verzeichnis im RZ ablegen (das müssen Sie natürlich nach jeder Veränderung des Berichts wiederholen)
4.4 Moodle
Wie verwenden den Moodle-Kurs für diese Veranstaltung nur zum Eintragen der TeilnehmerInnen, zur Teambildung, und zur Benachrichtigung. Die Abgabe der Berichte wird in gitlab erfolgen.
5 Die Versuche
Diese Veranstaltung hat schon eine lange Tradition an der Hochschule (30 Jahre und mehr). In dieser Zeit haben sich natürlich die Themen stark gewandelt. Sie können mal kurz hineinschauen in die frühere Veranstaltungsseite um einen Eindruck davon zu bekommen. Hier ist auch eine Zusammenfassung DVAINF_VersucheAlt der alten Versuche.
Seit dem Sommer 2018 übertragen wir die alten Versuchsbeschreibungen, die grösstenteils direkt im HTML-Format geschrieben waren, in das Sphinx Format. Alle übertragenen Versuchsbeschreibungen (und einige neue) finden Sie unter diesem Link: http://hhoegl.informatik.hs-augsburg.de/dva/inf/html/
Neben diesen Versuchen ist in letzter Zeit auch ein Trend entstanden, dass wir einfach spontan neue interessante Themen, auch auf Vorschlag der Studierenden hin in den Plan aufnehmen. Hier sind in den letzten Semestern unter anderem folgenden Themen vorgekommen:
- Programmiersprachen Python und Go
- Embedded Linux
- Embedded Systems
- RFID/NFC
- Open-Source Software
- Open-Source Software Engineering
- Linux-Treiber
- Internet of Things
- LoRa/TheThingsNetwork
- Fablab, 3D Druck
- App-Entwicklung für Smartphones
- Web Entwicklung mit Dart/Flutter
- Containerisierung mit Docker
- und einige mehr...
Wenn Sie selber einen Versuch vorschlagen möchten, dann melden Sie sich unter der oben angegebenen E-mail Adresse!
Seit ein paar Jahren veranstalte ich auch das verwandte Praktikum DVA für Technische Informatiker. Diese Versuche sind auch für Informatiker offen.
6 Literatur zum Schreiben von Berichten, zur Teamarbeit und zum Programmieren
- In der Bibliothek gibt es ein Regal gleich in der Nähe des Empfangs, das ausgewählte Literatur enthält für Studierende die Berichte, Seminararbeiten, Bachelor- und Masterarbeiten schreiben müssen. Schauen Sie sich dort einfach mal um!
Brian W. Fitzpatrick, Ben Collins-Sussman, Team Geek. A Software Developer's Guide to Working Well with Others, O'Reilly, 2012 https://www.oreilly.com/library/view/team-geek/9781449329839/
Es gibt eine neuere Auflage mit dem Titel Debugging Teams, O'Reilly 2015. https://www.oreilly.com/library/view/debugging-teams/9781491932049/
Kathrin Passig und Johannes Jander, Weniger schlecht programmieren, O'Reilly 2013.
https://learning.oreilly.com/library/view/weniger-schlecht-programmieren/9783955615697
Christina Czeschik und Matthias Lindhorst, Weniger schlecht über IT schreiben, O'Reilly 2018.
https://learning.oreilly.com/library/view/weniger-schlecht-uber/9781492070177