Ο προγραμματισμός με Snap!

Καλωσήρθατε στον ιστότοπό μου

The wonderful thing about computer programming is that it is fun, perhaps not for everyone, but for very many people. There aren't many mathematical activities that appeal so spontaneously. Kids get caught up in the excitement of programming, in the same way that other kids (or maybe the same ones) get caught up in acting, in sports, in journalism (provided the paper isn't run by teachers), or in ham radio

Brian Harvey, δημιουργός του Snap

Σε αυτή την εργασία γίνεται επίδειξη των δυνατοτήτων του τοπικού δικτύου του BYOB 3.1.1 μέσω της κατασκευής ενός απλού παιχνιδιού δύο παικτών που παίζουν το παιχνίδι από διαφορετικούς υπολογιστές.

Τις οδηγίες κατασκευής θα τις βρείτε εδώ.

Τα αρχεία της εφαρμογής μπορείτε να τα κατεβάσετε από τους παρακάτω συνδέσμους:

Βίντεο επίδειξης

 

Τα BYOB/Scratch προσφέρουν ένα φυσικό περιβάλλον αντικειμενοστραφούς προγραμματισμού, αφού τα sprites(μορφές) είναι δρώντα αντικείμενα. Έτσι είναι πολύ πιο εύκολη η κατανόηση της έννοιας του αντικειμένου, αφού κάθε πρόγραμμα απαιτεί τη μοντελοποίηση και δημιουργία αντικειμένων.  Η δημιουργία δηλαδή ενός προγράμματος σε BYOB/Scratch απαιτεί από το μαθητή να σκεφτεί με αντικειμενοστραφή λογική , ακόμα και αν ο καθηγητής δεν αναφέρει τίποτα σχετικά.

Το Scratch όμως περιορίζεται μόνο στην επιφάνεια, ενώ το BYOB προσφέρει ένα, σχεδόν πλήρες, αντικειμενοστραφές περιβάλλον.

Συνοπτικά, μερικά από τα χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού του ΒΥΟΒ είναι:

  • Υλοποιεί τον OOP, μέσω prototyping. Δεν υπάρχουν δηλαδή κλάσεις και αντικείμενα, αλλά πρωτότυπα και κλώνοι(όλα αντικείμενα). Ο καθηγητής μπορεί να διδάξει την έννοια της κλάσης ως μοντέλου για τα αντικείμενα, κρύβοντας τα πρωτότυπα από το Σκηνικό.
  • Δεν υπάρχουν κατασκευαστές και καταστροφείς, τουλάχιστον με τον τρόπο που τις συναντάμε στις "επαγγελματικές OOP γλώσσες". Οι κλώνοι παρόλα αυτά μπορούν να δημιουργηθούν/διαγραφούν και προγραμματιστικά, δίνοντας έτσι την ευκαιρία στον καθηγητή να αναφερθεί στις έννοιες αυτές.
  • Υποστηρίζονται πλήρως οι δύο βασικές δυνατότητες-πλεονεκτήματα που προσφέρει ο OOP, η κληρονομικότητα και ο πολυμορφισμός.
  • Η μετάδοση μηνυμάτων στα αντικείμενα γίνεται με τη χρήση first class διαδικασιών-συναρτήσεων.
  • Το οπτικοποιημένο περιβάλλον επιτρέπει την παρατήρηση της αλλαγής κατάστασης των αντικειμένων ως αποτέλεσμα της λειτουργίας των μεθόδων(πχ την μετατόπιση στο σκηνικό, την αλλαγή χρώματος κ.α), πλεονέκτημα που συναντάμε και στο Scratch.

Μια αναλυτική περιγραφή των OOP δυνατοτήτων του BYOB, θα βρείτε στο εγχειρίδιο αναφοράς της εφαρμογής(μενού "Βοήθεια"), στις σελίδες 23-26.

Ακολουθούν κάποια βίντεο tutorial στα οποία επιδεικνύονται αυτές οι δυνατότητες. Στο τέλος του άρθρου θα βρείτε επίσης ένα παράδειγμα προγράμματος(το παιχνίδι arkanoid).

Δημιουργία-διαγραφή κλώνων

Μετάδοση μηνυμάτων σε κλώνους και μορφές(sprites) γενικότερα

Κληρονομικότητα - Πολυμορφισμός

 

 

Το παιχνίδι "arkanoid" με BYOB

Στους παρακάτω συνδέσμους θα βρείτε:

 

 ΠΑΡΑΤΗΡΗΣΕΙΣ
  • Για να συνειδητοποιήσετε την αξία των OOP δυνατοτήτων του BYOB, προσπαθήστε να δημιουργήσετε το παιχνίδι με Scratch.
  • Είναι αρκετά πολύπλοκο για να χρησιμοποιηθεί στο γυμνάσιο.
  • Δεν αποτελεί διδακτικό σενάριο. Θα μπορούσε όμως, όπως και τα tutorial να χρησιμοποιηθεί σε ένα τέτοιο.

 

 

 

 

ΝέαΑνακοινώσεις
Βοήθεια στα Ελληνικά
  • Τελευταία Ενημέρωση: Σεπτέμβριος 2019

Το SnapHE.gr διαθέτει όλες τις οθόνες βοήθειας των εντολών στα Ελληνικά.

Σε αυτές συμπεριλαμβάνονται τα νέα μπλοκ της έκδοσης 5.1, της υποστήριξης δικτύου και της βιβλιοθήκης "OpenLayers maps".

Περισσότερα...
Αναβάθμιση στην επίσημη έκδοση 5.1
  • Τελευταία Ενημέρωση: Σεπτέμβριος 2019

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

Περισσότερα...
Το SnapHE.gr στο Φωτόδεντρο

Έχουν δημοσιευτεί στο "Φωτόδεντρο" τα εργαλεία με τα οποία δημιουργήθηκε ο παρών ιστότοπος.

Περισσότερα...
Βέλτιστη Πρακτική

Το εκπαιδευτικό υλικό του ιστότοπου βραβεύτηκε σε διαγωνισμό του Φωτόδεντρου.

Διαβάστε περισσότερα ...
Snap

Το Snap είναι μια γλώσσα πλακιδίων. Αποτελεί εξέλιξη του Scratch.

Διαβάστε περισσότερα ...
The Beatuty and Joy of Computing

Το BJC είναι εκπαιδευτικό πρόγραμμα του UC Berkeley.

Διαβάστε περισσότερα ...
The Hour of Code

Η "Ώρα του Κώδικα" είναι μια διεθνής καμπάνια του code.org, που αφορά μαθητές.

Διαβάστε περισσότερα ...