«Μαθαίνω να προγραμματίζω παίζοντας»

34
ΗΣΙΟΔΕΙΟ ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΘΕΣΠΙΩΝ 2017-2018 Α΄ ΤΕΤΡΑΜΗΝΟ «Μαθαίνω να προγραμματίζω παίζοντας» ΤΜΗΜΑ: Α2 ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΗΤΡΙΑ: ΡΕΝΤΖΟΥ ΕΙΡΗΝΗ ΘΕΣΠΙΕΣ ΙΑΝΟΥΑΡΙΟΣ 2018

Transcript of «Μαθαίνω να προγραμματίζω παίζοντας»

ΗΣΙΟΔΕΙΟ ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΘΕΣΠΙΩΝ

2017-2018

Α΄ ΤΕΤΡΑΜΗΝΟ

«Μαθαίνω να προγραμματίζω παίζοντας»

ΤΜΗΜΑ: Α2

ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΗΤΡΙΑ: ΡΕΝΤΖΟΥ ΕΙΡΗΝΗ

ΘΕΣΠΙΕΣ ΙΑΝΟΥΑΡΙΟΣ 2018

2

ΜΑΘΗΤΕΣ ΠΟΥ ΣΥΜΜΕΤΕΧΟΥΝ:

Α. UHT

1. Μαλέση Μαριτίνα

2. Πανούσης Χρήστος

3. Ρετέλας Αλέξανδρος

4. Χατζή Δήμητρα

Β. THE PINK ROSE

1. Κουτσούρη Παναγιώτα

2. Μανάρα Αγγελική

3. Πελώνη Χριστίνα

Γ. NIGHT LOVELL

1. Σίνα Κλάρα

2. Σουφλέρη Χαρά

3. Στάθη Άννα

4. Χριστοδούλου Μαριάννα

Δ. PITY BOYS

1. Κόλλιας Χρήστος

2. Λάμπρου Παναγιώτης

3. Σωλομός Τάσος

3

Περίληψη

Το τμήμα Α2 μετά από συζήτηση που κάναμε σαν ολομέλεια και αφού προτάθηκαν διάφορα

θέματα αποφασίσαμε το «Μαθαίνω να προγραμματίζω παίζοντας». Η εργασία αυτή διαπραγ-

ματεύτηκε το πώς και αν μπορεί κανείς να μάθει βασικές έννοιες του προγραμματισμού παίζο-

ντας. Έτσι λοιπόν οι 4 ομάδες (όλοι αρχάριοι στον προγραμματισμό) επισκέφθηκαν διάφορες

ιστοσελίδες και «έπαιξαν». Όλες ιστοσελίδες χαρακτηρίστηκαν με βάση κάποια κριτήρια που

θέσαμε όπως π.χ. ηλικίες στις οποίες απευθύνεται, επίπεδο δυσκολίας κτλ.

4

Περιεχόμενα ΜΑΘΗΤΕΣ ΠΟΥ ΣΥΜΜΕΤΕΧΟΥΝ: ............................................................................................................. 2

Περίληψη ................................................................................................................................................ 3

1 Εισαγωγή ......................................................................................................................................... 5

2 Τι είναι Προγραμματισμός .............................................................................................................. 5

3 Γλώσσες Προγραμματισμού ........................................................................................................... 6

3.1 SCALA ....................................................................................................................................... 7

3.2 MATLAB ................................................................................................................................... 7

3.3 FORTH ...................................................................................................................................... 8

3.4 HASKELL ................................................................................................................................... 8

3.5 Perl: ......................................................................................................................................... 9

3.6 TCL ......................................................................................................................................... 10

3.7 CLOJURE ................................................................................................................................ 10

3.8 SMALLTALK ............................................................................................................................ 11

3.9 PYTHON ................................................................................................................................. 12

3.10 C ++ ........................................................................................................................................ 13

3.11 C# ........................................................................................................................................... 13

3.12 R ............................................................................................................................................. 13

3.13 PHP ........................................................................................................................................ 14

3.14 Java script .............................................................................................................................. 14

3.15 Ruby ....................................................................................................................................... 15

3.16 Visual Basic: ........................................................................................................................... 16

3.17 Go .......................................................................................................................................... 17

3.18 Julia ........................................................................................................................................ 18

3.19 Rust ........................................................................................................................................ 18

3.20 Swift ....................................................................................................................................... 19

3.21 Hack ....................................................................................................................................... 19

4 Δημιουργία ερωτηματολογίου ..................................................................................................... 20

4.1 Ερωτηματολόγιο ................................................................................................................... 20

4.2 Αποτελέσματα ....................................................................................................................... 23

5 Μαθαίνω να προγραμματίζω μέσα από παιχνίδια ...................................................................... 27

5.1 Αξιολόγηση Ιστοσελίδων ....................................................................................................... 29

6 Αντί συμπερασμάτων .................................................................................................................... 32

7 Βίντεο σχετικά με τον προγραμματισμό ....................................................................................... 34

5

1 Εισαγωγή

Η ερευνητική εργασία του τμήματος Α2 διαπραγματεύεται την έννοια του προγραμματισμού

ηλεκτρονικών υπολογιστών και την δυνατότητα να κάνει κανείς τα πρώτα του βήματα σ’ αυτόν

μέσα από παιχνίδια.

Στόχος λοιπόν είναι να αποκτήσουμε εξοικείωση με την κωδικοποίηση. Είναι ένας τομέας ά-

γνωστος ακόμη σε μας. Ωστόσο καθώς αποτελεί πλέον έναν πολύ δημοφιλή τομέα και πρόκει-

ται να μας απασχολήσει κατά πολύ στο μέλλον θεωρήσαμε λοιπόν ότι είναι ένα θέμα με το

οποίο αξίζει να ασχοληθούμε.

Για να δουλέψουμε χωριστήκαμε αρχικά σε τέσσερις ομάδες. Στη συνέχεια θέσαμε τα ερωτή-

ματα πάνω στα οποία θα δουλεύαμε και κάθε φορά αναλαμβάναμε ν’ απαντήσουμε σ΄ ένα από

αυτά. Θέλοντας να δούμε και την στάση μας απέναντι στον προγραμματισμό φτιάξαμε και ένα

ερωτηματολόγιο το οποίο και απαντήσαμε προτού ξεκινήσουμε την εργασία. Από τις απαντή-

σεις μας δημιουργήσαμε γραφήματα. Τέλος, χρησιμοποιήσαμε το Διαδίκτυο για τα παιχνίδια

μας αλλά και για την απάντηση ορισμένων άλλων ερωτημάτων που είχαμε θέσει.

2 Τι είναι Προγραμματισμός

Προγραμματισμός υπολογιστών (αγγλ.: «computer programming») καλείται το σύνολο των

διαδικασιών σύνταξης ενός υπολογιστικού προγράμματος, συνήθως ως υλοποίηση κάποιων

αλγορίθμων ύστερα από προσεκτική σχεδίαση, για την αυτοματοποιημένη εκτέλεση εργασιών

ή επίλυση κάποιου υπολογιστικού προβλήματος από έναν υπολογιστή1.

Μεγάλο μέρος της προσπάθειας στον προγραμματισμό καταναλώνεται στο να βρεθούν και να

βελτιωθούν αυτές τις λύσεις. Συχνά, ένα πρόβλημα γίνεται πλήρως κατανοητό ΜΟΝΟ μέσω

της διαδικασίας προγραμματισμού μιας λύσεως σε αυτό2.

1 http://users.sch.gr/tzampazakm/autosch/joomla15/index.php/2013-09-10-13-52-44/eidos-

mathimatos-g/50-ti-einai-o-programmatismos

2 http://slideplayer.gr/slide/1896370/

6

Εικόνα 1: Προγραμματίζοντας το μέλλον

Σήμερα, ο προγραμματισμός ηλεκτρονικών υπολογιστών και η δυνατότητα εκμάθησης γλωσ-

σών προγραμματισμού, ή - σε απλά λόγια - η γνώση του να γράφεις κώδικα, αντιμετωπίζεται

από τα εκπαιδευτικά συστήματα πολλών χωρών, ως ένα βασικό μάθημα από τις πρώτες τάξεις

του σχολείου. Όπως περίπου η εκμάθηση μιας ξένης γλώσσας. Τα πλεονεκτήματα, είναι πολλά.

Εμβάθυνση και γνώση του ψηφιακού κόσμου που μας περιβάλλει και καλύπτει ολοένα και

περισσότερο τη ζωή μας, επαρκής προετοιμασία για το μέλλον3.

3 Γλώσσες Προγραμματισμού

Γλώσσα προγραμματισμού λέγεται μια τεχνητή γλώσσα που μπορεί να χρησιμοποιηθεί για τον

έλεγχο μιας μηχανής, συνήθως ενός υπολογιστή. Οι γλώσσες προγραμματισμού (όπως άλλω-

στε και οι ανθρώπινες γλώσσες) ορίζονται από ένα σύνολο συντακτικών και εννοιολογικών

κανόνων, που ορίζουν τη δομή και το νόημα, αντίστοιχα, των προτάσεων της γλώσσας.

Υπάρχουν χιλιάδες διαφορετικές γλώσσες προγραμματισμού, και κάθε χρόνο δημιουργούνται

περισσότερες.

3 http://www.lifo.gr/team/toptips/60058

7

3.1 SCALA

Η Scala είναι μια γλώσσα προγραμματισμού πολλαπλών παραδειγμάτων που σχεδιάστηκε για

να ενσωματώσει χαρακτηριστικά του αντικειμενοστρεφούς προγραμματισμού και του συναρ-

τησιακού προγραμματισμού4.

Εικόνα 2: Λογότυπο Γλώσσας

3.2 MATLAB Το MATLAB (matrix laboratory) είναι ένα περιβάλλον αριθμητικής υπολογιστικής και

μια προγραμματιστική γλώσσα τέταρτης γενιάς. Αποθηκεύει και κάνει τις πράξεις με βάση

την άλγεβρα μητρών. Η τρέχουσα έκδοσή του είναι η R2017a η οποία κυκλοφόρησε τον Μάρ-

τιο του 2017. Χρησιμοποιείται κατά κύριο λόγο για την επίλυση μαθηματικών προβλημάτων,

ωστόσο είναι πολύ "ισχυρό" και μπορεί να χρησιμοποιηθεί και για προγραμματισμό καθώς

περιέχει εντολές από την C++ όπως την while, την switch και την if. Στον τομέα των γραφικών

όσον αφορά τον μαθηματικό κλάδο μπορεί να υλοποιήσει συναρτήσεις πραγματικές, μιγαδικές,

πεπλεγμένες συναρτήσεις δύο μεταβλητών και άλλες. Όσον αφορά τον στατιστικό κλάδο μπο-

ρεί να υλοποιήσει ιστογράμματα, τομεογράμματα, ραβδοδιαγράμματα, εμβαδογράμματα5

Εικόνα 3: Γράφημα 4 https://el.wikipedia.org/wiki/Scala 5 https://el.wikipedia.org/wiki/MATLAB

8

3.3 FORTH Η Forth είναι μια δομημένη, προστακτική, ανακλαστική και επεκτάσιμη γλώσσα προγραμμα-

τισμού, βασισμένη στη στοίβα, ενώ με το ίδιο όνομα αποκαλείται και το περιβάλλον προγραμ-

ματισμού της. Αν και το όνομά της δεν αποτελείται από αρχικά κάποιων λέξεων, πολλές φορές

γράφεται με κεφαλαία FORTH, για ιστορικούς λόγους.

Σαν διαδικαστική γλώσσα προγραμματισμού χωρίς σύστημα τύπων, η Forth περιλαμβάνει δια-

δραστική εκτέλεση εντολών (κάτι που την κάνει κατάλληλη σαν κέλυφος συστημάτων χω-

ρίς λειτουργικό σύστημα) και την ικανότητα να μεταγλωττίζει ακολουθίες εντολών για μετα-

γενέστερη εκτέλεση.

Κάποιες υλοποιήσεις της Forth (συνήθως πρώιμες εκδόσεις, ή εκδόσεις που έχουν γραφτεί για

να είναι πλήρως μεταφέρσιμες) μεταγλωττίζουν σε threaded code, αλλά πολλές σύγχρονες υ-

λοποιήσεις παράγουν βελτιστοποιημένο κώδικα μηχανής όπως άλλοι μεταγλωττιστές γλωσ-

σών.6

Εικόνα 4: Λογότυπο Γλώσσας

3.4 HASKELL

Η Haskell είναι μια πρότυπη αμιγώς συναρτησιακή γλώσσα προγραμματισμού γενικής χρή-

σης με μη-αυστηρή σημασιολογία και ισχυρούς τύπους. Πήρε το όνομά της από τον επιστή-

μονα της λογικής Haskell Curry. Στη Haskell, "μια συνάρτηση είναι μέλος πρώτης τάξης" της

γλώσσας προγραμματισμού. Ως συναρτησιακή γλώσσα προγραμματισμού, χρησιμοποιεί σαν

κύρια δομή ελέγχου τη συνάρτηση. Η γλώσσα βασίζεται στις παρατηρήσεις του Haskell Curry

και των πνευματικών του απογόνων, ότι "μια απόδειξη είναι ένα πρόγραμμα και ο μαθηματι-

κός τύπος που αποδεικνύει είναι ο τύπος του προγράμματος".7

6 https://el.wikipedia.org/wiki/Forth 7 https://el.wikipedia.org/wiki/Haskell

9

Εικόνα 5: Λογότυπο Γλώσσας

3.5 Perl:

H γλώσσα προγραμματισμού Perl είναι μια γλώσσα προγραμματισμού ιδιαίτερα γνωστή στο

χώρο του UNIX και του Linux. Η Perl είναι μια ιδιαίτερα εύχρηστη γλώσσα με πολλές εφαρ-

μογές στη βιοπληροφορική.

Ένα βασικό χαρακτηριστικό της Perl, είναι η απλότητα της σε πολλά επίπεδα που θα εξηγηθούν

παρακάτω, η οποία οδηγεί σε μια μάλλον «απότομη» καμπύλη μάθησης. Αυτό σημαίνει, ότι

κάποιος που δεν γνωρίζει τη γλώσσα, μπορεί σε σύντομο χρονικό διάστημα να τη χρησιμοποι-

ήσει για να πραγματοποιήσει κάποιες βασικές λειτουργίες (στον ίδιο χρόνο δεν θα μπορούσε

να πετύχει το ίδιο σε κάποιες άλλες γλώσσες όπως η C, C++ ή Java).

Το μειονέκτημα σε αυτό, είναι ότι με το "χαλαρό" τρόπο της, η Perl μπορεί να οδηγήσει κάποιες

φορές τον προγραμματιστή σε λάθος. Το άλλο χαρακτηριστικό της, αποτυπώνεται στο σύν-

θημα «TIMTOWTDI», που προέρχεται από τα αρχικά της φράσης «There Is More Than One

Way To Do It» (και προφέρεται «Tim Toady»).8

Εικόνα 6: Λογότυπο Γλώσσας

8 https://el.wikipedia.org/wiki/Perl

10

3.6 TCL Η Tcl (αρχικά των αγγλικών λέξεων "Tool Command Language", "Γλώσσα Εντολών Εργα-

λείων", συνήθως εμφανίζεται ως "Tcl" ή "TCL") είναι μια γλώσσα προγραμματισμού σενα-

ρίων που δημιουργήθηκε από τον John Ousterhout.

Σύμφωνα με αυτόν, "δημιουργήθηκε λόγω απογοήτευσης και, ενώ οι προγραμματιστές δη-

μιουργούσαν τις δικές τους γλώσσες, τις οποίες στη συνέχεια ενσωμάτωναν σε εφαρμογές, η

Tcl έγινε αποδεκτή από μόνη της. Συχνά χρησιμοποιείται για γρήγορη ανάπτυξη εφαρμογών

(rapid application development/rapid prototyping), εφαρμογές σεναρίων, γραφικές διεπαφές

και δοκιμές λογισμικού.

Η Tcl χρησιμοποιείται σε πλατφόρμες ενσωματωμένων συστημάτων, τόσο στην πλήρη της έκ-

δοση, όσο και σε διάφορες άλλες εκδόσεις με μικρότερες απαιτήσεις.9

Εικόνα 7: Λογότυπο Γλώσσας

3.7 CLOJURE

Clojure (προφέρεται όπως ο αγγλικός όρος "closure") είναι μια σύγχρονη διάλεκτος της γλώσ-

σας προγραμματισμού Lisp. Είναι γλώσσα γενικού σκοπού, υποστηρίζει τη διαδραστική ανά-

πτυξη, ενθαρρύνει το στυλ συναρτησιακού προγραμματισμού και απλοποιεί τον πολυνηματικό

προγραμματισμό. Η Clojure τρέχει στην Εικονική μηχανή της Java (JVM) και στην Common

Language Runtime (CLR). Η Clojure τηρεί τη φιλοσοφία "κώδικας-σαν-δεδομένα (code-as-

data)" και έχει ένα εκτεταμένο σύστημα μακροεντολών.10

9 https://el.wikipedia.org/wiki/Tcl 10 https://el.wikipedia.org/wiki/Clojure

11

Εικόνα 8: Λογότυπο Γλώσσας

3.8 SMALLTALK

Η Smalltalk είναι μια αμιγώς αντικειμενοστρεφής γλώσσα προγραμματισμού. Σχεδιάστηκε

από τους Alan Kay, Adele Goldberg, Dan Ingals, και τους συνεργάτες τους (ομάδα Learning

Research Group, LRG), στο ερευνητικό κέντρο της Xerox στο Palo Alto κατά τη διάρκεια της

δεκαετίας του 1970.

Αν και δεν ήταν η πρώτη αντικειμενοστρεφής γλώσσα προγραμματισμού (προηγήθηκε

η Simula, από την οποία και επηρεάστηκε), θεωρείται πρότυπο για τις γλώσσες του είδους και

αποτέλεσε σημαντική επιρροή στη σχεδίαση νέων γλωσσών. Βασίζεται σε ένα μοντέλο ενερ-

γών αντικειμένων που ανταλλάσσουν μηνύματα (το αντίστοιχο των μεθόδων σε άλλες γλώσ-

σες) κατά τη διάρκεια του προγράμματος.

Έχει δυναμικούς τύπους και το είδος του μηνύματος που πρόκειται να σταλεί κάθε φορά με-

ταξύ δυο αντικειμένων αποφασίζεται δυναμικά στη διάρκεια της εκτέλεσης του προγράμματος

(δυναμική δέσμευση μεθόδων). Τα αντικείμενα ανήκουν σε κλάσεις και μια κλάση μπορεί να

επεκταθεί σαν μια νέα κλάση με επιπρόσθετη λειτουργικότητα (κληρονομικότητα).11

Εικόνα 9: Λογότυπο Γλώσσας

11 https://el.wikipedia.org/wiki/Smalltalk

12

3.9 PYTHON

Η Python είναι μια υψηλού επιπέδου γλώσσα προγραμματισμού η οποία δημιουργήθηκε από

τον Ολλανδό Γκβίντο βαν Ρόσσουμ (Guido van Rossum) το 1990. Ο κύριος στόχος της είναι η

αναγνωσιμότητα του κώδικά της και η ευκολία χρήσης της και το συντακτικό της επιτρέπει

στους προγραμματιστές να εκφράσουν έννοιες σε λιγότερες γραμμές κώδικα απ'ότι θα ήταν

δυνατόν σε γλώσσες όπως η C++ ή η Java.

Διακρίνεται λόγω του ότι έχει πολλές βιβλιοθήκες που διευκολύνουν ιδιαίτερα αρκετές συνη-

θισμένες εργασίες και για την ταχύτητα εκμάθησης της. Οι διερμηνευτές της Python είναι δια-

θέσιμοι για εγκατάσταση σε πολλά λειτουργικά συστήματα, επιτρέποντας στην Python την ε-

κτέλεση κώδικα σε ευρεία γκάμα συστημάτων.

Χρησιμοποιώντας εργαλεία τρίτων, όπως το Py2exe ή το Pyinstaller ο κώδικας της Python

μπορεί να πακεταριστεί σε αυτόνομα εκτελέσιμα προγράμματα για μερικά από τα πιο δημοφιλή

λειτουργικά συστήματα, επιτρέποντας τη διανομή του βασισμένου σε Python λογισμικού για

χρήση σε αυτά τα περιβάλλοντα χωρίς να απαιτείται εγκατάσταση του διερμηνευτή της

Python.12

Εικόνα 10: Λογότυπο Γλώσσας

12 https://el.wikipedia.org/wiki/Python

13

3.10 C ++

Είναι μια γενικής χρήσης γλώσσα με στατικούς τύπους, που είναι όσο αποτελεσματική και φο-

ρητή, όσο η C ώστε να υποστηρίζει άμεσα και σφαιρικά πολλά είδη προγραμματισμού (δομη-

μένος προγραμματισμός, αντικειμενοστρεφής προγραμματισμός, γενικός προγραμματισμός)

ώστε:

να δίνει επιλογές στον προγραμματιστή, ακόμα κι αν του επιτρέπει να επιλέξει λανθασμένα με

σκοπό να είναι όσο το δυνατόν συμβατή με τη C, διευκολύνοντας έτσι τη μετάβαση από τη C

στη C++ με σκοπό να αποφεύγει χαρακτηριστικά που αναφέρονται σε συγκεκριμένες πλατ-

φόρμες ή δεν είναι γενικής χρήσης ώστε να μην δημιουργείται επιπλέον επεξεργαστικό κόστος

για χαρακτηριστικά της γλώσσας που δεν χρησιμοποιούνται ώστε να λειτουργεί χωρίς κάποιο

εξελιγμένο προγραμματιστικό περιβάλλον

3.11 C#

Η C# (C Sharp, ελληνική προφ. Σι Σάρπ,) είναι μια γλώσσα προγραμματισμού Η/Υ. Δημιουρ-

γήθηκε από την Microsoft μέσα από την πλατφόρμα.NET και αργότερα αναγνωριστηκε επισή-

μως από την Ecma (ECMA-334) και την ISO (ISO/IEC 2327:2006). Είναι μια από τις γλώσσες

προγραμματισμού που δημιουργήθηκαν για την Common Language Infrastructure. O κύριος

σκοπός της γλώσσας είναι να είναι απλή αντικειμενοστρεφής γλώσσα για γενική χρήση. Ο

διοικητής της ομάδα που διαχειρίζεται την γλώσσα ονομάζεται Anders Hejlsberg. Στις 15 Αυ-

γούστου 2012 κυκλοφόρησε η έκδοση 5.0 η οποία είναι η πιο πρόσφατη μέχρι σήμερα.13

3.12 R

Η R14 είναι γλώσσα προγραμματισμού και περιβάλλον που παρέχει στον χρήστη τη δυνατό-

τητα να κάνει υπολογιστική στατιστική και γραφήματα. Έχει πολλές ομοιότητες με το περι-

βάλλον της S, η οποία δημιουργήθηκε στα Εργαστήρια Bell από τον John Chambers. Παρέχει

τα απαραίτητα εργαλεία προκειμένου να υλοποιηθεί μια στατιστική ανάλυση. Κάποια από τα

εργαλεία αυτά είναι:

13 https://el.wikipedia.org/wiki/C_Sharp 14 https://el.wikipedia.org/wiki/R_(%CE%B3%CE%BB%CF%8E%CF%83%CF%83%CE%B1_%CF%80%CF%81%CE%BF%CE%B3%CF%81%CE%B1%CE%BC%CE%BC%CE%B1%CF%84%CE%B9%CF%83%CE%BC%CE%BF%CF%8D)

14

δημιουργία τυχαίων δειγμάτων

διακριτές και συνεχείς μεταβλητές (Poisson, Gamma, Exponential κτλ)

έλεγχοι υποθέσεων

δημιουργία γραφημάτων (ιστόγραμμα, qq plot, pie chart, bar chart κτλ)

Εικόνα 11: Λογότυπο Γλώσσας

3.13 PHP

H PHP (PHP: Hypertext Preprocessor) είναι μια γλώσσα προγραμματισμού για τη δημιουργία

σελίδων web με δυναμικό περιεχόμενο. Μια σελίδα PHP περνά από επεξεργασία από ένα συμ-

βατό διακομιστή του Παγκόσμιου Ιστού (π.χ. Apache), ώστε να παραχθεί σε πραγματικό χρόνο

το τελικό περιεχόμενο, που είτε θα σταλεί στο πρόγραμμα περιήγησης των επισκεπτών σε

μορφή κώδικα HTML ή θα επεξεργασθεί τις εισόδους δίχως να προβάλλει την έξοδο στο χρή-

στη, αλλά θα τις μεταβιβάσει σε κάποιο άλλο PHP script.

Εικόνα 12: Λογότυπο Γλώσσας

3.14 Java script

Η JavaScript (JS) είναι διερμηνευμένη γλώσσα προγραμματισμού για ηλεκτρονικούς υπολογι-

στές. Αρχικά αποτέλεσε μέρος της υλοποίησης των φυλλομετρητών Ιστού, ώστε τα σενάρια

από την πλευρά του πελάτη (client-side scripts) να μπορούν να επικοινωνούν με τον χρήστη,

15

να ανταλλάσσουν δεδομένα ασύγχρονα και να αλλάζουν δυναμικά το περιεχόμενο του εγγρά-

φου που εμφανίζεται.

Είναι δυναμική, με ασθενείς τύπους και έχει συναρτήσεις ως αντικείμενα πρώτης τάξης. Η σύ-

νταξή της είναι επηρεασμένη από τη C. Η JavaScript αντιγράφει πολλά ονόματα και συμβάσεις

ονοματοδοσίας από τη Java, αλλά γενικά οι δύο αυτές γλώσσες δε σχετίζονται και έχουν πολύ

διαφορετική σημασιολογία. Οι βασικές αρχές σχεδιασμού της JavaScript προέρχονται από τις

γλώσσες προγραμματισμού Self και Scheme15. Είναι γλώσσα Η JavaScript είναι μια γλώσσα

σεναρίων που βασίζεται στα πρωτότυπα (prototype-βασισμένη σε διαφορετικά προγραμματι-

στικά παραδείγματα (multi-paradigm), υποστηρίζοντας αντικειμενοστρεφές, προστακτικό και

συναρτησιακό στυλ προγραμματισμού.

Η JavaScript χρησιμοποιείται και σε εφαρμογές εκτός ιστοσελίδων τέτοια παραδείγματα είναι

τα έγγραφα PDF, οι εξειδικευμένοι φυλλομετρητές (site-specific browsers) και οι μικρές εφαρ-

μογές της επιφάνειας εργασίας (desktop widgets). Οι νεότερες εικονικές μηχανές και πλαίσια

ανάπτυξης για JavaScript (όπως το Node.js) έχουν επίσης κάνει τη JavaScript πιο δημοφιλή για

την ανάπτυξη εφαρμογών Ιστού στην πλευρά του διακομιστή (server-side).16

Εικόνα 13: Λογότυπο Γλώσσας

3.15 Ruby

Η Ruby είναι μια δυναμική, ανακλαστική, αντικειμενοστρεφής γλώσσα προγραμματισμού γε-

νικής χρήσης, που συνδυάζει μια σύνταξη επηρεασμένη από την Perl με χαρακτηριστικά από

τη Smalltalk. Η Ruby προήλθε από την Ιαπωνία στα μέσα της δεκαετίας του 1990 και αρχικά

15 https://el.wikipedia.org/wiki/JavaScript#cite_note-2 16 https://el.wikipedia.org/wiki/JavaScript

16

σχεδιάστηκε και αναπτύχθηκε από τον Yukihiro "Matz" Matsumoto. Βασικές της επιρροές εί-

ναι η Perl, η Smalltalk, η Eiffel και η Lisp.

Η Ruby υποστηρίζει πολλαπλά παραδείγματα προγραμματισμού όπως ο συναρτησιακός προ-

γραμματισμός, ο αντικειμενοστρεφής προγραμματισμός, ο προστακτικός προγραμματι-

σμός και ο ανακλαστικός (reflective) προγραμματισμός. Έχει σύστημα δυναμικών τύπων και

αυτόματη διαχείριση μνήμης, επομένως μοιάζει σε κάποια χαρακτηριστικά της με την Python,

την Perl, τη Lisp, τη Dylan, την Pike και τη CLU.

Η πρότυπη υλοποίηση 1.8.7 της Ruby είναι γραμμένη σε C, σαν μια διερμηνευόμενη γλώσσα

ενός περάσματος. Προς το παρόν δεν υπάρχει κάποιο επίσημο πρότυπο αναφοράς για τη

γλώσσα Ruby.

θεωρείται το ντε φάκτο σημείο αναφοράς. Υπάρχουν αρκετές (ολοκληρωμένες ή σε ανάπτυξη)

εναλλακτικές υλοποιήσεις της γλώσσας, συμπεριλαμβανομένων ων YARV, JRuby, Rubinius,

IronRuby, MacRuby και HotRuby, κάθε μια από τις οποίες και έχει διαφορετική προσέγγιση,

με τις IronRuby, JRuby και MacRuby να προσφέρουν just-in-time compilation και τη MacRuby

να προσφέρει επιπλέον ahead-of-time compilation. Ο κώδικας της επίσημης έκδοσης 1.9 χρη-

σιμοποιεί τη YARV, όπως και αυτός της έκδοσης 2.0 (σε ανάπτυξη), η οποία και θα αντικατα-

στήσει την πιο αργή Ruby MRI.

Εικόνα 14: Λογότυπο Γλώσσας

3.16 Visual Basic:

Η γλώσσα της Microsoft's θεωρείται επίσης μία σχετικά εύκολη γλώσσα προγραμματισμού

στην εκμάθηση και τη χρησιμοποίηση, λόγω των χαρακτηριστικών της, καθώς έχει Γραφικό

17

Περιβάλλον Χρήστη. Αν και από πολλούς θεωρείται παρωχημένη εξακολουθεί να έχει την υ-

ποστήριξη της Microsoft17.

Εικόνα 15: Σκαρίφημα προγράμματος

α

3.17 Go

Γνωστή και ως Golang, η Go είναι μια open source γλώσσα προγραμματισμού που δημιουργή-

θηκε από 3 υπαλλήλους της Google και ξεκίνησε την πορεία της το 2009.

Η Go προέρχεται από δημοφιλείς γλώσσες προγραμματισμού όπως οι C και Java. Προσφέρει

μια συνοπτική σημειογραφία και έχει ως στόχο να κρατήσει τον κώδικα απλούστερο και ευα-

νάγνωστο. Οι σχεδιαστές της γλώσσας, Robert Griesemer, Rob Pike, και Ken Thompson, έχουν

πει ότι η πολυπλοκότητα της C ++ ήταν το αρχικό κίνητρό τους.

Αυτή η απλή γλώσσα προγραμματισμού επιτυγχάνει τα περισσότερα καθήκοντά της μόνο με

την πρότυπη βιβλιοθήκη. Συνδυάζοντας την ταχύτητα των δυναμικών γλωσσών, όπως

η Python, και την αξιοπιστία της C/C ++, η Go είναι το τέλειο εργαλείο για τη δημιουργία

κατανεμημένων συστημάτων υψηλής έντασης (high volume distributed systems).

17 https://pcbuilding.gr/pia-glossa-programmatismou-dialexo/

18

Εικόνα 16: Λογότυπο Γλώσσας

3.18 Julia

Η γλώσσα προγραμματισμού Julia σχεδιάστηκε για να βοηθήσει τους επιστήμονες και τους

μαθηματικούς. Μας συστήθηκε ως πλήρης υψηλού επιπέδου και δυναμική λύση προγραμμα-

τισμού για tachnical computing.

H Julia κερδίζει σιγά σιγά περισσότερους χρήστες και ο ρυθμός ανάπτυξής της διπλασιάζεται

κάθε εννέα μήνες. Με τον καιρό, η Julia φαίνεται να είναι μια από τις δεξιότητες που αποφέρει

υψηλότερες απολαβές στον οικονομικό τομέα.

Εικόνα 17: Λογότυπο Γλώσσας

3.19 Rust

Δημιουργήθηκε από τη Mozilla το 2014, στην 2016 έρευνα προγραμματιστών της

StackOverflow ψηφίστηκε ως η πιο αγαπημένη γλώσσα προγραμματισμού.

Η Rust αναπτύχθηκε ως εναλλακτική λύση της C ++ από τη Mozilla, η οποία μιλάει για μια

νέα γλώσσα που επικεντρώνεται “στην απόδοση, στον παραλληλισμό και στην ασφάλεια μνή-

μης”.

19

Εικόνα 18: Λογότυπο Γλώσσας

3.20 Swift

Η Apple ξεκίνησε τη Swift γλώσσα προγραμματισμού στο 2014 WWDC ως αντικαταστά-

τρια της Objective-C. Σχεδιασμένη για να είναι απλή από φύση, η Swift επικεντρώνεται στην

ταχύτητα και ασφάλεια.

Αργότερα, τον Δεκέμβριο του 2015, η Apple έκανε τη Swift open source κάτω από την άδεια

της Apache. Από το ξεκίνημά της, η Swift έχει δει μια εκθετική αύξηση του κοινού της και έχει

γίνει μια από τις πιο hot γλώσσες προγραμματισμού εκεί έξω.

Το να μάθετε τη Swift σας εξασφαλίζει ένα λαμπρό μέλλον, καθώς σας δίνει τη δυνατότητα να

κωδικοποιήσετε εφαρμογές για το τεράστιο iOS οικοσύστημα της Apple.18

Εικόνα 19: Λογότυπο Γλώσσας

3.21 Hack

Η Hack είναι μια άλλη μια νέα γλώσσα προγραμματισμού που δημιουργήθηκε από έναν άλλο

τεχνολογικό γίγαντα, το Facebook, το 2014.

18 https://developer.apple.com/swift/

20

Ο γίγαντας του social networking ανέπτυξε την Hack στο Facebook και πρόκειται για μια με-

γάλη επιτυχία. Η εταιρεία, επίσης, μεταφέρει ολόκληρο το PHP codebase της σε Hack.

Το Facebook έχει κυκλοφορήσει επίσης μια open source έκδοση της γλώσσας προγραμματι-

σμού ως μέρος της HHVM runtime πλατφόρμας της.19

Εικόνα 20: Λογότυπο Γλώσσας

4 Δημιουργία ερωτηματολογίου

Κανένας από τους συμμαθητές μας που πήραν μέρος στο project δεν είχε πρότερη επαφή με

τον προγραμματισμό. Δημιουργήσαμε λοιπόν ένα ερωτηματολόγιο που έδειχνε την αρχική μας

στάση απέναντι σ΄ αυτό το νέο τομέα.

4.1 Ερωτηματολόγιο

Ερώτηση 1

ΞΕΡΕΤΕ ΤΙ ΕΙΝΑΙ Ο ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ?

Ναι

Όχι

Δεν ξέρω / Δεν απαντώ

19 https://foss.ntua.gr/wiki/index.php/%CE%93%CE%BB%CF%8E%CF%83%CF%83%CE%B5%CF%82_%CE%A0%CF%81%CE%BF%CE%B3%CF%81%CE%B1%CE%BC%CE%BC%CE%B1%CF%84%CE%B9%CF%83%CE%BC%CE%BF%CF%8D#C.2B.2B

21

Ερώτηση 2

ΞΕΡΕΤΕ ΚΑΜΙΑ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ;

Ναι μία

Ναι πολλές

Καμία

Δεν ξέρω / Δεν απαντώ

Ερώτηση 3

ΈΧΕΤΕ ΑΣΧΟΛΗΘΕΙ ΠΟΤΕ ΞΑΝΑ ΜΕ ΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ;

Ποτέ

Πρώτη φορά τ' ακούω

Ναι

Δεν ξέρω / Δεν απαντώ

Ερώτηση 4

ΠΙΣΤΕΥΕΤΕ ΠΩΣ ΕΙΝΑΙ ΑΝΑΓΚΑΙΟ ΝΑ ΓΝΩΡΙΖΕΤΕ ΟΛΕΣ ΤΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑ-

ΤΙΣΜΟΥ ΠΡΟΤΟΥ ΜΑΘΕΤΕ ΝΑ ΠΡΟΓΡΑΜΜΑΤΙΖΕΤΕ;

Ίσως μερικές

Όχι

Ναι

Δεν ξέρω / Δεν απαντώ

22

Ερώτηση 5

ΠΙΣΤΕΥΕΤΕ ΟΤΙ ΘΑ ΝΑΙ ΔΥΣΚΟΛΟ ΝΑ ΜΑΘΕΤΕ ΝΑ ΠΡΟΓΡΑΜΜΑΤΙΖΕΤΕ;

Εννοείτε πως ναι

Όχι βέβαια. Θα ναι παιχνιδάκι

Ίσως λίγο

Δεν ξέρω / Δεν απαντώ

Ερώτηση 6

ΠΟΣΟ ΚΑΙΡΟ ΠΙΣΤΕΥΕΤΕ ΘΑ ΣΑΣ ΠΑΡΕΙ ΝΑ ΜΑΘΕΤΕ ΤΑ ΒΑΣΙΚΑ

Μερικούς μήνες

2-3 μήνες

Κανά χρόνο

Δεν ξέρω / Δεν απαντώ

Ερώτηση 7

ΤΙ ΕΙΔΟΥΣ ΕΦΑΡΜΟΓΗ ΘΑ ΘΕΛΑΤΕ ΝΑ ΦΤΙΑΞΕΤΕ;

Παιχνίδι

Με νέα, κουτσομπολιά

Γενικού ενδιαφέροντος

Δεν ξέρω / Δεν απαντώ

23

4.2 Αποτελέσματα

Ερώτηση 1

Ξέρετε τι είναι ο προγραμματισμός?

Γράφημα 1

Πίνακας 1: Απαντήσεις ερώτησης 1ης

Ερώτηση 2

Ξέρετε καμία γλώσσα προγραμματισμού;

Γράφημα 2

Απάντηση Συνολικός αριθμός απαντήσεων

Δεν ξέρω / Δεν α-

παντώ

1

Ναι 8

Όχι 1

24

Απάντηση Συνολικός αριθμός απαντήσεων

Ναι πολλές 4

Καμία 6

Πίνακας 2: Απαντήσεις 2ης ερώτησης

Ερώτηση 3

Έχετε ασχοληθεί ποτέ ξανά με τον προγραμματισμό;

Γράφημα 3

Απάντηση Συνολικός αριθμός απαντήσεων

Ποτέ 5

Πρώτη φορά τ' ακούω 2

Ναι 3

Πίνακας 3: Απαντήσεις ερώτησης 3

25

Ερώτηση 4

Πιστεύετε πως είναι αναγκαίο να γνωρίζετε όλες τις γλώσσες προγραμματισμού προτού μάθετε

να προγραμματίζετε;

Γράφημα 4

Απάντηση Συνολικός αριθμός απαντήσεων

Δεν ξέρω / Δεν απαντώ 2

Ίσως μερικές 4

Όχι 2

Ναι 2

Πίνακας 4: Απαντήσεις 2ης ερώτησης

Ερώτηση 5

Πιστεύετε ότι θα ναι δύσκολο να μάθετε να προγραμματίζετε;

Γράφημα 5

26

Απάντηση Συνολικός αριθμός απαντήσεων

Εννοείτε πως ναι 2

Όχι βέβαια. Θα ναι παιχνιδάκι 1

Ίσως λίγο 7

Πίνακας 5: Απαντήσεις 5ης ερώτησης

Ερώτηση 6

Πόσο καιρό πιστεύετε θα σας πάρει να μάθετε τα βασικά;

Γράφημα 6

Απάντηση Συνολικός αριθμός απαντήσεων

Δεν ξέρω / Δεν απαντώ 3

Μερικούς μήνες 4

2-3 μήνες 2

Κανά χρόνο 1

Πίνακας 6: Απαντήσεις 6ης ερώτησης

27

Ερώτηση 7

Τι είδους εφαρμογή θα θέλατε να φτιάξετε;

Γράφημα 7

Απάντηση Συνολικός αριθμός απαντήσεων

Παιχνίδι 7

Με νέα, κουτσομπολιά 1

Γενικού ενδιαφέροντος 2

Πίνακας 7: Απαντήσεις 7ης ερώτησης

Παρατηρεί λοιπόν κανείς πως οι συμμαθητές μας σε μεγάλο ποσοστό ενώ γνωρίζουν την έν-

νοια του προγραμματισμού δεν γνωρίζουν κάποια από τις ήδη υπάρχουσες γλώσσες. Δεν έχουν

ασχοληθεί ποτέ με τον προγραμματισμό (50%) και το 40% θεωρεί πως πριν ασχοληθούν ε-

νεργά με τον προγραμματισμό θα πρέπει να μάθουν κάποιες από τις γλώσσες. Ανησυχούν πως

θα ναι δύσκολο να μάθουν να προγραμματίζουν (70%) και πως αυτό θα τους πάρει ορισμένους

μήνες (40%). Τέλος, η πλειονότητα θα ήθελε να μάθει να φτιάχνει κάποιο παιχνίδι όταν ασχο-

ληθεί με τον προγραμματισμό.

5 Μαθαίνω να προγραμματίζω μέσα από παιχνίδια

Μια νέα τάση που υπάρχει στην εκμάθηση προγραμματισμού στις νεαρές ηλικίες είναι η χρήση

παιχνιδιών. Μέσω ειδικών ιστοσελίδων που απευθύνονται σε παιδιά και έφηβους (4 έως και 18

χρονών) οι μαθητές καλούνται να επιλύσουν ειδικές «αποστολές». Με παιγνιώδη τρόπο λοιπόν

28

εμβαθύνουν στις διάφορες έννοιες του προγραμματισμού (Επιλογή, επανάληψη, μεταβλητές

κ.α.) και αρχίζουν να αποκτούν κάποιες γνώσεις προγραμματισμού κάνοντας στη συνέχεια την

μετάβαση τους σ’ ένα καθαρά προγραμματιστικό περιβάλλον πιο εύκολη.

Στους παρακάτω πίνακες μπορεί να δει κανείς ιστοσελίδες τέτοιου είδους καθώς και τα κριτή-

ρια που θέσαμε σαν μια μορφή αξιολόγησης.

Α/Α ΙΣΤΟΣΕΛΙΔΑ

1. https://www.codingame.com/start

2. https://codecombat.com/

3. https://code.org/learn

4. https://www.playcodemonkey.com/

5. https://www.bloc.io/ruby-warrior#/

6. https://alexnisnevich.github.io/untrusted/

7. https://checkio.org/

8. https://vim-adventures.com/

9. https://www.codeavengers.com

10. https://www.tynker.com

11. https://www.kodable.com/

12. https://www.techrocket.com/

13. http://fightcodegame.com/

14. https://blockly-games.appspot.com/

Πίνακας 8: Προγραμματιστικά παιχνίδια

29

Α/Α Κριτήριο

1. Βαθμός Δυσκολίας

2. Ηλικίες στις οποίες απευθύνεται

3. Γραφικά

4. Οδηγίες-Βοήθεια

5. Κατανόηση περιεχομένου

6. Ανταπόκριση ιστοσελίδας

7. Υπόθεση του παιχνιδιού

8. Δωρεάν ή όχι (εγγραφή)

9. Ευκολία πλοήγησης

10. Επίπεδα παιχνιδιού/πίστες

11. Σκοπός ιστοσελίδας

12. Αποτελεσματικότητα

13. Ενδιαφέρον/Βαρετό

14. Βαθμός Δυσκολίας

Πίνακας 9: Κριτήρια Αξιολόγησης

5.1 Αξιολόγηση Ιστοσελίδων

Αφού επισκεφθήκαμε κάποιες από τις ιστοσελίδες και …παίξαμε στη συνέχεια συμπληρώσαμε

για κάθε μία το πινακάκι με τα Κριτήρια που ορίσαμε.

30

ΌΝΟΜΑ: LIGHTBOT CODE-COMBAT

STARWARS

FLAPPY Run Marco Academy with the foos

Code Mon-key

Code combat

Mine-craft

Starwars Elsa

ΗΛΙΚΙΕΣ ΠΟΥ Α-ΠΕΥΘΥΝΕΤΑΙ:

12+ 12+ 10+ 10+ 6-12 6-12 6-12 12+ 2+ 2+ 2+

ΕΓΓΡΑΦΗ: OXI ΝΑΙ ΟΧΙ ΟΧΙ όχι όχι όχι ναι ΟΧΙ ΟΧΙ ΟΧΙ

ΔΩΡΕΑΝ: NAI ΝΑΙ ΝΑΙ ΝΑΙ ναι ναι ναι ναι ΝΑΙ ΝΑΙ ΝΑΙ

ΕΥΚΟΛΙΑ ΠΛΟΗ-ΓΗΣΗΣ:

NAI ΝΑΙ ΜΕΤΡΙΑ ΚΑΛΗ 10/10 10/10 10/10 9/10 ΝΑΙ ΝΑΙ ΝΑΙ

ΣΚΟΠΟΣ ΠΑΙΧΝΙ-ΔΙΟΥ:

ΑΝΟΙΓΜΑ ΛΑΜΠΩΝ

ΕΠΙΒΙΩΣΗ ΚΑΤΑΚΤΗΣΗ ΜΕΤΑΛΛΩΝ

ΑΝΤΙΜΕΤΩ-ΠΙΣΗ Ε-ΜΠΟΔΙΩΝ

Να φτάσω στο σωστό κουτάκι

Να μα-ζέψω τα ντόνατ

Να πάρω τις μπα-νάνες

Να σκο-τώσω τους ε-χθρούς και μα-ζέψω όλα τα διαμά-ντια

Σχεδί-αση σπιτιών

Κατα-σκευή γαλαξία

Δημιουρ-γία σχη-μάτων

ΟΔΗΓΙΕΣ-ΒΟΗ-ΘΕΙΑ:

ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ υπάρχει υπάρχει υπάρχει υπάρχει ΝΑΙ ΝΑΙ ΝΑΙ

ΓΡΑΦΙΚΑ:

ΚΑΛΑ ΚΑΛΑ ΚΑΛΑ ΚΑΛΑ Ικανοποιη-τικά

Ωραία Καλά Χάλια ΚΑΛΑ ΚΑΛΑ ΚΑΛΑ

ΚΑΤΑΝΟΗΣΗ ΠΕ-ΡΙΕΧΟΜΕΝΟΥ:

ΝΑΙ ΝΑΙ ΚΑΛΗ ΚΑΛΗ Αρκετά Έτσι κι έ-τσι

Αρκετά Μέτρια ΝΑΙ ΝΑΙ ΝΑΙ

ΕΠΙΠΕΔΑ-ΠΙΣΤΕΣ: 30 491 200 50 Πολλές Λίγες (12) Αρκετές Αρκετές Εύκολα Εύκολα Εύκολα

ΒΑΘΜΟΣ ΔΥΣΚΟ-ΛΙΑΣ:

ΜΕΓΑΛΟΣ ΜΕΓΑΛΟΣ ΜΕΤΡΙΟΣ ΕΛΑΧΙΣΤΟΣ 2/10 2/10 2/10 4/10 ΟΧΙ ΟΧΙ ΟΧΙ

ΑΠΟΤΕΛΕΣΜΑΤΙ-ΚΟΤΗΤΑ:

6/10 8/10 5/10 4/10 9/10 9/10 9/10 7/10 ΝΑΙ ΝΑΙ ΝΑΙ

ΕΝΔΙΑΦΕΡΟΝ-ΒΑΡΕΤΟ:

ΒΑΡΕΤΟ ΕΝΔΙΑΦΕ-ΡΟΝ

ΚΑΛΟ ΚΑΛΟ Μέτριο Μέτριο Μέτριο Βαρετό ΒΑΡΕΤΟ ΒΑΡΕΤΟ ΒΑΡΕΤΟ

31

ΌΝΟΜΑ: LIGHTBOT CODE-COMBAT

STARWARS

FLAPPY Run Marco Academy with the foos

Code Monkey

Code combat

Mine-craft

Starwars Elsa

ΗΛΙΚΙΕΣ ΠΟΥ Α-ΠΕΥΘΥΝΕΤΑΙ:

12+ 12+ 10+ 10+ 6-12 6-12 6-12 12+ 2+ 2+ 2+

Πίνακας 10

32

6 Αντί συμπερασμάτων

Αγαπητό μου ημερολόγιο,

Στα πλαίσια του Ερευνητικού Προγράμματος «Παιχνίδια Προγραμματισμού» η ομάδα μας

ασχολήθηκε με τον προγραμματισμό, τις γλώσσες προγραμματισμού και με παιχνίδια που έ-

χουν σχέση με τον προγραμματισμό.

Αρχικά, ορίσαμε την σημασία του προγραμματισμού, βρήκαμε βιντεάκια στο You tube και τα

παρουσιάσαμε στην τάξη, είδαμε την σχέση των παιδιών με αυτόν. Έπειτα, μάθαμε τι είναι οι

γλώσσες προγραμματισμού και κάποιες ονομασίες τους και τις παρουσιάσαμε σε ένα αρχείο

word.

Μετά από κάποια μαθήματα βρήκαμε κάποιες ερωτήσεις πάνω σε αυτά που είχαμε διδαχτεί

και ενώνοντας όλες τις ερωτήσεις σχηματίσαμε ένα ερωτηματολόγιο, το οποίο απαντήσαμε

μετά.

Κατά τη διάρκεια των παιχνιδιών προγραμματισμού η κάθε ομάδα χωρίστηκε σε υποκατηγο-

ρίες και η καθεμία έπαιξε διαφορετικά παιχνίδια. Εμείς αρχικά παίξαμε το παιχνίδι Run Marco.

Αυτό αναφερόταν σε παιδιά ηλικίας 6-12 ετών και ο σκοπός του ήταν να φτάσουμε στο σωστό

κουτάκι χρησιμοποιώντας τις σωστές οδηγίες. Υπήρχαν οδηγίες που μας βοήθησαν και είχε

πολλές πίστες όμως δεν μας φάνηκε και πολύ ενδιαφέρον.

Ύστερα ασχοληθήκαμε με το παιχνίδι Academy with the Foos, το οποίο αναφερόταν πάλι σε

ηλικίες από 6 -12 χρονών και είχε στόχο να μαζέψουμε όλα τα ντόνατ. Τα γραφικά του ήταν

ικανοποιητικά αλλά είχε λίγα επίπεδα, συγκεκριμένα 12. Αν και στην αρχή φαινόταν ωραίο

μετά το βαρεθήκαμε.

Το επόμενο ονομαζόταν Code Monkey και όπως και τα δύο προηγούμενα πάλι ήταν για

παιδιά 6 – 12 ετών. Σε αυτό το παιχνίδι έπρεπε να μαζέψουμε όλες τις μπανάνες, πάλι, με τη

βοήθεια των οδηγιών. Είχε αρκετές πίστες, δεν ήταν πού δύσκολο αλλά ούτε πολύ ενδιαφέρον.

Το τελευταίο μας παιχνίδι ήταν το Code Combat. Αυτό βέβαια μπορούσαν να το παίξουν παιδιά

πάνω από 12 χρονών και, σε αντίθεση, με τα τρία προηγούμενα σε αυτό έπρεπε να κάνουμε

εγγραφή. Σκοπός του ήταν να σκοτώσουμε τους εχθρούς και να μαζέψουμε τα διαμάντια Και

είχε αρκετά επίπεδα και αυτό. Βέβαια, αν και κανένα από τα παιχνίδια δεν μας τρέλανε ιδιαί-

τερα αυτό δεν μας άρεσε καθόλου.

33

Αγαπητό μου ημερολόγιο,

Φέτος ασχοληθήκαμε με ένα πολύ ενδιαφέρον πρόγραμμα, με το οποίο μάθαμε να προγραμ-

ματίζουμε μέσα από τα παιχνίδια.

Αρχικά επιλέξαμε το θέμα μας και στη συνέχεια χωριστήκαμε σε ομάδες. Έπειτα δημιουργή-

σαμε ο καθένας το δικό του email και κάναμε εγγραφή στο e class.Ασχοληθήκαμε με διάφορες

γλώσσες προγραμματισμού, και μάθαμε τα βασικά τους χαρακτηριστικά.

Μετά η κάθε ομάδα δημιούργησε ένα ερωτηματολόγιο το οποίο περιείχε διάφορες ερωτήσεις

σχετικά με τον προγραμματισμό και απαντήθηκαν από τους μαθητές. Επίσης αναζητήσαμε ι-

στοσελίδες παιχνιδιών για να παίξουμε.

Όλα τα θέματα που ασχοληθήκαμε ήταν πολύ ενδιαφέροντα και μας τράβηξαν την προσοχή.

Μετά από αυτό το πρόγραμμα, άλλαξα γνώμη για τον προγραμματισμό και πλέον μου αρέσει

πολύ! Όλες οι ομάδες έκαναν καταπληκτική δουλεία πάνω στο μάθημα. Οφείλουμε να ευχαρι-

στήσουμε την δασκάλα μας κα Ρέντζου που πραγματικά έκανε σπουδαίο μάθημα και μας βοή-

θαγε πολύ.

Το μόνο δύσκολο είναι ότι πρέπει να αφιερώσεις πολύ χρόνο και κόπο για να εξοικειωθείς με

τις γλώσσες προγραμματισμού για να καταφέρεις να τις μάθεις. Υπάρχουν πολλοί όμως κίνδυ-

νοι όπως ο εθισμός σε κάποιο παιχνίδι.

Ελπίζουμε να γίνει ο προγραμματισμός ένα από τα βασικά μαθήματα που θα διδάσκονται στο

σχολείο επειδή είναι πολύ απαραίτητος στη ζωή μας.

34

7 Βίντεο σχετικά με τον προγραμματισμό

1. https://youtu.be/hol6NJ-TGGg

2. https://youtu.be/sBARzKRGLoM

3. https://youtu.be/hol6NJ-TGGg

4. https://youtu.be/3iYbwhGzs5wν

5. https://www.youtube.com/watch?v=gT4CemTAjAg

6. https://www.youtube.com/watch?v=pKBw98uHOyk

7. https://www.youtube.com/watch?v=THOEQ5soVpY