Ηλεκτρονική Διάθεση Μαθήματος
Μαθησιακά Αποτελέσματα
Με την επιτυχή ολοκλήρωση του μαθήματος, οι φοιτητές θα:
• έχουν κατανοήσει την έννοια του αλγορίθμου και τις βασικές αρχές του προγραμματισμού
• έχουν κατανοήσει τις βασικές δομές στον προγραμματισμό
• μπορούν να υλοποιήσουν βασικές δομές σε ψευδογλώσσα ή/και γλώσσα υψηλού επιπέδου (π.χ., Python)
• μπορούν να αναπτύξουν απλά προγράμματα με τη βοήθεια ψευδογλώσσαςή/και γλώσσας υψηλού επιπέδου (π.χ., Python)
• μπορούν να χρησιμοποιήσουν τις προγραμματιστικές δομές (ακολουθίας, επιλογής και επανάληψης) για να δομήσουν με σειριακό τρόπο σενάρια που θα καθορίζουν την επιθυμητή συμπεριφορά αντικειμένων στο Scratch.
• μπορούν να διαχειριστούν απλά πολυμεσικά δεδομένα για να κατασκευάσουν ένα απλό παιχνίδι στο Scratch.
• θα μπορούν να επιλέξουν και να υιοθετήσουν το κατάλληλο κάθε φορά προγραμματιστικό στυλ (event driven, παράλληλο, δομημένο / τμηματικό / ιεραρχικό και object based ή μίγμα) για να φτιάξουν ένα πρόγραμμα σε Scratch.
• θα μπορούν να διακρίνουν διάφορες τοπολογίες παράλληλου προγραμματισμού στο Scratch.
Περιεχόμενο Μαθήματος
Το μάθημα αποτελεί μια εισαγωγή στην έννοια των αλγορίθμων και του προγραμματισμού ενώ παρουσιάζει και θεμελιώδεις τρόπους αποθήκευσης των δεδομένων στον υπολογιστή με τη βοήθεια των δομών δεδομένων. Οι αλγόριθμοι και οι δομές δεδομένων θεωρούνται μια
αδιάσπαστη ενότητα η οποία αποτελεί τη βάση ενός προγράμματος για την επίλυση ενός προβλήματος. Πιο συγκεκριμένα, το μάθημα πραγματεύεται τα εξής θέματα:
• Εισαγωγή στους αλγορίθμους
• Βασικά στοιχεία προγραμματισμού
• Δομή αλγορίθμου
• Τελεστές, εντολές συνθήκης και διακλάδωσης, δημιουργία βρόγχων επανάληψης
• Πίνακες, στοίβες, ουρές
• Συναρτήσεις
Στο εκπαιδευτικό περιβάλλον του Scratch που είναι πλούσιο σε πολυμέσα και με οπτικό προγραμματισμό με πλακίδια θα χρησιμοποιηθούν εργαλεία αναπαράστασης του κώδικα που θα αναδεικνύουν την τμηματοποίηση του κώδικα με αρθρώματα ανά αντικείμενο, ανά κατάσταση, ανά σενάριο και με διαδικασίες εντός σεναρίου ενώ θα αξιοποιηθεί η δυνατότητα χρήσης “βιβλιοθηκών διαδικασιών”. Άλλα θέματα που θα θιγούν είναι οι αναλογίες φυσικών προβλημάτων και προγραμματιστικών διαδικασιών, η ανάλυση και σύνθεση συστημάτων/προβλημάτων
με δομημένο τρόπο, η εννοιολογική ονοματοδοσία διαδικασιών ως ρήματα και μεταβλητών ως ονόματα, η ιεραρχία σε προγράμματα με δενδροειδή δόμηση, τα όρια “κοκκοποίησης” διαδικασιών, η διαχείριση της πολυπλοκότητας, η απόκρυψη λεπτομερειών ανάλογα με τα επίπεδα της ιεραρχίας, η παραμετροποίηση διαδικασιών με κώδικες-πολυεργαλεία, η βελτιστοποίηση του κώδικα, η διαχείριση αιτημάτων και η επικοινωνία μεταξύ προγραμματιστικών οντοτήτων.
Βιβλιογραφία μαθήματος (Εύδοξος)
- Γ. Μανής, «Εισαγωγή στον προγραμματισμό με αρωγό τη γλώσσα Pyrhon», Ελληνικά Ακαδημαϊκά Ηλεκτρονικά Συγγράμματα και Βοηθήματα www.kallipos.gr
- Κ. Μαγκούτης, Χ. Νικολάου, «Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με Python», Ελληνικά Ακαδημαϊκά Ηλεκτρονικά Συγγράμματα και Βοηθήματα www.kallipos.gr
- Α. Λαδιάς & Θ. Καρβουνίδης. Let's Scratch-3. Οδηγός Εκπαιδευτικού. STEM Education. 2019. https://stem.edu.gr/lets-scratch-3/