Workshops & ομιλίες
Αποσφαλμάτωση με GDB
Workshop που σχεδίασα και παρουσίασα ο ίδιος στο IEEE Day του τμήματός μας το 2025, με συμμετοχή λίγο πάνω από 20 άτομα.
- Προχωρημένο debugging με GDB, καλύπτοντας breakpoints, step-by-step εκτέλεση και επιθεώρηση μεταβλητών και κατάστασης προγράμματος σε runtime.
- Παρουσίαση τεχνικών χαμηλού επιπέδου, όπως επιθεώρηση μνήμης, stack tracing και άμεση τροποποίηση δεδομένων στη μνήμη.
- Εισαγωγή στην ανάλυση core dumps για post-mortem debugging σε περιπτώσεις crashes.
- Debugging σε επίπεδο assembly, με disassembly, εκτέλεση ανά εντολή και εναλλαγή συντακτικών μορφών.
- Debugging πολυνηματικών εφαρμογών (multithreading), με έλεγχο threads, scheduling και thread-specific breakpoints.
- Οδηγίες για compilation με debugging flags (π.χ. -g, απενεργοποίηση optimizations) και πρακτικά setups σε περιβάλλοντα Linux.
- Παρουσίαση προχωρημένων δυνατοτήτων του GDB, όπως watchpoints, conditional breakpoints και χρήση shell commands.
- Hands-on ασκήσεις (π.χ. τύπου CTF “crackme”) για εξοικείωση με debugging και reverse engineering.
Workshop εγκατάστασης λειτουργικού συστήματος
Συν-παρουσίαση ενός εισαγωγικού workshop (μαζί με την Κωνσταντίνα Λιόγκα και τον Μανώλη Βέλλη) για εγκατάσταση λειτουργικών συστημάτων και βασικές έννοιες. Αποτελούσε το δεύτερο και τελευταίο μέρος μιας μικρής σειράς για τη φοιτητική ομάδα Nautilus. Το πρώτο μέρος ήταν workshop συναρμολόγησης υπολογιστή από τους Τσιτσιλίδη Λάμπρο και Αμοιρίδη Ανδρέα. Και τα δύο workshops είχαν συμμετοχή περίπου 20–30 ατόμων.
- Εισαγωγή στις διαφορές μεταξύ Linux και Windows, με έμφαση στη χρήση, τη δομή και τις βασικές ροές εργασίας.
- Επισκόπηση των Linux distributions και βασικά κριτήρια επιλογής.
- Επίδειξη διαδικασιών εγκατάστασης, όπως χρήση live περιβαλλόντων, βασικό partitioning και dual-boot.
- Αναφορά στους διαφορετικούς package managers των Linux distributions.
- Παρουσίαση των πλεονεκτημάτων του ελεύθερου και ανοικτού λογισμικού.
Workshop Δομών Δεδομένων και Αλγορίθμων
Το συγκεκριμένο workshop, το οποίο σχεδίασα και παρουσίασα ο ίδιος, αποτέλεσε το δεύτερο μέρος μιας σειράς δύο παρουσιάσεων (με το πρώτο μέρος να έχει παρουσιαστεί από τους Δημήτρη Αγαπίου και Ιωάννη Παπαδημητρίου) ως προετοιμασία για το IEEE Xtreme. Το workshop υποστηρίχθηκε από τον Ιωάννη Παπαδημητρίου και είχε συμμετοχή περίπου 15 ατόμων, κυρίως μελών του IEEE Student Branch.
- Εισαγωγή σε βασικές δομές δεδομένων και αλγορίθμους, όπως στοίβες (stacks), ουρές (queues), δέντρα και γράφοι, με έμφαση σε πρακτικές χρήσεις.
- Ανάλυση γραμμικής και δυαδικής αναζήτησης, με σύγκριση ως προς την απόδοση και την καταλληλότητα.
- Επίδειξη τεχνικών ταξινόμησης (π.χ. bubble sort), με βήμα-βήμα εκτέλεση και οπτικοποιήσεις.
- Κάλυψη μεθόδων διάσχισης γράφων (DFS, BFS) με πρακτικά παραδείγματα και υλοποιήσεις.
- Παρουσίαση υλοποιήσεων σε Python, με σύγκριση μεταξύ “pythonic” προσεγγίσεων και πιο ρητών/χαμηλού επιπέδου σχεδιασμών.
- Συζήτηση για πολυπλοκότητα χρόνου και Big-O notation, με στόχο την κατανόηση της αποδοτικότητας.
- Χρήση οπτικών βοηθημάτων και αναλύσεων κώδικα για τη σύνδεση θεωρίας και πράξης.