Tutorium Effiziente Software-Entwicklung und Automatisierung auf Linux/Unix

  • Weil es noch keine Erfahrungsberichten/Prüfungsprotokolle zu diesem Tutorium gibt,möchte ich meine Erfahrung mitteilen.
    Das Tutorium findet wöchentlich statt, bei uns war es freitags jeweils 2 Stunden. Die Themen waren die Grundlagen von Scripting in bash, sed, awk, vim, compilation, make, git und gnuplot. Während des Semesters muss man 3 Hausarbeiten abgeben, die hauptsächlich kurze Programmierungsaufgaben sind - man hat immer cca 2 Wochen dafür und lernt ganz viel bei der Ausarbeitung. Wenn man Problemen hat, kann man sich immer auf die Wimis wenden und sie helfen gerne.


    Für eine Anerkennung als Tutorium muss man außerdem noch eine mündliche Prüfung bestehen (ich glaube, die Hausarbeiten werden nicht benotet). Auf der Prüfung bekommt man einen Blatt mit ungefähr 12 Fragen, die man innerhalb von 10 Minuten "grob" beantworten soll. Es wird so präsentiert, als ob das nur eine Grundlage für die weitere Diskussion ist, aber meiner Meinung nach solltet ihr wirklich jede Frage schriftlich beantworten und die wichtigsten Punkte dazu aufschreiben. Die 10 Minuten sind jedoch ganz wenig Zeit dafür... danach folgt eine Diskussion der Fragen aus dem Blatt, wobei noch Ergänzungsfragen gestellt und weitere Themen erwähnt werden. Kein Computer vorhanden, einfach Kugelschreiber+Papier.
    Bei mir kamen die folgenden Fragen auf dem Blatt:
    1. Was ist GNU/Linux?
    2. Welche Namen sind damit verbunden?
    3. Wie bringt man ein Prozess ins Vordergrund? (Ergänzungsfrage mündlich: wie bringt man ein Prozess ins Hintergrund? - mit Ctrl+c und bg)
    4. Was ist eine Pipe?
    5. File permissions interpretieren und in oktalnotation schreiben
    6. Regexp: man hat Files 0.0, 0.1, 0.2, ..., 1.0, 1.1, 1.2,... Und man will nur die Files 0.0, 1.0, 2.0, ... Betrachten - regexp dafür, mündlich: Unterschied . und \. in regexp
    7. Basic Syntax grep, case insensitive und Output line number und File
    8. Sed: einfache substitution, mündlich: wie ersetzt man die Datei in dem File (-i) und wie würde man das Output in ein anderes File hinzufügen (mit >> )
    9. Unterschied " " und ' ' mit eigenem Beispiel erklären
    10. Ein einfaches bash Skript mit einer If Schleife schreiben (prüfen, ob ein File existiert) - shebang nicht vergessen
    11. Gnuplot: wie würde man das Plot als PNG speichern (Set terminal und Set Output); wie würde man Datei aus einem File mit spalten Platten (using [3:4])
    12. Wie findet man die binary von GCC - mit which
    13 wenn eine Funktion/Programm abgebrochen wird, was ist das Status (das habe ich nicht ganz verstanden, die Antwort war 0)


    Weitere Fragen mündlich:
    Git: gibt es andere Versionskontrolleprogrammen und welche (ich wollte erklären, das es noch lokale und zentralisierte gibt, wurde aber abgebrochen und nicht weiter gefragt)
    Compilation: Ablauf, ist linker ein Teil von GCC? (Ist nicht, ruft linker auf) , makefile grob beschreiben.


    In den 10 Minuten habe ich einige Fragen nicht beantwortet, später bei der Diskussion kam ich aber auf die richtige Antwort oder ich konnte die aufgeschriebenen Antworten schnell ergänzen. Ich konnte die Oktalnotation, das Bringen ins Hintergrund, das Hinzufügen zum File mit >>, den Return Status und die Pipe nicht beantworten, habe aber die anderen Fragen korrekt beantwortet und das hat zu einer 2.3 geführt, was ich schon ganz streng fand. Ich würde empfehlen, lieber wirklich zu jeder Frage etwas schreiben, obwohl die Zeit sehr knapp dafür ist. Genauere Befehle und Flags wurden bei meiner Prüfung nicht befragt.

  • Hey, danke für deinen Erfahrungsbericht. Ich hatte drüber nachgedacht, das mal zu machen, aber ich glaube, das überlege ich mir noch mal. 12 Fragen in zehn Minuten ist ja brutal, so schnell kann ich gar nicht schreiben.


    Welche Voraussetzungen sollte man denn deiner Meinung nach für das Tutorium mitbringen?

  • Ich kannte schon ein Paar Grundlagen aber nicht viel. Vor allem am Anfang hat es mir geholfen, dass ich schon die grundlegenden Befehle im Terminal nutzen konnte und Erfahrung mit einfachen if-Schleifen in bash/python hatte. Dafür kannst du einfach davor ein YouTube Tutorial machen, nur so daß du eine Idee hast. Aber meiner Meinung nach wäre es auch ohne Vorkenntnisse möglich gewesen, es wird alles während der Übungen erklärt, auch die absoluten Grundlagen wie cd, ls, which, ... und man kann immer Fragen stellen und alles diskutieren

  • Ich glaube, es kann sein, dass es in der Zukunft mit den Fragen und der Zeit dafür besser wird, das Tutorium wurde jetzt glaube ich nur das zweite Mal angeboten. Die Antworten waren in meinem Fall relativ kurz, also es ist theoretisch machbar. Man kann sie dann später während der Diskussion mündlich ergänzen.
    Es war auf jeden Fall ein interessantes Tutorium, die Übungen und Hausarbeiten haben mir Spaß gemacht, die Prüfung hat mich ein bisschen überrascht aber das liegt bestimmt auch daran, dass wir wenig Info und keine Protokolle/Beispielfragen zur Verfügung hatten

  • Die Prüfungen sind mittlerweile durch. Man wählt in der Prüfung aus zwei verdeckten Sets die Prüfungsfragen aus. Wenn man Glück hat, hatte man die selben Fragen, die hier im Thread gepostet wurden.


    Der Notenschnitt liegt laut TUCaN bei 1,971 (vorliegende Ergebnisse: 17). Es ist niemand durchgefallen, es gab 2 Mal 1,0, sonst geringe Streuung um den Schnitt und einer hat eine 3,7.