Κεφάλαιο+1

= 1. Η έννοια και η φιλοσοφία του προγραμματισμού - το περιβάλλον – παραδείγματα include component="comments" page="Κεφάλαιο 1" limit="10"  =

__**Ομάδα Διαδικτυακών πόρων**__ ===**Προτεινόμενοι σύνδεσμοι :**===

1.[] Projects/ICT-Scratch/Scratch/index.html|.[] Mία ενδιαφέρουσα εισαγωγή στο Scratch. Περιέχει επίσης μία παράγραφο για το τί ειναι Προγραμματισμός και υπάρχει ακόμη και σχετικό βίντεο.

2..[] {Ένα βίντεο αρχικής παρουσίασης του scratch. Θα μπορούσε να παρουσιαστεί στους μαθητές σαν μια αρχική γνωριμία με το scratch. Οι μαθητές βλέπουν μέσα από αυτό το βίντεο, ότι οποιοσδήποτε (ακόμα και οι ίδιοι) μπορούν να δημιουργήσουν κάποια από τα γνωστά τους παιχνίδια, μέσω του Scratch, καθώς και άλλες ενδιαφέρουσες εφαρμογές.

3.[] Αυτός ο σύνδεσμος ουσιαστικά παρουσιάζει το ίδιο υλικό από το Πανεπιστήμιο του Harvard και πραγματεύεται αρχικά την έννοια του προγραμματισμού, εισάγοντας τους χρήστες στις κύριες έννοιες. Έπειτα, γίνεται συσχέτιση των όσων αναφέρθηκαν με το νέο προγραμματιστικό περιβάλλον του Scratch παρουσιάζοντας τις βασικές δυνατότητες και τα πλεονεκτήματα αυτού του νέου εργαλείου.

4..[|http://web.media.mit.edu/~mres/scratch/scratch-cacm.pdf] Πρόκειται για ένα Pdf το οποίο ανφέρει περιληπτικά όλες τις δυνατότητες που προσφέρει το Scratch και τονίζει τη σημαντικότητα αυτού του νέου εγχειρήματος για την εφαρμογή του στον προγραμματισμό για παιδιά.

5.[] Ένα βίντεο μιας ενδιαφέρουσας διάλεξης του καθηγητή David J. Malan του πανεπιστημίου Harvard, σχετικά με την εισαγωγή στο προγραμματισμό (βασικές αρχές προγραμματισμού) και μια εισαγωγή στο Scratch.

6.[] Ένα ενδιαφέρων άρθο που μιλάει για το πως δημιουργήθηκε το scratch,ποια ήταν τα κίνητρα των σχεδιαστών του,ποίο το έναυσμα,από που προήλθε το όνομα κ.α.Έχει επίσης μια πολύ επιφανειακή επεξήγηση του.

7.[] Eπεξηγεί γιατί το scratch είναι ένα καλό εργαλείο για την εισαγωγή των παιδιών στον κόσμο του προγραμματισμού.

8.[] Σε αυτό το σύνδεσμο παρουσιάζονται κάποιες βασικές προγραμματιστικές αρχές μέσα από παραδείγματα στο Scratch. Δίνονται αναλυτικά ορισμένες από τις βασικές ενότητες για το συγκεκριμένο προγραμματιστικό περιβάλλον, όπως για την κίνηση, τη ζωγραφική, την αλληλεπίδρση μεταξύ sprites, τις εντολές ελέγχου, το broadcasting Μεταξύ μηνυμάτων κ.α.

9.[|http://www.cs.uni-potsdam.de/~romeike/UEWettbewerb/index-english.htm#_Toc181790515] Ένα tutorial του Scratch, που αναφέρεται κυρίως στους καθηγητές. Αρχικά κάνει μια εισαγωγή στο Scratch, αναφέρει τους διδακτικούς στόχους που μπορούν να επιτευχθούν μέσα από αυτό, καθώς και τις ηλικίες των παιδιών στα οποία αναφέρονται τα σχέδια μαθήματος που περιέχονται σε αυτό το site. Γίνεται αναφορά σε μερικές από τισ βασικές προγραμματιστικές αρχές.

10.[|http://users.soe.ucsc.edu/~karplus/scratch_programs/] Εδώ μπορείτε να βρείτε μερικά προγράμματα για το Scratch αλλά και τον τρόπο επίλυσης τους.Τρείς καθηγητές του Abe's school δημιούργησαν μια ευρεία γκάμα εφαρμογών και παιχνιδιών στο Scratch.To πολυφωνικό πιάνο, το παιχνίδι του τέννις είναι δύο από αυτά. Επίσης περιέχει και μερικές εφαρμογές σχετικά με θέματα της Πληροφορικής π.χ. binary counter.

11.[] Ο συγκεκριμένος σύνδεσμος τονίζει τη σημαντικότητα του Scratch ως ενός εργαλείου-περιβάλλοντος που παρέχει ένα πολύ γλαφυρό τρόπο αναπαράστασης των προγραμματιστικών εννοιών στα μικρά παιδιά. Επιπλέον, παραθέτει μια σειρά από συνδέσμους που παραπέμπουν σε αντίστοιχα projects.

12.http://www.teachertube.com/viewVideo.php?video_id=25390 Ένα μικρό βίντεο για το πως ξεκίνησε το scratch και για τις δυνατότητες του.

__//1. Η έννοια και η φιλοσοφία του προγραμματισμού - το περιβάλλον – παραδείγματα//__ // Μαθησιακοί στόχοι // Χαρακτηριστικά Όσο το δυνατόν απλούστερη περιγραφή στους μαθητές του με τι ακριβώς ασχολείται ο τομέας του προγραμματισμού, πού και πώς τον συναντάμε στην καθημερινότητα μας, ποια είναι η αξία του τόσο σε σχέση με τα προϊόντα, όσο και τις αντίστοιχες γνωστικές δεξιότητες. Παραδείγματα προγραμματιστικών περιβαλλόντων καθημερινής χρήσης όπως videogames, animation, συστήματα ελέγχου/υψηλών επιδόσεων κτλ. Πως μπορούμε να ανιχνεύσουμε τα βασικά στοιχεία του προγραμματισμού σε αυτά; Στόχος του βιβλίου Τι είναι το Scratch, πώς δημιουργήθηκε, γιατί το επιλέξαμε, γιατί η εκμάθησή του θα είναι χρήσιμη και ευχάριστη κτλ. Παραδείγματα εφαρμογών που θα μπορούν να αναπτύξουν οι μαθητές στο scratch. // Παραδείγματα // Επίδειξη χρήσης προγραμματιστικών περιβαλλόντων σε καθημερινές εφαρμογές όπως videogames, animation, συστήματα ελέγχου/υψηλών επιδόσεων. Επίδειξη κάποιων παραδειγμάτων του scratch από το αρχείο > παραδείγματα, χωρίς να μπούμε σε τεχνικές λεπτομέρειες ώστε να κινήσουμε το ενδιαφέρον των μαθητών.
 * 1) //Να περιγράφουν τι είναι προγραμματισμός και πως σχετίζεται με την καθημερινότητα στο φυσικό και στο ηλεκτρονικό περιβάλλον.//
 * 2) //Να κατανοούν την αξία του προγραμματισμού τόσο σε σχέση με τα προϊόντα του όσο και τις αντίστοιχες γνωστικές δεξιότητες//
 * 3) Να αναγνωρίζουν τα βασικά στοιχεία της φιλοσοφίας του scratch.
 * 4) //Να κατανοούν τις εφαρμογές που θα μπορούν να αναπτύξουν με το Scratch//


 * Κεφάλαιο 1: Εισαγωγή (Διάρθρωση κεφαλαίου) **

Σκοπός του κεφαλαίου είναι να ορίσουμε τι είναι ο προγραμματισμός. Δε θα πρέπει να δώσουμε έναν ξερό ορισμό, το οποίο είναι κάτι αφηρημένο και δυσνόητο για τους μαθητές. Προγραμματισμός είναι η τέχνη να γράφεις οδηγίες ώστε ένας υπολογιστής να μπορεί να κάνει μια συγκεκριμένη εργασία. Ένας υπολογιστής εκτελεί εργασίες ακολουθώντας μια σειρά οδηγιών. Ένα σύνολο τέτοιων οδηγιών καλείται πρόγραμμα. Αυτές οι εντολές πρέπει να γράφονται χρησιμοποιώντας μια γλώσσα προγραμματισμού. Δεξιότητες που απαιτούνται από τους μαθητές για την κατανόηση και αποτελεσματική εφαρμογή του προγραμματισμού Επαφή των μαθητών με έναν τρόπο σκέψης ανάλυσης προβλημάτων μέσω του προγραμματισμού. Πού χρησιμοποιείται ο προγραμματισμός; Και πώς σχετίζεται με την καθημερινότητα στο φυσικό και στο ηλεκτρονικό περιβάλλον. Γιατί χρειαζόμαστε τον προγραμματισμό; Παραδείγματα προγραμματιστικών περιβαλλόντων καθημερινής χρήσης όπως videogames, animation, συστήματα ελέγχου/υψηλών επιδόσεων κτλ. Πως μπορούμε να ανιχνεύσουμε τα βασικά στοιχεία του προγραμματισμού σε αυτά; **Τι είναι το scratch και τι μπορώ να φτιάξω με αυτό;** Το Scratch είναι μια νέα γλώσσα προγραμματισμού η οποία διδάσκει όλα τα βασικά του προγραμματισμού του υπολογιστή, χρησιμοποιώντας μια απευθείας γραφική διεπαφή και σου επιτρέπει να δημιουργήσεις τις δικές σου διαδραστικές ιστορίες, κινούμενα σχέδια, παιχνίδια, μουσική και τέχνη.
 * 1.1 Τι είναι ο προγραμματισμός; **
 * Ορισμός:**
 * 1.2 Τι χρειάζεται για να γράψουμε ένα πρόγραμμα **
 * 1.3 Πλεονεκτήματα προγραμματισμού **
 * 1.4 Η διάχυση του προγραμματισμού στην καθημερινή ζωή **
 * 1.5 Το Scratch **

=
===========================================================================

= = =**//Κεφάλαιο 1//**= =**//Η έννοια και η φιλοσοφία του προγραμματισμού - το περιβάλλον - παραδείγματα//**= ..................................... Σε αυτό το κεφάλαιο: 1.1 Τι είναι ο προγραμματισμός 1.2 Τι χρειάζεται για να γράψουμε ένα πρόγραμμα; 1.3. Πλεονεκτήματα προγραμματισμού 1.4 Η διάχυση του προγραμματισμού στην καθημερινή ζωή 1.5 Το Scratch .....................................

First, solve the problem. Then, write the code." "Πρώτα λύσε το πρόβλημα. Μετά γράψε τον κώδικα." (John Johnson)

Πολύ πιθανόν να είστε εξοικειωμένοι με τη νέα τεχνολογία. Και μπορείτε να γράφετε και να στέλνετε μηνύματα από τον υπολογιστή, να παίζετε online παιχνίδια και να αναζητάτε στο διαδίκτυο υλικό για τα ενδιαφέροντά σας. Όμως οι δυνατότητες που σου παρέχει η νέα τεχνολογία περιορίζονται στις συγκεκριμένες ενέργειες; Έχετε σκεφτεί ποτέ να δημιουργήσετε τα δικά σας προγράμματα, τα δικά σας παιχνίδια; Θα θέλατε από παθητικοί χρήστες των νέων τεχνολογιών να μετατραπείτε σε δημιουργοί νέου λογισμικού, παιχνιδιών και παρουσιάσεων; Έχετε αναρωτηθεί αν γίνεται κάτι τέτοιο και πόσο δύσκολο είναι; Αυτό το βιβλίο θα σας βοηθήσει να φτιάξετε τα δικά σας προγράμματα που εκφράζοντας τη φαντασία και τη δημιουργικότητά σας και θα σας πείσει (ελπίζουμε…) ότι η δημιουργία προγραμμάτων είναι μια εύκολη, δημιουργική και χρήσιμη διαδικασία (εικόνα 1.1.1).
 * 1.1 Τι είναι ο προγραμματισμός; **


 * Εικόνα 1.1.1**

Block σκέψη: Το να χρησιμοποιούμε τεχνολογία αλλά να μην μπορούμε να δημιουργήσουμε μήπως μοιάζει με το να είμαστε σε θέση να διαβάζουμε αλλά να μη μπορούμε να γράψουμε;

Η τέχνη του να μπορούμε να γράφουμε τα δικά μας προγράμματα ονομάζεται **προγραμματισμός**. Αλλά ας δούμε πρώτα τα **βασικά χαρακτηριστικά** ενός **προγράμματος**. Το βασικό συστατικό του είναι οι **εντολές**. Μπορούμε να φανταστούμε τις εντολές σαν οδηγίες του προγραμματιστή προς τη μηχανή για να κάνει κάτι (π.χ. να δημιουργήσει μια γραμμή, να δείξει μια εικόνα στην οθόνη, ….). Μία ακολουθία εντολών συνιστά το **πρόγραμμα**. Τα προγράμματα που καθημερινά χρησιμοποιείτε π.χ. το παιχνίδι Χ αποτελούνται από μια σειρά εντολών. Τι μορφή έχουν οι εντολές αυτές; Μπορείς να δώσεις οδηγίες στον υπολογιστή σε διαφορετικές μορφές, υπάρχουν πολλές δηλαδή γλώσσες προγραμματισμού. Μία **τυπική γλώσσα προγραμματισμού** προσδιορίζει συγκεκριμένους κανόνες, οι οποίοι καθορίζουν τον τρόπο με τον οποίο ο υπολογιστής θα καταλάβει τις οδηγίες μας. Σε αντίθεση με την ανθρώπινη επικοινωνία, ο υπολογιστής δεν μπορεί να καταλάβει εντολές που περιέχουν ασυνταξίες ή ασάφειες ή δεν ακολουθούν τους κανόνες τις εκάστοτε γλώσσας προγραμματισμού. Αφού γράψουμε το πρόγραμμά μας μετά απαιτείται ένα στάδιο το οποίο ονομάζεται **μεταγλώττιση** δηλαδή το πρόγραμμά μας, οι εντολές μας μετατρέπονται σε μια μορφή που είναι κατανοητή από τον υπολογιστή, τη γνωστή μορφή 00101010... (γλώσσα μηχανής). Μετά από αυτό το βήμα, μπορούμε να τρέξουμε το πρόγραμμά μας (ή αλλιώς να «εκτελέσουμε» το πρόγραμμά μας) έτσι ώστε να ελέγξουμε αν όντως κάνει αυτό που θέλαμε.. Σχηματικά η παραπάνω διαδικασία απεικονίζεται στο σχήμα της **εικόνας 1.1.2** :


 * Εικόνα 1.1.2**


 * Block λέξεις κλειδιά**: πρόγραμμα, εντολές, γλώσσα προγραμματισμού, μεταγλώττιση, εκτέλεση προγράμματος

Για να είμαστε όμως σε θέση να γράψουμε το δικό μας πρόγραμμα, θα πρέπει για αρχή να επιλέξουμε τη **γλώσσα προγραμματισμού** που μας ταιριάζει. Γενικά υπάρχουν πολλές διαθέσιμες γλώσσες προγραμματισμού και καθεμία από αυτές ταιριάζει περισσότερο ή λιγότερο στην εφαρμογή που θέλουμε να αναπτύξουμε. Πρέπει όμως να γνωρίζουμε ότι μία γλώσσα προγραμματισμού έχει πεπερασμένο λεξιλόγιο και συγκεκριμένους συντακτικούς κανόνες. Γενικά όμως, όσο και αν διαφέρουν οι διάφορες γλώσσες προγραμματισμού, στη βάση τους υπάρχουν πολλά στοιχεία που είναι κοινά, αφού οι εργασίες που μπορεί να κάνει ο υπολογιστής μας είναι συγκεκριμένες. Αυτό -ευτυχώς- συνεπάγεται ότι αν μάθουμε μία γλώσσα προγραμματισμού είναι σχετικά εύκολο να επεκταθούμε και στην εκμάθηση κάποιας άλλης γλώσσας.

Ήρθε όμως η ώρα να δούμε με περισσότερη λεπτομέρεια τι χρειάζεται για να γράψουμε ένα πρόγραμμα εφόσον έχουμε επιλέξει τη γλώσσα που μας ταιριάζει.
 * 1.2 **** Τι χρειάζεται για να γράψουμε ένα πρόγραμμα; **

Ένα σημαντικό θέμα που πρέπει να μας απασχολεί είναι η ανάγκη να δώσουμε στον υπολογιστή σαφείς οδηγίες, προκειμένου να επιλύσει αυτός το πρόβλημα. Ας σκεφτούμε και ένα παράδειγμα: Θέλουμε να περιγράψουμε στο μικρό μας αδερφάκι πως θα λύσει το γνώστο σε όλους μας παιχνίδι του λαβυρίνθου, που φαίνεται στην εικόνα 1.2.1. Αν δε γνωρίζει τους κανόνες του παιχνιδιού ποιες είναι οι κατάλληλες οδηγίες που πρέπει να του δώσουμε; Πρώτα πρέπει να αναλύσουμε το παιχνίδι: Σκοπός του παιχνιδιού είναι να φτάσουμε στην έξοδο του λαβυρίνθου μετακινώντας τον ήρωα. Ο ήρωας δε μπορεί να περάσει μέσα από τους τοίχους Αφού έχουμε κατανοήσει τους κανόνες του παιχνιδιού και έχουμε βρει την επιθυμητή διαδρομή μπορούμε να του δώσουμε τις εξής οδηγίες: Κίνησε τον ήρωα επτά βήματα προς τα πάνω Κίνησε τον ήρωα τρία βήματα προς τα αριστερά Κίνησε τον ήρωα ένα βήμα προς τα κάτω Κίνησε τον ήρωα ένα βήμα προς τα αριστερά Κίνησε τον ήρωα δύο βήματα προς τα πάνω Με τον ίδιο σαφή τρόπο θα πρέπει να δώσουμε τις εντολές στον υπολογιστή για να του δώσουμε να καταλάβει τι θέλει να κάνουμε.




 * Εικόνα 1.2.2**

Αλλά το παραπάνω παράδειγμα ήτανε πολύ απλό και στην ουσία δε θα μπορούσε να επιλύσει οποιοδήποτε λαβύρινθο δίναμε σαν είσοδο! Εδώ λοιπόν φαίνεται η ανάγκη να επιλύσουμε το πρόβλημα με τέτοιο τρόπο ώστε να αποκρίνεται σε κάθε σενάριο. Μπορούμε να παρομοιάσουμε το πρόγραμμα με ένα σύνθετο πρόβλημα που απαιτεί μία λύση, η οποία μπορεί να αναλυθεί σε τρία στάδια. Παράλληλα με αυτά τα στάδια θα δούμε και ένα λίγο διαφορετικό παράδειγμα από το προηγούμενο, το γνωστό μας πάκμαν και με ποιο τρόπο αυτό αποδομείται. Αλλά ας πούμε πρώτα λίγα λόγια για το παιχνίδι. Ο κεντρικός ήρωας είναι ο πάκμαν, ο οποίος κινείται μέσα σε ένα λαβύρινθο. Κατά μήκος του λαβύρινθου υπάρχουν μικρά φρούτα τα οποία τρώει ο πάκμαν και ανεβάζει το σκορ του. Όμως υπάρχουν και μικρά φαντασματάκια που κυνηγούν τον πάκμαν και όταν πέφτει πάνω σε αυτά, χάνει τη ζωή του.

Σε **πρώτο** στάδιο πρέπει να κοιτάξουμε το πρόβλημα σφαιρικά και να εντοπίσουμε τα κύρια σημεία που το συνιστούν. Δηλαδή, πρέπει να κάνουμε μία **αποδόμηση του προβλήματος** σε μικρότερα υπο-προβλήματα, τα οποία είναι πιο εύκολο να λυθούν. Έτσι λοιπόν στον πάκμαν τα επιμέρους προβλήματα είναι τα εξής: πρέπει να αποφασίσουμε και να σχεδιάσουμε το λαβύρινθο, δηλαδή το σκηνικό μας. Καθώς επίσης και τους χαρακτήρες μας που δεν είναι άλλοι από τον πάκμαν, τα φαντασματάκια που τον κυνηγούν και τα φρουτάκια που τρώει ο πάκμαν.

Μετά την αποδόμηση του προβλήματος ακολουθεί η **συγγραφή του κώδικα για τα** διάφορα **υπο-προβλήματα**. Πίσω στο παράδειγμα μας θα πρέπει σε αυτό το στάδιο να γράψουμε τις εντολές που προκαθορίζουν τη συμπεριφορά των ηρώων του παιχνιδιού μας. Ποιο αναλυτικά, οι επιθυμητές ενέργειες για τον πάκμαν όπως και για τα φαντασματάκια είναι η δυνατότητα κίνησης πάνω, κάτω, δεξιά και αριστερά κατά μήκος του λαβύρινθου όπου όμως δεν έχουν τη δυνατότητα να διαπερνούν τα τοιχώματα του λαβύρινθου. Να σημειώσουμε ότι ο πάκμαν δέχεται εντολή για κίνηση από εμάς ενώ τα φαντασματάκια δέχονται εντολή για κίνηση από το πρόγραμμα, κάτι το οποίο πρέπει να συμπεριλάβουμε στη συγγραφή του κώδικα. Έτσι λοιπόν καλούμαστε να επιλέξουμε τις εντολές που μας ταιριάζουν περισσότερο από το σύνολο των διαθέσιμων εντολών και να τις συνθέσουμε με τέτοιο τρόπο ώστε να παράγουμε τα επιθυμητά αποτελέσματα. Φυσικά η επιλογή των εντολών και η σύνθεση τους δεν είναι μοναδική και ένα πρόβλημα μπορεί να λυθεί με πολλούς διαφορετικούς τρόπους. Στο παράδειγμα μας δεν έχει καμία σημασία αν θα ορίσουμε την εντολή «κίνηση προς τα πάνω» πριν από την «κίνηση προς τα κάτω», αρκεί τα αντικείμενα μας να μην αποκλίνουν από την επιθυμητή συμπεριφορά.

Το τρίτο στάδιο της συγγραφής του προγράμματος είναι η **σύνθεση** των επιμέρους τμημάτων έτσι ώστε να πάρουμε το συνολικό πρόγραμμα. Εδώ τη σύνθεση του προβλήματος αποτελούν οι αλληλεπιδράσεις μεταξύ των αντικειμένων. Δηλαδή, όταν ο πάκμαν συναντήσει στο δρόμο του κάποιο φρουτάκι, το τρώει και αυτό «εξαφανίζεται» από μπροστά μας και ο πάκμαν αυξάνει το σκορ του. Επίσης, αν ένα φαντασματάκι ακουμπήσει τον πάκμαν, τότε αυτός χάνει τη ζωή του.

Οι παραπάνω ενέργειες στη συγγραφή του κώδικα συνοψίζονται στην εικόνα 1.2.2.
 * Εικόνα 1.2.2**


 * Κλείνοντας αξίζει να πούμε ότι σημαντικό ρόλο στην συγγραφή ενός προγράμματος κατέχει και ο έλεγχος για σφάλματα.** Είναι πολύ σημαντικό να εξετάζουμε το πρόγραμμα μας για τυχόν λογικά λάθη τα οποία οφείλονται σε κακή διατύπωση του προβλήματος ή σε εσφαλμένη λογική επίλυσης. Στο παράδειγμά μας με τον πάκμαν ένα λάθος το οποίο θα μπορούσε να γίνει είναι να ξεχάσουμε το γεγονός ότι οι ήρωές μας δε μπορούν να διαπερνούν τα τοιχώματα. Σε αυτή την περίπτωση θα βλέπαμε τον πάκμαν να κινείται σε όλη την επιφάνεια της σκηνής μας. Προφανώς με κάποιον έλεγχο, όταν οι ήρωες αγγίζουν τα τοιχώματα του λαβύρινθου να παραμένουν στη θέση τους, το πρόβλημα θα λυνόταν.

1.3 Πλεονεκτήματα προγραμματισμού
 * Τι κερδίζουμε όμως μαθαίνοντας προγραμματισμό; Μπορούμε να σκεφτούμε τον προγραμματισμό σαν ένα καμβά πάνω στον οποίο μας δίνεται η δυνατότητα να φτιάχνουμε τα δικά μας παιχνίδια, να ζωγραφίζουμε και να δημιουργούμε εφαρμογές ανάλογα με τις προσωπικές μας προτιμήσεις και ανάγκες. Για παράδειγμα, μπορούμε να φτιάξουμε ένα ηλεκτρονικό ημερολογίο για να μας βοηθά στην οργάνωση της καθημερινότητας ή ένα πρόγραμμα που εκτελεί μουσικές σύνθεσεις και μας χαλαρώνει από τις υποχρεώσεις μας. Διαφαίνεται λοιπόν, ότι ο προγραμματισμός μπορεί να συνεισφέρει πρακτικά στην καθημερινή μας διασκέδαση και ψυχαγωγία (εικόνα 1.3.1).

**Εικόνα 1.3.1

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


 * Block Ιδέα: Θυμηθείτε τη συζήτηση που είχαμε στην ενότητα 1.2!

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

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

Τέλος, ας ξεφύγουμε λίγο από τον τομέα διάβασμα. Οι παραπάνω δεξιότητες που πιθανό να αποκομίσετε, μπορούν να αξιοποιηθούν στην καθημερινότητα σας για να λύσετε πιο αποτελεσματικά θέματα που σας απασχολούν. Για παράδειγμα, σκεφτείτε ότι θέλετε να προγραμματίσετε τις καθημερινές σας δραστηριότητες έτσι ώστε να εξοικονομείτε χρόνο. Η αποδόμηση προβλημάτων που σας κληροδότησε η επαφή σας με τον προγραμματισμό, μπορεί να σας βοηθήσει, υποδεικνύοντας σας να χωρίσετε το πρόβλημα του εβδομαδιαίου προγράμματος σε μικρότερα (για παράδειγμα το καθημερινό πρόγραμμα), και αφού λύσετε τα επιμέρους προβλήματα να τα συνθέσετε παράγοντας την ολική λύση. Στην εικόνα 1.3.2 αναπαριστάται η αλλαγή στον τρόπο σκέψης, λόγω της ενασχόλησης με τον προγραμματισμό. ** Εικόνα 1.3.2

1.4 Διάχυση προγραμματισμού στην καθημερινότητα Έχετε αναρωτηθεί ποτέ όταν κάνετε ένα κλικ σε ένα ηλεκτρονικό παιχνίδι, πώς προωθείται η δράση (αλλαγή σκηνικού, συμπεριφορά ήρωα, σκορ κλπ) σύμφωνα με τους κανόνες του παιχνιδιού; Η απάντηση σε αυτήν την ερώτηση μας οδηγεί αναπόφευκτα στο συμπέρασμα ότι ο υπολογιστής εμπεριέχει μια μορφή ευφυΐας που του επιτρέπει να ανταποκρίνεται στις απαιτήσεις κάθε κατάστασης του παιχνιδιού. Αυτό που γίνεται συγκεκριμένα είναι ότι ο προγραμματιστής του παιχνιδιού έχει προκαθορίσει ποια ενέργεια θα εκτελέσει ο υπολογιστής σε κάθε επιλογή του χρήστη. Για παράδειγμα στο παιχνίδι πάκμαν, που φαίνεται στην εικόνα 1.4.1, αν χρήστης πατήσει το βελάκι προς τα αριστερά ο ήρωας να πηγαίνει αριστερά και αντίστοιχα αν ** ο εχθρικός ήρωας ** ακουμπήσει τον ήρωα του παιχνιδιού να μειώνεται κατά ένα το πλήθος των ζωών.
 * Στην προηγούμενη ενότητα είδαμε τα πλεονεκτήματα του προγραμματισμού. Αν δεν πεισθήκατε ακόμα για την αξία του, σκεφτείτε τα παρακάτω.

** Εικόνα 1.4.1

Block ιδέα: Σκεφτείτε τι μπορείτε να κάνετε με έναν υπολογιστή. Ευφυΐα υπάρχει μόνο στα παιχνίδια; Μήπως τελικά εμφανίζεται σε κάθε ενέργεια που μπορούμε να κάνουμε με τον υπολογιστή;

Εικόνα 1.4.2
 * Ένα άλλο παράδειγμα επαφής με τον προγραμματισμό είναι η αναζήτηση στο διαδίκτυο. Έστω λοιπόν ότι μπαίνουμε σε μία μηχανή αναζήτησης και πληκτρολογούμε μία λέξη κλειδί σχετικά με αυτό που θέλουμε να ψάξουμε (εικόνα 1.4.2). Αυτό που συμβαίνει πίσω από αυτή την απλή μας αναζήτηση είναι ότι στέλνεται αρχικά μία εντολή προς τη μηχανή αναζήτησης για να ψάξει κείμενα σχετικά με τη λέξη-κλειδί. Η μηχανή αναζήτησης αναλαμβάνει πλέον να ελέγξει αν η λέξη-κλειδί είναι καταχωρημένη στα κείμενα που έχει αποθηκευμένα στη βάση δεδομένων της. Επίσης, χρησιμοποιεί και ένα είδος βαθμολόγησης του κατά πόσο το κείμενο είναι σχετικό με αυτό που θέλαμε να αναζητήσουμε. Τελικά, μας επιστρέφει τα κείμενα που βρήκε και μάλιστα με μία διαβάθμιση από πιο σχετικά προς τα λιγότερο που η μηχανή αναζήτησης έχει αποφασίσει για εμάς. Αυτό βέβαια το είδος σύγκρισης δε γίνεται μαγικά από τη μηχανή, αλλά κάποιος αποφάσισε και προκαθόρισε αυτό το είδος αναζήτησης και της έδωσε αυτή την ευφυΐα. **


 * Ο προγραμματισμός, επομένως εμπεριέχεται σε καθημερινές δραστηριότητες μας και είναι απαραίτητος ώστε να προκαθοριστεί η συμπεριφορά του υπολογιστή με σκοπό να αξιοποιηθεί η ομολογουμένως υψηλή ταχύτητά του προς όφελος μας. **

1.5 Το Scratch Το Scratch είναι μία νέα γλώσσα προγραμματισμού με την οποία θα μπορούμε να φτιάχνουμε τις δικές μας διαδραστικές ιστορίες και τα δικά μας παιχνίδια εύκολα και γρήγορα, ενώ παράλληλα θα διδαχθούμε μέσα από αυτά τις βασικές αρχές του προγραμματισμού. Με αυτό το πρόγραμμα θα μπορούμε να φτιάχνουμε το δικό μας τέτρις και πάκμαν, ή το δικό μας κήπο, όπως βλέπουμε στις ε ικόνες 1.5.1, 1.5.2, 1.5.3. Όπως κάθε κανονικό παιχνίδι, έτσι και εδώ, τα παιχνίδια μας θα συνδυάζουν γραφικό περιβάλλον, κίνηση και ήχο, καθώς και αντικείμενα που αλληλεπιδρούν μεταξύ τους, μέσα από εντολές που έχουμε προκαθορίσει εμείς. Επίσης θα μπορούμε να φτιάξουμε τα δικά μας κινούμενα σχέδια με τους διαλόγους της επιλογής μας, καθώς και να μοντελοποιούμε προβλήματα φυσικής όπως για παράδειγμα η κίνηση των πλανητών γύρω από τον ήλιο, όπως βλέπουμε στην **εικόνα 1.5.4**.** Εικόνα 1.5.1 τέτρις
 * Εφόσον πειστήκατε για την χρησιμότητα του προγραμματισμού στην καθημερινότητα σας, έφτασε η στιγμή να γνωρίσετε ένα τρόπο για να γράφετε τα δικά σας προγράμματα. Ο τρόπος αυτός είναι το Scratch. Τί πραγματικά όμως είναι το Scratch ;

Εικόνα 1.5.2 πακμαν


 * Εικόνα 1.5.3 κήπος

** Εικόνα 1.5.4 ηλιακό σύστημα
 * Δηλαδή μέσα από το Scratch μπορούμε να ασχοληθούμε με μια πληθώρα διαφορετικών ιστοριών που ο καθένας μας βρίσκει συναρπαστικές, όπου μπορούμε να προσθέσουμε το δικό μας ύφος χρησιμοποιώντας εικόνες, μουσική ή ηχογραφώντας τη φωνή μας.

Ας δούμε όμως πρώτα μερικά ιστορικά στοιχεία για το Scratch. Αναπτύχθηκε από το Lifelong Kindergarten group στο MIT Media Lab με επικεφαλή τον Mitchel Resnick και πρωτοεμφανίστηκε το καλοκαίρι του 2007. Το λογισμικό διανέμεται δωρεάν για τις πλατφόρμες Windows, Mac OS X ή Linux και η εγκατάστασή του είναι πολύ απλή. Σήμερα χρησιμοποιείται ευρέως για τη διδασκαλία του προγραμματισμού, ενώ η διάδοση του είναι ταχύτατη. Ενδεικτικά μπορούμε να αναφέρουμε ότι μόνο στις Ηνωμένες Πολιτείες υπάρχουν 513050 εγγεγραμμένα μέλη και 130123 δημιουργοί προγραμμάτων, όπως αναφέρεται στην ιστοσελίδα του Scratch (http://scratch.mit.edu/).

Πήρε το όνομά του από την τεχνική των DJ’s (scratching) και αναφέρεται εξίσου στη γλώσσα και στην υλοποίηση της. Το βασικό χαρακτηριστικό της τεχνικής των DJ’s είναι η εύκολη επαναχρησιμοποίηση των κομματιών. Αντίστοιχα στο Scratch όλα τα αντικείμενα, γραφικά, ήχοι, και κείμενα μπορούν εύκολα να εισαχθούν σε ένα νέο πρόγραμμα και να συνδυαστούν με ποικίλους τρόπους για την παραγωγή ενός προγράμματος, κάτι το οποίο δίνει κίνητρο για περαιτέρω ενασχόληση με αυτό.



Ας δούμε όμως τώρα τα βασικά χαρακτηριστικά του προγραμματισμού με το Scratch: Οι εντολές, που είναι τα δομικά συστατικά για τη λειτουργία ενός προγράμματος, αναπαριστώνται ως τουβλάκια και βρίσκονται στην παλέτα των εντολών. Τα τουβλάκια, που από εδώ και στο εξής θα αποκαλούμε εντολές, συνθέτονται σε στοίβες, οι οποίες αποτελούν σενάρια ενεργειών. (Εικόνα 1.5.6) Όλες οι στοίβες από τουβλάκια δημιουργούν το πρόγραμμα. Οι εντολές είναι σχεδιασμένες κατά τέτοιο τρόπο ώστε να ταιριάζουν μεταξύ τους μόνο όταν ο συνδυασμός τους έχει κάποιο συντακτικά ορθό νόημα. Επιπλέον το πρόγραμμα παραμένει ζωντανό καθ’ όλη τη διάρκεια της εκτέλεσης και έτσι μπορούμε να επιφέρουμε αλλαγές σε αυτό και να βλέπουμε άμεσα τα αποτελέσματά! Όσον αφορά τη συγγραφή του κώδικα, όπως συζητήσαμε και στην ενότητα 1.2, απαιτείται η σύλληψη της ιδέας, ο διαχωρισμός του προβλήματος σε βήματα και η υλοποίησή του χρησιμοποιώντας τα προγραμματιστικά εργαλεία του Scratch. ** Στην εικόνα 1.5.6 έχουμε ένα παράδειγμα ενός απλού μπλοκ κώδικα, του οποίου το αποτέλεσμά δεν μας ενδιαφέρει τόσο όσο η "συρραφή" των εντολών.

Εικόνα 1.5.6

Αρχικά μπορούμε να πούμε ότι οι εντολές που μπορούμε να χρησιμοποιήσουμε είναι εκ των προτέρων γνωστές και εντοπίζονται εύκολα ανοίγοντας καθεμιά από τις διαθέσιμες παλέτες εντολών. Και τα ονόματα των εντολών είναι τέτοια ώστε να μπορούμε εύκολα να καταλάβουμε τι κάνει μία εντολή. Επίσης, δε χρειάζεται να ανησυχούμε για τους κανόνες σύνταξης των εντολών. Δε μπορούμε να κάνουμε συντακτικά λάθη, διότι η μορφή των εντολών είναι ήδη προκαθορισμένη. Ό, τι και να γράψουμε, παράγει κάποιο αποτέλεσμα το οποίο είναι άμεσα ορατό. Για να γίνει λίγο καλύτερα κατανοητό αυτό ας αποσυνθέσουμε τον κώδικα της εικόνας 1.5.6 στις εντολές που τον απαρτίζουν. ** Οι εντολές μοιάζουν με τουβλάκια Lego και προσπαθούμε να τις συνδέσουμε με τέτοιο τρόπο ώστε το πρόγραμμα μας να δίνει τα σωστά αποτελέσματα. Εικόνα 1.5.7
 * Ποια είναι όμως τα πλεονεκτήματα** της χρήσης του Scratch** ;


 * Τέλος, το Scratch έχει έτοιμο γραφικό περιβάλλον, όπως φαίνεται και από τα παραδείγματα που σας παρουσιάσαμε προηγουμένως, και οποιαδήποτε εντολή και αν επιλέξουμε να εκτελέσουμε, δίνει άμεσα ορατά αποτελέσματα στους ήρωες των παιχνιδιών μας, κάτι το οποίο κάνει πιο εύκολο τον έλεγχό μας για λάθη. **

Είδαμε συγκεκριμένα το περιβάλλον προγραμματισμού Scratch, με το οποίο θα ασχοληθούμε και στο υπόλοιπο του βιβλίου. Με αυτό μπορούμε σχετικά εύκολα και γρήγορα να αναπτύξουμε μια πληθώρα διαδραστικών εφαρμογών χρησιμοποιώντας μια ευρεία γκάμα δυνατοτήτων. Μπορούμε να παίξουμε με τα χρώματα, την κίνηση, τον ήχο ή ακόμα και να συνδιαλλαχθούμε με χρήση πολλαπλών αντικειμένων και έτσι να γίνουμε οι δημιουργοί των δικών μας παιχνιδιών!
 * Ανακεφαλαιώνοντας, στο κεφάλαιο αυτό ερχόμαστε σε επαφή με την έννοια του προγραμματισμού, μία έννοια που δεν πρέπει να μας φαίνεται άγνωστη, καθώς είτε το αντιλαμβανόμαστε είτε όχι, ο προγραμματισμός υπάρχει γύρω μας. Οι επιδράσεις του προγραμματισμού στην καθημερινότητα μας είναι ποικίλες και αφορούν τις δραστηριότητες μας στον υπολογιστή, στον κινηματογράφο, στη λειτουργία παιχνιδιών και άλλων μηχανημάτων. Ο τρόπος για να προσεγγίσουμε τον προγραμματισμό, όποια γλώσσα προγραμματισμού και αν επιθυμούμε να μάθουμε, είναι να τον αντιλαμβανόμαστε ως ένα τρόπο επίλυσης των προβλημάτων που μας απασχολούν. Εφόσον έχουμε καταφέρει να επιλύσουμε το πρόβλημα, το επόμενο βήμα είναι να δώσουμε στον υπολογιστή τις κατάλληλες οδηγίες, το λεγόμενο πρόγραμμα, έτσι ώστε ο τελευταίος να τις εκτελέσει.

Στόχος λοιπόν αυτού του βιβλίου είναι να δούμε τις βασικές αρχές του προγραμματισμού μέσα από το Scratch με έναν όσο το δυνατόν πιο ευχάριστο και δημιουργικό τρόπο. Στα επόμενα δύο κεφάλαια που ακολουθούν, θα δούμε πως μπορούμε να κατεβάσουμε το Scratch και να το εγκαταστήσουμε στον υπολογιστή μας, καθώς και πώς μπορούμε να τρέξουμε τα προγράμματά μας. Στο κεφάλαιο 3 γίνεται μία αναλυτική περιγραφή του περιβάλλοντος εργασίας του προγράμματος. Αυτά τα κεφάλαια είναι κυρίως εισαγωγικά. Όσον αφορά το Β’ μέρος του βιβλίου, αρχικά στο κεφάλαιο 4, θα μάθουμε να εισάγουμε τα αντικείμενα, θα τους δώσουμε μορφή, στυλ και διαφορετικές ενδυμασίες. Θα δημιουργήσουμε δηλαδή τους ήρωες των παιχνιδιών μας και στη συνέχεια στα κεφάλαια 5-8 θα τους κάνουμε να κινούνται, να ζωγραφίζουν, να παίζουν μουσική και θέατρο, ενώ παράλληλα θα διδαχθούμε τη σειριακή εκτέλεση των εντολών. Κάποιοι από τους ήρωες που θα μας συντροφεύσουν σε αυτά τα κεφάλαια θα είναι ένα ενυδρείο, μία μπάντα, το τουαϊλάιτ. Στη συνέχεια στα κεφάλαια 9-13, οι ήρωές μας γίνονται πιο «έξυπνοι» και αποκτούν περισσότερες δυνατότητες. Πώς το πετυχαίνουμε αυτό; Τους κάνουμε να αντιλαμβάνονται καλύτερα το περιβάλλον και να ανταλλάσουν μηνύματα μεταξύ τους, καθώς και να επαναλαμβάνουν διαδικασίες, όπως άλλωστε κάνουμε και εμείς καθημερινά μεταξύ μας. Τελειώνοντας αυτά τα κεφάλαια θα μπορείτε να αναπτύξετε μόνοι σας πολλές εφαρμογές και παιχνίδια. Τέλος στο μέρος Δ’, τα κεφάλαια 14 και 15 εισάγουν πιο προχωρημένες έννοιες όπως οι μεταβλητές και οι τυχαίοι αριθμοί που είναι εξίσου απαραίτητα για να κατασκευάσετε ακόμα πιο πολύπλοκα προγράμματα. Τα κεφάλαια 16 και 17 δίνουν κάποια έτοιμα παιχνίδια συνοψίζοντας όλες τις έννοιες που έχετε διδαχθεί μέχρι αυτό το σημείο.

Καλή διασκέδαση! **

** Ερωτήσεις ** 1) Περιέγραψε τι είναι προγραμματισμός και ποια τα βασικά χαρακτηριστικά ενός προγράμματος. 2) Τι πιστεύετε ότι μπορεί να σας προσφέρει ο προγραμματισμός στην καθημερινότητα σας; 3) Γιατί πρέπει να κατανοούμε καλά ένα πρόβλημα πριν το επιλύσουμε; 4) Ποια είναι τα στάδια επίλυσης προβλημάτων που πρέπει να ακολουθούμε; 5) Γιατί πρέπει να δίνουμε όταν προγραμματίζουμε αυστηρά καθορισμένες εντολές στον υπολογιστή; 6) Αναφέρετε καθημερινές σας δραστηριότητες όπου εντοπίζετε τον προγραμματισμό. 7) Πώς φτιάχνουμε ένα πρόγραμμα στο scratch; 8) Περιγράψτε τι είδους εφαρμογές πιστεύετε ότι μπορείτε να δημιουργήσετε με το scratch και ποιες από αυτές μπορείτε να τις χρησιμοποιήσετε στην καθημερινότητα σας;

**Δραστηριότητες** 1) Αναλύστε το πρόβλημα της δημιουργίας του παιχνιδιού "τέτρις"... 2) Δώστε τη σειρά των βημάτων που πρέπει να ακολουθήσουμε για να ζωγραφίσουμε ένα ρόμβο χωρίς να σηκώσουμε το στυλό από το χαρτί καμία φορά. 3) Που πιστεύετε ότι είναι το λάθος στις παρακάτω οδηγίες που δώσαμε στον υπολογιστή για να δημιουργήσει την αρχική εικόνα του παιχνιδιού "τρίλιζα" : Σχεδίασε ένα κατακόρυφο ευθύγραμμο τμήμα (τμήμα 1) Σχεδίασε ένα κατακόρυφο ευθύγραμμο τμήμα (τμήμα 2) παράλληλο στο τμήμα 1 Σχεδίασε ένα κατακόρυφο ευθύγραμμο τμήμα (τμήμα 3) παράλληλο στο τμήμα 2 Σχεδίασε ένα ευθύγραμμο τμήμα (τμήμα 4) κάθετο στο τμήμα 2 Σχεδίασε ένα ευθύγραμμο τμήμα (τμήμα 5) κάθετο στο τμήμα 3 Σχεδίασε ένα ευθύγραμμο τμήμα (τμήμα 6) κάθετο στο τμήμα 4

**Περίληψη κεφαλαίου / VodCast κεφάλαιο 1

Καλωσόρισμα **
 * Γεια σας! Σήμερα θα μιλήσουμε για το κεφάλαιο 1 και θα σας παρουσιάσουμε την έννοια και τη φιλοσοφία του προγραμματισμού.

Εισαγωγή Πολύ πιθανόν οι μαθητές να είναι εξοικειωμένοι με τη νέα τεχνολογία και να μπορούνε να γράφουνε και να στέλνουνε μηνύματα από τον υπολογιστή, να παίζουνε online παιχνίδια και να αναζητάνε στο διαδίκτυο υλικό για τα ενδιαφέροντά τους. Όμως οι δυνατότητες που μας παρέχει η νέα τεχνολογία περιορίζονται μόνο στις συγκεκριμένες ενέργειες; Με αυτό το βιβλίο θα δείξουμε στους μαθητές πώς να δημιουργούνε τα δικά τους προγράμματα και παιχνίδια με τη γλώσσα προγραμματισμού Scratch. Η τέχνη του να μπορούμε να γράφουμε τα δικά μας προγράμματα ονομάζεται προγραμματισμός. Ένα πρόγραμμα απαρτίζεται από εντολές οι οποίες πρέπει να τοποθετηθούν με τέτοια σειρά, έτσι ώστε ο υπολογιστής να καταλάβει τι θέλουμε να επιτελέσουμε. ** Τι χρειάζεται όμως για να γράψουμε ένα πρόγραμμα; Μπορούμε να παρομοιάσουμε το πρόγραμμα με ένα σύνθετο πρόβλημα που απαιτεί μία λύση και μπορεί να αναλυθεί σε τρία στάδια. Το πρώτο στάδιο είναι αυτό της αποδόμησης του προβλήματος σε μικρότερα τα οποία είναι εύκολο να επιλυθούν. Ακολουθεί η συγγραφή του κώδικα για τα διάφορα υποπροβλήματα. Το τρίτο στάδιο είναι η σύνθεση των επιμέρους τμημάτων έτσι ώστε να πάρουμε το συνολικό πρόγραμμα. Μπορούμε για ευκολία να σκεφτούμε το γνωστό μας πάκμαν, όπου στην πρώτη φάση εντοπίζουμε τους διάφορους ήρωες του παιχνιδιού, στη δεύτερη φάση γράφουμε τον κώδικα που περιγράφει τη συμπεριφορά τους, ενώ στην Τρίτη φάση προσθέτουμε τις μεταξύ τους αλληλεπιδράσεις. Σημαντικό ρόλο στη συγγραφή ενός προγράμματος κατέχει και ο έλεγχος για σφάλματα, κάτι το οποίο πρέπει να γίνεται ανά τακτά χρονικά διαστήματα ενόσω γράφουμε το πρόγραμμα. **
 * Ενότητα 2

Στην ενότητα αυτή προσπαθούμε να δώσουμε κίνητρο στους μαθητές, επιχειρηματολογώντας για το πώς ο προγραμματισμός μπορεί να τους βοηθήσει άμεσα σε καθημερινές τους δραστηριότητες, όπως να φτιάχνουν δικά τους παιχνίδια για διασκέδαση ή άλλες χρήσιμες εφαρμογές. Επιπλέον, επαναλαμβάνοντας τους ότι ο προγραμματισμός είναι ένας τρόπος επίλυσης προβλημάτων, προσπαθούμε να τους πείσουμε ότι η ενασχόληση με αυτόν θα αλλάξει τον τρόπο σκέψης τους και θα τους βοηθήσει να λύνουν τα προσωπικά τους προβλήματα πιο αποτελεσματικά. ** Αμέσως μετά τα πλεονεκτήματα του προγραμματισμού, προσπαθούμε να εξοικειώσουμε τους μαθητές με την έννοια του προγραμματισμού αναφέροντας τους παραδείγματα εφαρμογής του σε καθημερινές τους δραστηριότητες, τα οποία ενδεχομένως αγνοούν. Συγκεκριμένα, υποστηρίζουμε ότι πίσω από κάθε συμπεριφορά του ήρωα του παιχνιδιού τους, κρύβεται ένα πρόγραμμα που την προκαθορίζει με ακρίβεια. Επιπλέον, τους αναλύουμε πώς χρησιμοποιείται ένα πρόγραμμα για να γίνει η αναζήτηση στο διαδίκτυο, το οποίο παίρνει τη λέξη κλειδί που πληκτρολογούν και λύνοντας το αντίστοιχο πρόβλημα επιστρέφει τα αποτελέσματα αναζήτησης. ** Σε αυτή την ενότητα παρουσιάζονται παραδείγματα προγραμμάτων που θα είναι σε θέση να αναπτύξουν οι μαθητές μέσα από το Scratch. Οι μαθητές θα μπορούν να αναπτύξουν τις δικές τους διαδραστικές ιστορίες και τα δικά τους παιχνίδια εύκολα και γρήγορα, ενώ παράλληλα θα διδαχθούνε μέσα από αυτά τις βασικές αρχές του προγραμματισμού. Επίσης παρουσιάζονται κάποια ιστορικά στοιχεία του προγράμματος όπως και ποια είναι τα βασικά πλεονεκτήματα του προγραμματισμού με το scratch (ο εύκολος εντοπισμός εντολών, το γεγονός ότι δεν υπάρχουν κανόνες σύνταξης, το έτοιμο γραφικό περιβάλλον).
 * Ενότητα 3
 * Ενότητα 4
 * Ενότητα 5

Το συγκεκριμένο κεφάλαιο είναι καθαρά εισαγωγικό και θα μπορούσε να παραληφθεί από τους μαθητές. Βαθμό δυσκολίας στο κεφάλαιό μας θα δώσουμε 2 σε κλίμακα 1-5.

Ήταν το κεφάλαιο 1. Ελπίζουμε το παρόν υλικό να σας βοήθησε σημαντικά στον τρόπο διδασκαλίας του. Στο επόμενο κεφάλαιο θα μάθουμε πώς να εγκαθιστούμε το scratch και πώς να τρέχουμε τα προγράμματα μας. Μέχρι τότε γεια σας! **