Tutoriumsinhalt

  • Fragen zur Vorlesung
  • Hilfestellungen zu den Beispielen
  • Betreutes Arbeiten
  • Besprechung häufiger Fehler
  • Erarbeiten ähnlicher Beispiele
  • Eure Vorschläge?

Bewertung

  • 1 Verpflichtende Hausübung (unbewertet, muss abgegeben werden)
  • Drei bewertete Assignments (jeweils 15 Punkte)
    • Einzelarbeiten!
  • Eine Klausur (30 Punkte)
  • Klausur und Übung müssen positiv sein
  • Alle Beispiele müssen rechtzeitig abgegeben werden!
  • Alle Beispiele werden auf Plagiate geprüft!

Bewertung

  • Bei allen Beispielen muss ein ernsthafter Versuch erkennbar sein.
  • 2 Abgabegespräche zur Überprüfung
    • 1. Abgabegespräch: nach dem 2. Assignment
    • 2. Abgabegespräch: nach dem 3. Assignment
  • Benotet wird ab Abgabe von Assignment 1
  • Bonuspunkte zählen nur wenn das restliche Programm bereits positiv ist

Bewertung

  • Bewertet wird:
    • Funktionalität
    • Vollständigkeit der Implementierung
    • Dokumentation und Stil
    • Robustheit
    • Programmstruktur
  • Details: siehe TeachCenter

Abgabegespräch

  • Programm nicht erklären → bis zu 0 Punkte
  • Nicht vorprogrammieren → bis zu 0 Punkte
  • Keine Änderungen am Programm durchführen → bis zu 0 Punkte
  • Unentschuldigt nicht erscheinen → bis zu 0 Punkte
  • Wenn der Code selbst geschrieben und verstanden wurde - kein Problem!

Resourcen

Abgabesystem

Die Virtuellen Maschine (VM)

  • In der Virtuellen Maschine sind alle erforderlichen Programme und Abhängigkeiten vorinstalliert.
  • Als Referenzplattform wird Ubuntu 18.04 verwendet.
  • Die Abhängigkeiten für das Testscipt können im Readme.md file nachgelesen werden. Falls man die virtuelle Maschine nicht verwenden will.

Installation der VM

Abhängigkeiten des Testscripts

  • clang
  • make
  • xclip
  • git
  • ctags
  • python 3
  • pip3 install pexepect
  • pip3 install pyaml
  • pip3 install diff-match-patch

Erstellen des Repositorys

  • Einloggen auf gitlab.tugraz.at

    Dabei wird die Git ID generiert

  • Einloggen auf progpipe.tugraz.at
  • Das aktuelle Assignment wird bei der Ausgabe angezeigt.
  • Mit dem Create Button ein neues Git Repository für das anstehende Assignment erstellen.
  • Der Link zum Repository wird angezeigt (wenn alles geklappt hat)

SSH-Key erstellen

SSH-Key hochladen

Das Repository clonen

  • cd Ordner wechseln
  • mkdir Ordner erstellen
  • git clone Git repository auf den Rechner clonen
  • git pull Holt die aktuelle Version von gitlab

Das erste C Programm

clang -g -std=c11 -Wall

Die Änderungen commiten

  • git add Files zum aktuellen Commit hinzufügen
  • git commit "Das Paket zuschnüren"
  • git push Den commit auf den gitlabserver schieben
  • git tag EPAssX Den commit taggen (Für die Abgabe)
  • git push --tags Den Tag auch pushen!!!
  • git tag -d <Tagname > Tag löschen

Ausführen der Testscripts

  • python3 tc_runner Ausführen der Tests
  • python3 tc_report Erstellen eines "schönen" HTML report (unter results)(WIP ^^)

Testcase report

Linux Befehlsübersicht

Befehl Beschreibung
pwd Aktuelles Verzeichnis ausgeben (print working directory)
ls Dateien im aktuellen Verzeichnis auflisten (list)
mkdir <name_des_ordners> Ordner erstellen
cd <pfad> Verzeichnis wechseln (change diretory)
cd .. in das das übergeordnete Verzeichnis wechseln
cd in das $HOME-Verzeichnis wechseln
rm <pfad> Datei löschen (remove)
nano <pfad> Datei bearbeiten (sehr einfacher Texteditor)

Viel Erfolg!