====== 🪐 Οδηγός Χρήσης JupyterHub: Οδηγός για Μαθητές ====== Καλώς ήρθες στο **JupyterHub** της ψηφιακής μας τάξης! Εδώ θα γίνεις ένας πραγματικός προγραμματιστής και θα γράφεις και θα εκτελείς τον δικό σου κώδικα στην Python. Ο «Αστρόλαβος» είναι ο σέρβερ που φιλοξενεί τις εργασίες μας. Το μεγάλο πλεονέκτημα αυτού του περιβάλλοντος είναι ότι λειτουργεί online μέσα από τον browser (π.χ. Chrome, Edge, Firefox), οπότε δεν χρειάζεται να εγκαταστήσεις απολύτως τίποτα στον υπολογιστή σου! --- ===== 🔐 1. Είσοδος στο Εργαστήριο ===== Για να συνδεθείς στο ψηφιακό εργαστήριο, ακολούθησε αυτά τα βήματα: * **Βήμα 1:** Άνοιξε τον browser και πληκτρολόγησε τη διεύθυνση που σου έδωσε ο καθηγητής σου στο εργαστήριο (ή βρες τον σύνδεσμο αναρτημένο στο eclass). * **Βήμα 2:** Εισήγαγε το προσωπικό σου **Όνομα Χρήστη (Username)** και τον **Κωδικό (Password)** που σου μοιράστηκαν (βρίσκονται με ασφάλεια και στο eclass της τάξης μας). * **Βήμα 3:** Πατήστε **Sign in**. --- ===== 💻 2. Κονσόλα (Console) vs Σημειωματάριο (Notebook) ===== Μόλις συνδεθείς, θα δεις την αρχική οθόνη (Launcher) που σου δίνει επιλογές. Εμείς θα δουλεύουμε με δύο τρόπους: την **Κονσόλα** και το **Notebook**. ==== Α. Δοκιμή με Κονσόλα (Console) ==== Η κονσόλα είναι σαν ένας «ζωντανός διάλογος» με την Python. * Στον Launcher, πατήστε το κουμπί **Python 3 (ipykernel)** κάτω από την ενότητα **Console**. * Γράψε μια εντολή (π.χ. print("Γεια σου κόσμε!")) και πάτα **Shift + Enter**. * **Πώς λειτουργεί:** Η Python σου απαντάει ακαριαία ακριβώς από κάτω! Ό,τι γράφεις εδώ εκτελείται αμέσως, αλλά μόλις κλείσεις την κονσόλα, ο κώδικας **χάνεται**. Είναι μόνο για γρήγορες δοκιμές. ==== Β. Δημιουργία Σημειωματάριου (Notebook) ==== Το Notebook είναι σαν ένα ψηφιακό τετράδιο όπου γράφεις ολόκληρα προγράμματα, κρατάς σημειώσεις και βλέπετε τα αποτελέσματα. * Στον Launcher, πατήστε το κουμπί **Python 3 (ipykernel)** κάτω από την ενότητα **Notebook**. * Μόλις έφτιαξες το πρώτο σου ψηφιακό τετράδιο! Ο κώδικας εδώ οργανώνεται σε κουτάκια που τα λέμε **Κελιά (Cells)**, αποθηκεύεται κανονικά σε αρχείο (με μορφή ''.ipynb'') και μπορείς να τον ξαναβρεις την επόμενη εβδομάδα. --- ===== 🧱 3. Πώς γράφουμε και τρέχουμε κώδικα στο Notebook ===== Στο Notebook ο κώδικας δεν γράφεται όλος μαζί, αλλά σε ξεχωριστά κελιά. * **Κελί Κώδικα (Code):** Εκεί γράφεις τις εντολές της Python (π.χ. `print("Καλώς ήρθες στην Python!")`). Αναγνωρίζεται από το σύμβολο `In [ ]:` στα αριστερά του. * **Εκτέλεση:** Για να «τρέξει» η Python τις εντολές σου, δεν αρκεί ένα απλό Enter. Αφού γράψεις τον κώδικα μέσα στο κελί, πρέπει να πατήσεις συγχρόνως τα πλήκτρα **Shift + Enter** στο πληκτρολόγιο (ή το κουμπί με το τριγωνάκι **Play** στην επάνω μπάρα). Το αποτέλεσμα θα εμφανιστεί ακριβώς από κάτω! --- ===== 📂 4. Ο Κοινόχρηστος Φάκελος (shared_exercises) ===== Στην αριστερή μπάρα της οθόνης σου, θα δεις έναν φάκελο που ονομάζεται **shared_exercises**. ==== 🔒 Τι είναι αυτός ο φάκελος; ==== Είναι ο χώρος όπου ο καθηγητής θα σου αφήνει τις ασκήσεις, τα φυλλάδια και τα παραδείγματα του μαθήματος. Αυτός ο φάκελος για εσένα είναι **Μόνο για Ανάγνωση (Read-Only)**. Μπορείς να δεις τα αρχεία, αλλά το σύστημα δεν θα σου επιτρέψει να τα σβήσεις ή να αλλάξεις το αρχικό αρχείο του καθηγητή. ==== 🛠️ Πώς θα λύσεις μια άσκηση από εκεί: ==== Για να δουλέψεις μια άσκηση, ακολούθησε πιστά αυτά τα 3 βήματα: 1. Μπείτε στον φάκελο **shared_exercises** και βρείτε την άσκηση (π.χ. ''askisi1.ipynb''). 2. Κάντε **δεξί κλικ** πάνω στο αρχείο και επιλέξτε **Duplicate** (Δημιουργία αντιγράφου). Θα εμφανιστεί ένα νέο αρχείο (π.χ. ''askisi1-Copy1.ipynb''). 3. Κάντε **δεξί κλικ** στο αντίγραφο, επιλέξτε **Cut** (Αποκοπή), βγείτε έξω από τον κοινόχρηστο φάκελο (πατώντας το εικονίδιο του σπιτιού ή τον κεντρικό σας κατάλογο) και κάντε **Paste** (Επικόλληση). Τώρα, το αρχείο είναι στον δικό σου προσωπικό χώρο και μπορείς να το επεξεργαστείς ελεύθερα. --- ===== 💾 5. Κανόνες Αποθήκευσης: Πού επιτρέπεται και πού ΑΠΑΓΟΡΕΥΕΤΑΙ; ===== ==== 👍 Πώς και Πού ΕΠΙΤΡΕΠΕΤΑΙ να αποθηκεύεις: ==== * **Πού αποθηκεύεις:** Μπορείς να αποθηκεύεις αρχεία **ΜΟΝΟ στον κεντρικό προσωπικό σου κατάλογο** (Home Directory), δηλαδή έξω από τον κοινόχρηστο φάκελο, εκεί που σε βγάζει το εικονίδιο με το σπιτάκι αριστερά. * **Πώς κάνεις μετονομασία:** Κάνε κλικ πάνω στη λέξη **Untitled** (στο πάνω μέρος της σελίδας) ή κάνε δεξί κλικ στο αρχείο στην αριστερή μπάρα, επίλεξε **Rename** και δώσε ένα καθαρό όνομα (π.χ. `Mathima_1`). * **Χειροκίνητη Αποθήκευση:** Παρόλο που το σύστημα αποθηκεύει αυτόματα κάθε λίγα λεπτά, για σιγουριά να πατάς πάντα το εικονίδιο με τη **Δισκέτα** (πάνω αριστερά) ή τα πλήκτρα **Ctrl + S** πριν κλείσεις την εργασία σου! ==== ❌ Πού ΑΠΑΓΟΡΕΥΕΤΑΙ η αποθήκευση (SOS): ==== * **Μέσα στον φάκελο `shared_exercises`:** Αν προσπαθήσεις να τροποποιήσεις και να αποθηκεύσεις ένα αρχείο απευθείας **μέσα** στον κοινόχρηστο φάκελο, το σύστημα θα σου βγάλει σφάλμα (Permission Denied) και οι αλλαγές σου **θα χαθούν**! * **Στην Κονσόλα (Console):** Ό,τι γράφεις στην Κονσόλα εκτελείται ακαριαία αλλά **δεν αποθηκεύεται σε αρχείο**. Μόλις κλείσεις την καρτέλα, ο κώδικας σβήνεται. --- ===== ⚠️ 6. Προσοχή στα Σφάλματα (SOS!) ===== > 🚨 **Η Σειρά Εκτέλεσης Έχει Σημασία!** > Η Python θυμάται τις μεταβλητές με τη σειρά που **πατάς το Run/Run Cell** στα κελιά, και όχι με τη σειρά που είναι γραμμένα στη σελίδα. Αν σου εμφανιστεί το σφάλμα `NameError: name '...' is not defined`, σημαίνει ότι ξέχασες να τρέξεις το πάνω κελί που δημιουργούσε αυτή τη μεταβλητή! Πήγαινε πίσω, πάτα Run στο πάνω κελί και μετά ξαναδοκίμασε. > 🔄 **Το πρόγραμμα κόλλησε (Αστέρι `In [*]:`)** > Αν δεις ένα αστέρι `In [*]:` στα αριστερά του κελιού, σημαίνει ότι η Python ακόμα εκτελεί κώδικα (ή κόλλησε σε κάποιο λάθος, όπως ένας άπειρος βρόχος `while`). > **Λύση:** Πάτα το μαύρο τετράγωνο κουμπί (**Stop / Interrupt**) στην επάνω εργαλειοθήκη για να σταματήσει αμέσως. --- ===== 🚪 7. Σωστή Έξοδος (Logout) ===== * **Έξοδος (Logout):** Όταν τελειώσει το μάθημα, μην κλείνεις απλά την καρτέλα του browser! Πήγαινε στο μενού πάνω αριστερά: **File -> Log Out**. Έτσι προστατεύεις τον λογαριασμό σου από άλλους και βοηθάς τον σέρβερ να λειτουργεί ξεκούραστα. --- ===== 🚨 Κανόνες του Ψηφιακού Εργαστηρίου ===== * **Σεβασμός:** Δεν πειράζουμε αρχεία συστήματος αν δεν ξέρουμε τι κάνουν. * **Μοναδικότητα:** Οι κωδικοί σου είναι αυστηρά προσωπικοί. Δεν τους δίνουμε ποτέ σε συμμαθητές μας. * **Δοκιμές:** Μην φοβάστε να κάνετε λάθος στον κώδικα! Η Python δεν χαλάει, απλά σας βοηθάει να μάθετε μέσα από τα σφάλματά σας. ---- 🧭 Διαχειριστής Υποδομής: **Μακρυπόδης Διονύσιος**, Καθηγητής Πληροφορικής & Διευθυντής 2ου Γυμνασίου Ναυπλίου