Αρχιτεκτονική
Η κεντρική αρχή δεν είναι ο διαχωρισμός software / hardware αλλά ένα σύστημα plugin ανά τύπο μαθήματος. Κάθε lane ορίζει ρητά τέσσερα πράγματα: τον τύπο sandbox, το εργαλείο εκτέλεσης, τη λογική σύγκρισης, και το σχήμα σφαλμάτων που παραδίδει στο Rule Engine. Νέο μάθημα σημαίνει νέο lane — ο πυρήνας του Router δεν ξαναγράφεται.
Διαδρομή μιας υποβολής
Ο φοιτητής υποβάλλει κώδικα, netlist, ρύθμιση ή κείμενο.
TLS termination και rate limiting ανά φοιτητή.
Δρομολόγηση στο lane του μαθήματος. Ο πυρήνας δεν γνωρίζει compilers ή simulators.
Δέσμευση απομονωμένου περιβάλλοντος με όρια cgroup και timeout.
Μεταγλώττιση/lint, εκτέλεση, σύγκριση με golden reference ή ανοχή.
Μετατροπή ακατέργαστης εξόδου εργαλείου σε δομημένο, διδακτικό σφάλμα.
Ενημέρωση θ (IRT), p(known) (BKT), χρονοπρογραμματισμού επανάληψης.
Ζώνη επικείμενης ανάπτυξης, γράφος προαπαιτούμενων, έλεγχος έκθεσης.
Τα lanes
- Sandbox
- gVisor
- Εργαλεία
- gcc/clang · unit tests — gVisor (runsc) ανά υποβολή, χωρίς δίκτυο
- Sandbox
- Ντετερμινιστικός simulator
- Εργαλεία
- Verilator — lint pass + testbench, ακριβής σύγκριση waveform
- Sandbox
- Ντετερμινιστικός simulator
- Εργαλεία
- Ngspice — .op/.dc/.tran, σύγκριση με ανοχή έναντι reference waveform
- Sandbox
- Network namespace
- Εργαλεία
- Mininet / Containerlab σε network namespaces — ping, traceroute, έλεγχος πινάκων & κανόνων
- Sandbox
- Grader (χωρίς εκτέλεση)
- Εργαλεία
- embeddings (formative) · LLM-as-grader με rubric · δειγματοληπτικός ανθρώπινος έλεγχος
Στο demo, τα lanes software εκτελούν πραγματικά Python/C/JavaScript στο μηχάνημα. Τα lanes digital, analog και network χρησιμοποιούν ενσωματωμένους ντετερμινιστικούς simulators γραμμένους για αυτόν τον σκοπό (υποσύνολο Verilog, επιλύτης MNA με Newton–Raphson, εξομοίωση προώθησης L3) στη θέση των Verilator, Ngspice και Mininet της παραγωγής. Η διεπαφή προς τον Router είναι η ίδια.
Αποφάσεις που καθορίζουν τη συμπεριφορά
Στο analog lane, άσκηση χωρίς εύρος ανοχής εγκεκριμένο από τον διδάσκοντα δεν βαθμολογείται καθόλου — επιστρέφει σφάλμα ρύθμισης. Μια σιωπηρή προεπιλογή θα οδηγούσε σε άδικη βαθμολόγηση.
Όταν ο επιλύτης δεν συγκλίνει, ο φοιτητής δεν βλέπει «λάθος τιμές» αλλά ρητή ένδειξη ασταθούς κυκλώματος, με διαφορετική υπόδειξη.
Αν λείπει runtime ή καταρρεύσει ένα lane, το attempt καταγράφεται για ιχνηλασιμότητα αλλά η εκτίμηση ικανότητας μένει αμετάβλητη.
Κάθε υποβολή στο networking lane ελέγχεται ρητά ότι δεν ανοίγει διαδρομή εκτός lab. Ένα πέρασμα εδώ είναι αποτυχία ασφαλείας, όχι απλή αποτυχία άσκησης.
Ομοιότητα με λύση αναφοράς χρησιμοποιείται μόνο ως βοηθητικό σήμα. Χαμηλή εμπιστοσύνη ή summative βαρύτητα στέλνει την υποβολή σε ουρά ανθρώπινου ελέγχου, και ο βαθμός δεν οριστικοποιείται πριν από αυτόν.
Το item factory δεν δημοσιεύει ποτέ μόνο του. Ένα αυτόματα παραγόμενο template μπορεί να αλλάξει άθελα τη δυσκολία μιας άσκησης — το gate έγκρισης το αποτρέπει.
Ο adaptive loop
Μοντέλο 3PL. Το θ επανεκτιμάται με EAP από όλο το ιστορικό μετά από κάθε υποβολή, ώστε διόρθωση παραμέτρων μιας άσκησης να αναπροσαρμόζει και το παρελθόν. Η μερική βαθμολογία μπαίνει ως συνεχής έκθεση στην πιθανοφάνεια.
Πιθανότητα γνώσης ανά μαθησιακό στόχο, με παραμέτρους ανά lane. Πλαφόν στο 0,97 και ρητή λήθη με τον χρόνο: ένας στόχος που δεν εξασκείται επανέρχεται στη δεξαμενή.
Στοχευμένη πιθανότητα επιτυχίας ~75% στην εξάσκηση, μέγιστη πληροφορία Fisher στη διάγνωση. Πάνω σε αυτό: πύλη προαπαιτούμενων, οφειλόμενες επαναλήψεις, αβεβαιότητα, ποικιλία lane, έλεγχος έκθεσης.
Φάσεις ανάπτυξης και τι καλύπτει το demo
Job Router με αφαίρεση lane, sandbox pool, σχήμα βάσης, πλήρες observability layer.
Υλοποιημένο: Router, lanes, audit trail, /ops.
Πλήρες software lane, parsers Rule Engine ανά γλώσσα, editor, pilot σε εισαγωγικό μάθημα.
Υλοποιημένο: πραγματική εκτέλεση Python/C/JS με test cases.
Verilator και Ngspice, σύγκριση με ανοχή, χειρισμός μη σύγκλισης.
Υλοποιημένο ως ενσωματωμένοι simulators (Verilog subset, MNA + Newton–Raphson).
Socket labs μέσω namespaces, topology orchestrator, ενίσχυση απομόνωσης.
Υλοποιημένο: εξομοίωση L3 με έλεγχο δρομολόγησης, ACL και υποχρεωτικό test απομόνωσης.
Υβριδική βαθμολόγηση, item factory με ανθρώπινο gate, IRT/BKT με γράφο προαπαιτούμενων.
Υλοποιημένο: rubric grading με κατώφλι εμπιστοσύνης, ουρά ελέγχου, πλήρης adaptive loop.
Επέκταση σε περισσότερα μαθήματα, capacity planning, βρόχος ανατροφοδότησης.
Εκτός demo.
- · Δεν τρέχει Firecracker ή gVisor — η απομόνωση εδώ είναι διεργασία με αυστηρό timeout και περιορισμένο περιβάλλον.
- · Δεν καλεί LLM για βαθμολόγηση θεωρίας — χρησιμοποιεί ντετερμινιστικό rubric με μετρήσιμη εμπιστοσύνη, ώστε η ροή του ανθρώπινου ελέγχου να είναι επιδείξιμη χωρίς εξωτερική εξάρτηση.
- · Δεν στήνει πραγματικά network namespaces — η εξομοίωση προώθησης είναι πλήρης σε επίπεδο 3 αλλά δεν αντικαθιστά penetration test.