PYTHON
Σύντομη περιγραφή εκπαιδευτικού υλικού
Το εκπαιδευτικό υλικό παρουσιάζει βασικές και προχωρημένες έννοιες της Πληροφορικής, με έμφαση στην Τεχνολογία Λογισμικού, στον προγραμματισμό με Python, στον αντικειμενοστραφή προγραμματισμό και στα συστήματα βάσεων δεδομένων. Αρχικά, εισάγει τους εκπαιδευόμενους στην έννοια του λογισμικού ως τεχνικού κατασκευάσματος, στη σημασία της οργανωμένης ανάπτυξης λογισμικού, στα μοντέλα κύκλου ζωής, στη μηχανική απαιτήσεων, στη δομημένη ανάλυση, στην αρχιτεκτονική λογισμικού και στη σχεδίαση αξιόπιστων εφαρμογών.
Στη συνέχεια, το υλικό επικεντρώνεται στην εισαγωγή στον προγραμματισμό με τη γλώσσα Python, παρουσιάζοντας τον ρόλο των γλωσσών προγραμματισμού, τη διάκριση μεταξύ γλώσσας μηχανής και γλωσσών υψηλού επιπέδου, τους διερμηνευτές και τους μεταγλωττιστές, καθώς και τη διαδικασία ανάπτυξης ενός προγράμματος από τον σχεδιασμό έως την εκτέλεση και την αποσφαλμάτωση. Αναλύονται βασικές έννοιες όπως οι μεταβλητές, οι τύποι δεδομένων, οι τελεστές, οι εκφράσεις, οι δομές επιλογής και επανάληψης, οι συναρτήσεις, η αναδρομή, οι λίστες, οι πλειάδες, τα σύνολα, τα λεξικά και τα αρχεία.
Το εκπαιδευτικό υλικό επεκτείνεται επίσης στην εργαλειοθήκη της Python, παρουσιάζοντας δημοφιλή περιβάλλοντα ανάπτυξης και βιβλιοθήκες για αριθμητικούς υπολογισμούς, ανάλυση και οπτικοποίηση δεδομένων, τεχνητή νοημοσύνη, βάσεις δεδομένων, πολυμέσα, μηχανική όραση και γραφικές διεπαφές χρήστη. Παράλληλα, εισάγει τις βασικές αρχές του αντικειμενοστραφούς προγραμματισμού, όπως κλάσεις, αντικείμενα, γνωρίσματα, μέθοδοι, ενθυλάκωση, κληρονομικότητα και πολυμορφισμός.
Τέλος, το υλικό παρουσιάζει τα συστήματα βάσεων δεδομένων, την οργάνωση, διαχείριση και ανάκτηση δεδομένων, τη χρήση SQL, XML, XPath και XQuery, την κανονικοποίηση, τις συναρτησιακές εξαρτήσεις, τα ευρετήρια και τις βασικές τεχνολογίες προγραμματισμού βάσεων δεδομένων. Συνολικά, παρέχει ένα ολοκληρωμένο υπόβαθρο για την ανάπτυξη λογισμικού, την αξιοποίηση της Python και τη διαχείριση δεδομένων σε σύγχρονα πληροφοριακά συστήματα.
Μαθησιακά αποτελέσματα
Με την ολοκλήρωση της μελέτης του υλικού, οι εκπαιδευόμενοι θα είναι σε θέση να:
- κατανοούν το λογισμικό ως τεχνικό κατασκεύασμα και τη σημασία της Τεχνολογίας Λογισμικού,
- αναγνωρίζουν βασικά προβλήματα ανάπτυξης και συντήρησης λογισμικού,
- διακρίνουν βασικά μοντέλα κύκλου ζωής λογισμικού, όπως καταρράκτη, πρωτοτυποποίησης, λειτουργικής επαύξησης και σπειροειδές μοντέλο,
- κατανοούν τη σημασία της μηχανικής απαιτήσεων και να διακρίνουν λειτουργικές και μη λειτουργικές απαιτήσεις,
- χρησιμοποιούν βασικές τεχνικές δομημένης ανάλυσης και σχεδίασης λογισμικού,
- κατανοούν τον ρόλο των γλωσσών προγραμματισμού ως μέσου επικοινωνίας με τον υπολογιστή,
- διακρίνουν γλώσσες μηχανής, γλώσσες υψηλού επιπέδου, διερμηνευτές και μεταγλωττιστές,
- αναγνωρίζουν την Python ως σύγχρονη, απλή, ευέλικτη και ανοικτού κώδικα γλώσσα προγραμματισμού,
- σχεδιάζουν βασικούς αλγορίθμους και να χρησιμοποιούν διαγράμματα ροής για την επίλυση προβλημάτων,
- χρησιμοποιούν μεταβλητές, τύπους δεδομένων, τελεστές και εκφράσεις στην Python,
- εφαρμόζουν εντολές εισόδου και εξόδου, όπως input και print,
- χρησιμοποιούν δομές ελέγχου ροής, όπως if, elif, else, for και while,
- δημιουργούν και χρησιμοποιούν συναρτήσεις με παραμέτρους και τιμές επιστροφής,
- κατανοούν την έννοια της αναδρομής και τη σημασία της περίπτωσης βάσης,
- χρησιμοποιούν βασικές δομές δεδομένων της Python, όπως λίστες, πλειάδες, σύνολα και λεξικά,
- εφαρμόζουν βασικές τεχνικές αναζήτησης και ταξινόμησης,
- διαχειρίζονται αρχεία κειμένου και δυαδικά αρχεία,
- εφαρμόζουν καλές πρακτικές προγραμματισμού, όπως τεκμηρίωση, αποσφαλμάτωση και επαναχρησιμοποίηση κώδικα,
- κατανοούν τις αρχές του αντικειμενοστραφούς προγραμματισμού,
- δημιουργούν κλάσεις και αντικείμενα και να χρησιμοποιούν γνωρίσματα και μεθόδους,
- εξηγούν έννοιες όπως ενθυλάκωση, κληρονομικότητα και πολυμορφισμός,
- χρησιμοποιούν βασικά περιβάλλοντα ανάπτυξης και εργαλεία αποσφαλμάτωσης για την Python,
- αξιοποιούν βιβλιοθήκες όπως NumPy, SciPy, Matplotlib και Seaborn για αριθμητικούς υπολογισμούς και οπτικοποίηση δεδομένων,
- αναγνωρίζουν βασικές βιβλιοθήκες τεχνητής νοημοσύνης, όπως Scikit-Learn, TensorFlow και Keras,
- κατανοούν τη χρήση της Python για σύνδεση και αλληλεπίδραση με βάσεις δεδομένων,
- αναπτύσσουν βασικές εφαρμογές πολυμέσων, μηχανικής όρασης και γραφικών διεπαφών χρήστη με εργαλεία όπως PyGame, OpenCV και PyQt,
- κατανοούν την έννοια της βάσης δεδομένων και του συστήματος διαχείρισης βάσεων δεδομένων,
- διακρίνουν δομημένα, ημιδομημένα και αδόμητα δεδομένα,
- εξηγούν τη σημασία των μεταδεδομένων, του λεξικού δεδομένων και των περιορισμών ακεραιότητας,
- χρησιμοποιούν βασικές εντολές SQL για δημιουργία, τροποποίηση, εισαγωγή, ενημέρωση, επιλογή και διαγραφή δεδομένων,
- κατανοούν βασικές αρχές XML, XPath και XQuery για την οργάνωση και ανάκτηση πληροφορίας,
- εφαρμόζουν βασικές αρχές κανονικοποίησης, όπως 1NF, 2NF, 3NF και BCNF,
- αναγνωρίζουν τη σημασία των ευρετηρίων και των τεχνικών αποθήκευσης για την ταχύτερη προσπέλαση δεδομένων,
- αντιλαμβάνονται τη σημασία της ορθής σχεδίασης λογισμικού, της καθαρής δομής κώδικα και της σωστής διαχείρισης δεδομένων για την ανάπτυξη αξιόπιστων πληροφοριακών εφαρμογών.


