Προγραμματιστικοί Μικρόκοσμοι



Προγραμματιστικοί μικρόκοσμοι - μικρογλώσσες προγραμματισμού 

Οι Προγραμματιστικοί μικρόκοσμοι - μικρογλώσσες προγραμματισμού είναι προγραμματιστικά περιβάλλοντα κατάλληλα για την εκμάθηση του προγραμματισμού (σε μικρές ηλικίες). 

Η βασική ιδέα των μικρόκοσμων (microworlds)  και των μικρoγλωσσών (mini-languages) προγραμματισμού είναι η δημιουργία μιας γλώσσας προγραμματισμού που αποτελείται από ένα περιορισμένο ρεπερτόριο εντολών με απλή σύνταξη και σημασία .  

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

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

Βασικά χαρακτηριστικά 

 Μινιμαλιστικό και εύχρηστο γραφικό περιβάλλον,
 Βήμα-προς-βήμα εκτέλεση,
 Τεχνικές οπτικοποίησης λογισμικού,
 Οπτικοποίηση της εκτέλεσης του προγράμματος,
 Ορισμένοι μικρόκοσμοι ενσωματώνουν χαρακτηριστικά, όπως: 
 Δυνατότητα αυτόματης δημιουργίας διαγραμμάτων ροής
 Ενσωματωμένες στο περιβάλλον δραστηριότητες
 Εκδότες δομής για την ευκολότερη ανάπτυξη προγραμμάτων και την αποφυγή συντακτικών λαθών
(Ξυνόγαλος 2005, Εφόπουλος 2005)

Πλεονεκτήματα 

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

Προτάσεις Χρήσης 

Μπορούν να χρησιμοποιηθούν :

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

Παραδείγματα

Εξωτερικοί σύνδεσμοι μικρόκοσμων 
AGENTSHEETS
 
https://web.archive.org/web/20151113073857/http://www.agentsheets.com/
 
https://web.archive.org/web/20130520145042/http://agentsheets.gr/ (έτοιμα παραδείγματα)
 
ALICE
 
https://web.archive.org/web/20120508000054/http://alice.org/index.php
 
GAME MAKER

http://gamemakerclass.weebly.com/
 
KAREL
 
http://karel.sourceforge.net/
 
KODU
 
https://web.archive.org/web/20131020090612/http://fuse.microsoft.com/projects/kodu
 
https://web.archive.org/web/20131022165941/http://www.koduplay.gr/
 
LOGO
 
PHROGRAM
 
http://phrogram.com/
 
SCRATCH
 
http://scratch.mit.edu/
 
STAGECAST
 
http://www.stagecast.com/