1. ΦΟΙΤΗΤΕΣ
turnin assignment_name@hyΧΧΧ | < files > [ < dir > | < files > ]
όπου:
- assignment_name είναι το όνομα του directory που περιέχει τα assignments στη περιοχή του μαθήματος και δίδεται από τον διδάσκοντα.
- hyΧΧΧ είναι το όνομα της περιοχής του μαθήματος (π.χ. hy100 για την Εισαγωγή).
- < dir >| < files > [ < dir > | < files > ] είναι η λίστα των directories και/ή αρχείων για υποβολή.
Αν το σύστημα απαντήσει με το μήνυμα "Command not found", τυπώστε το πλήρες path: /usr/bin/turnin
ΠΑΡΑΔΕΙΓΜΑ
Αν υποθέσουμε ότι:
Στο account του μαθήματος "hy123" το directory του assignment ονομάζεται "exercise1" (πλήρες path ~hy123/TURNIN/exercise1)
Στο account του φοιτητή "sirakis" υπάρχει το directory ask1 που περιέχει τα αρχεία για υποβολή, με πλήρες path ~sirakis/mylessons/hy123/ask1
Η εντολή για υποβολή του assignment από το home directory του θα είναι:
turnin exercise1@hy123 mylessons/hy123/ask1
Το πρόγραμμα turnin επιτρέπει την υποβολή από directories (ένα ή περισσότερα), αρχεία και ένα μίγμα από directories και αρχεία. Για περισσότερη απλότητα συνιστάται η υποβολή ενός και μόνο directory. Επιτρέπονται μόνο σχετικές διευθύνσεις, και το path δεν μπορεί να αρχίζει από slash ("/") ή να περιέχει ".." (parent directory).
Το πρόγραμμα συμπιέζει το assigment του φοιτητή σε αρχείο που ονομάζει user.tgz (όπου user είναι το login name του χρήστη που τρέχει το turnin). Το αρχείο που δημιουργείται στη συνέχεια τοποθετείται στο assignment directory (ιδιοκτήτης = περιοχή μαθήματος, άδειες = 600). Αν επιτρέπεται απο τον διδάσκοντα, η εντολή ls θα δείχνει το περιεχόμενο του directory.
Αν επιτρέπονται πολλαπλές υποβολές, το αρχείο user.tgz είναι link στην τελευταία υποβολή
ΠΡΟΣΟΧΗ: το πρόγραμμα turnin δέχεται directories και/ή αρχεία για υποβολή. Αν όμως δεν έχει οριστεί ρητά από τον διδάσκοντα ΔΕΝ δέχεται αρχεία binary/compressed/gzipped. Το πρόγραμμα αρνείται να καταχωρήσει συμπιεσμένα αρχεία. Η υποβολή ενός assignment που περιέχει αυτού του είδους τα αρχεία θα έχει ως αποτέλεσμα την υποβολή του υπόλοιπου assignment εκτός από τα συμπιεσμένα/binary αρχεία.
Γι' αυτό διαβάζετε προσεκτικά τα μηνύματα, ώστε να είστε βέβαιοι ότι υποβλήθηκαν όλα τα επιθυμητά αρχεία
ΕΠΙΒΕΒΑΙΩΣΗ ΥΠΟΒΟΛΗΣ
Μπορείτε να επιβεβαιώσετε ότι έχετε υποβάλλει άσκηση με την εντολή verify-turnin
Χρήση:verify-turnin assignment_name@hyΧΧΧ
2. ΔΙΔΑΣΚΟΝΤΕΣ
Στο home directory της περιοχής του μαθήματος πρέπει να δημιουργηθεί ενα subdirectory με όνομα TURNIN και άδειες 755 (700 εάν ο διδάσκων δεν επιτρέπει το listing του directory). Για κάθε assignment, πρέπει να δημιουργηθεί ενα subdirectory TURNIN/assignment_name (με άδειες 755 ή 700). Το όνομα που δίνεται στο directory αυτό είναι αυθαίρετο, αλλά πρέπει να είναι γνωστό στους φοιτητές.
Tα archives κατά το turnin δημιουργούνται κάτω από τον φάκελο ~csXXX/TURNIN/asX/on_time
Στον φάκελο ~csXXX/TURNIN/asX/ δημιουργείται απλά ένας σύνδεσμος προς το τελευταίο turnin του κάθε χρήστη/φοιτητή.
Υπάρχουν διάφορα αρχεία που δημιουργούνται μέσα στο directory αυτό, είτε εξ'αρχής είτε αργότερα από τον διδάσκοντα, που ελέγχουν διάφορες συμπεριφορές του προγράμματος:
- README - τυπώνεται στην αρχή της διαδικασίας του turnin. Μπορεί να προσφέρει επιπλέον οδηγίες ή υπενθυμίσεις.
- LOGFILE - απαριθμεί τις υποβολές. Δημιουργείται αυτόματα από το πρόγραμμα turnin.
- LIMITS - περιέχει γραμμές με default λέξεις και τιμές. Παρακάτω οι default τιμές:
maxfiles 1000
maxkbytes 1000
maxturnins 10
binary 0
Αυτές οι τιμές καθορίζουν: το μέγιστο αριθμό αρχείων που μπορεί να περιέχει το assignment, το μέγιστο μέγεθος του assignment, πόσες υποβολές μπορεί να καταχωρηθούν για κάθε assignment. "binary" είναι μια τιμή boolean που καθορίζει αν επιτρέπεται να υποβάλλονται αρχεία τύπου binary.
ΠΡΟΣΟΧΗ: Αν επιτρέπονται αρχεία τύπου binary, τότε το αρχείο που υποβλήθηκε πρέπει να αποσυμπιεστεί μόνο από το λογαριασμό του μαθήματος, και πάλι μόνο αν δεν υπάρχουν κρίσιμες πληροφορίες που μπορεί να υποστούν ζημιά από ενδεχόμενα κακόβουλα binaries. Επίσης, αν ο διδάσκων επιτρέψει αρχεία τύπου binary/compressed, πρέπει να ειδοποιηθούν οι φοιτητές. Αρχεία με "#" στην αρχή του ονόματος αντιπροσωπεύουν άκυρες υποβολές.
Για να κλειδώσει το turnin πρέπει να οριστεί η παράμετρος lockdate στο αρχείο LIMITS
π.χ. Για να κλειδώσει στις 30 Σεπτέμβρη 21:00 θα προσθέσουμε τη γραμμή lockdate 20160930 21:00
SOFT DEADLINES
Υπάρχει η δυνατότητα ορισμού soft deadlines, μετά το πέρας των οποίων το σύστημα εξακολουθεί να δέχεται turnins αλλά με κάποια ποινή. Για να το κάνετε αυτό χρειάζεται να θέσετε την παράμετρο duedate στο αρχείο LIMITS
π.χ. αν θέλουμε να θέσουμε soft deadline στις 20 Σεπτέμβρη 13:00
χρειάζεται να προσθέσουμε την ακόλουθη γραμμή στο αρχείο
~csXXX/TURNIN/asX/LIMITS duedate 20160920 13:00
Με αυτόν τον τρόπο το σύστημα μετά το πέρας του duedate θα βάζει τα νέα turnins στον φάκελο ~csXXX/TURNIN/asX/late με την μορφή login-turninnumber-penalty.tgz όπου το penalty είναι το ποσοστό της ποινής επί του βαθμού που θα έπαιρνε κανονικά η άσκηση.
π.χ το αρχείο ~csXXX/TURNIN/asX/late/lazy-8-70.tgz είναι το 8ο turnin του χρήστη lazy και αν επιλέξουμε να τον βαθμολογήσουμε βάση αυτού θα πρέπει να του επιβάλουμε ποινή 70%.
Οι ποινές κατά προεπιλογή είναι 10% για τις καθημερινές και 5% για τα σαββατοκύριακα (αργίες δεν λαμβάνονται υπόψη)
Για την τροποποίηση αυτών των ποινών μπορείτε να ορίσετε τις παραμέτρους daypenalty και weekendpenalty στο αρχείο LIMITS
π.χ. για 5% ποινή ανά ημέρα και 1% ανά Σάββατο ή Κυριακή χρειάζεται να προσθέσουμε στο αρχείο LIMITS τις ακόλουθες γραμμές
daypenalty 5
weekendpenalty 1
Για περισσότερες πληροφορίες μπορείτε να συμβουλευτείτε το manpage (man turnin) και το https://github.com/zakkak/turnin