Building a semantic enterprise content management system from scratch v1
Python from Scratch
-
Upload
lia-terzidou -
Category
Education
-
view
51 -
download
2
Transcript of Python from Scratch
8ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 – Ιωάννινα , Ελλάδα
Python from Scratch
Μετάβαση από το Scratch στην Python και τον αντικειμενοστραφή προγραμματισμό αξιοποιώντας το
παιχνίδι Code CombatΘεοδούλη ΤερζίδουMSc | PhD Candidate | Εκπαιδευτικός ΠΕ19
Περιεχόμενα Εισαγωγή Αξιοποίηση παιχνιδοκεντρικής μάθησης Διδασκαλία προγραμματισμού με Scratch Η γλώσσα προγραμματισμού Python Το Code Combat στη διδασκαλία της Python Από το Scratch στην Python και τον
αντικειμενοστραφή προγραμματισμό με το Code Combat
Πρόταση Διδασκαλίας Μελλοντική εργασία
2 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
3 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Γιατί είναι σημαντική η εκμάθηση μιας Γλώσσας Προγραμματισμού?
Σύμφωνα με την Grand Coalition for Digital Jobs- πρωτοβουλία της Ευρωπαϊκής Επιτροπής
913.000 κενές θέσεις στην Ευρώπηέως το 2020
σε επαγγέλματα στον τομέα της Πληροφορικής
Ο μαθητής του «2020»
5
Καταναλωτής
Δημιουργός
2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
6 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Δημιουργικότητα
Αλγοριθμική σκέψη
Κατάργηση γεωγραφικ
ών συνόρων
Συνεργασία
Επίλυση προβλημάτ
ων
CODINGΠρογραμματισμός
Νέα γλώσσα
επικοινωνίας
Προγραμματισμός: η δεξιότητα του 21ου αιώνα που…
Διδασκαλία προγραμματισμού στην Ελλάδα
7 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Δημοτικό [ΤΠΕ]
Scratch, Παιχνίδια κώδικα
Γ’ Γυμνασίου
Scratch, Logo,
Παιχνίδια κώδικα
ΓΕΛ : Ψευδογλώσσα, ΓλώσσαΕΠΑΛ: Python
Παχνιδοκεντρική Μάθηση [Game Based Learning]
8 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Παχνιδοκεντρική Μάθηση [Game Based Learning]
Μαθαίνω παίζοντας
GamificationSerious Games
Educational Games Digital Game Learning
Παιχνιδοκεντρική Μάθηση [Game Based Learning]
9 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
«Είναι η εκπαιδευτική διαδικασία, η οποία χρησιμοποιεί εμπειρίες παιχνιδιού ως εργαλείο μάθησης.» [Terzidou & Tsiatsos, 2011]
Παχνιδοκεντρική Μάθηση [Game Based Learning]
«Η παρακίνηση μέσω παιχνιδιών μπορεί να βρει εφαρμογή στην εκμάθηση αντικειμένων, τα οποία έχουν αυξημένο βαθμό δυσκολίας όσον αφορά τη διδασκαλία τους» [Prensky, 2001]
Τα παιχνίδια μπορούν να αξιοποιηθούν στη διδασκαλία των αφηρημένων, και γι αυτό το λόγο,
δύσκολων εννοιών του προγραμματισμού
«Οι παιγνιώδεις δραστηριότητες μπορούν να ενισχύσουν την εκ βαθέων μάθηση (deep learning).» [Piaget, 1970]
Παιχνίδια Κώδικα και Προγραμματισμός με…
Με blocks Με συγγραφή κώδικα Scratch Code.org Run Marco Tynker The Foos LightBot CodinGame
Code Combat Ruby Warrior Code School
10 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Προγραμματισμός σε γλώσσα υψηλού επιπέδου
CODING YOU MUST LEARN
READY ARE YOU?
ΤΕΛΕΙΑ! ΚΑΙ ΤΩΡΑ…Ποια Γλώσσα Προγραμματισμού επιλέγουμε?
Τι θα θέλαμε… Μετάβαση από το Scratch, στον προγραμματισμό με
Python και τον αντικειμενοστραφή προγραμματισμό, με παιγνιώδη τρόπο… αξιοποιώντας το CodeCombat.
Scratch
Οπτικός Προγραμματισμός με Blocks
SCRATCH …1 0 1 στον προγραμματισμό
16 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
> 10.000.000 χρήστες
οπτική γλώσσα προγραμματισ
μού
περιβάλλον πλούσιο σε
γραφικά
Χρήση blocks
Αποφυγή συντακτικών
λαθώνΠλειοψηφία
χρηστών13 -18 ετών
Δυνατότητα διαμοίρασης
έργωνΥποστήριξη εκπαιδευτικής κοινότητας
Έννοιες και Δομές γνωστές από το Scratch…
17
Δεδομένα (data) | Μεταβλητές | Λίστες Τελεστές (operators) Δομή ακολουθίας (sequence) Δομή επανάληψης (loop) Συνθήκες ελέγχου (conditionals) Παράλληλος προγραμματισμός (parallelism) Συμβάντα (events)
2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Χρήση ανά κατηγορία εντολών στο Scratch
18 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
[Πηγή: http://stats.scratch.mit.edu] | Σεπτ. 2016
Python Αντικειμενοστραφής Προγραμματισμός
Let’s go… Python!
PYTHON γιατί…
20
Δημοφιλέστερη γλώσσα για την εισαγωγή στον προγραμματισμό 5η δημοφιλέστερη στον κόσμο [Μάρτιος 2016 - Tiobe] Ευανάγνωστη - Ευέλικτη - Εύκολο συντακτικό Ενεργή κοινότητα προγραμματιστών Υποστηρίζεται από το Raspberry Pi Μια γλώσσα που “μιλάνε” οι κορυφαίοι της τεχνολογίας, όπως Google,
NASA, Dropbox, IBM, NOKIA, Lego… κα. [~5000] Γνωστά και γραμμένα σε Python:
Youtube Dropbox Blender 3D EVE online Instagram και άλλα …!
2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Δείκτης Δημοτικότητας Γλωσσών Προγραμματισμού[TIOBE, Σεπτ. 2016]
21 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Code Combat
A Serious Coding Game
Περί Code Combat…
23
Ξεκίνησε το 2013 από ομάδα 13 ατόμων Διαθέσιμο σε 50 γλώσσες + Ελληνική Χρήστες > 5.000.000 σε 200 και πλέον
χώρες 450 μέλη-συνδημιουργοί παγκοσμίως Open Source [GitHub - MIT and Creative Commons
licenses]2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Το Code Combat ως παιχνίδι…
24
Ένα παιχνίδι κώδικα με μορφή περιπέτειας [RPG].
Δίνει την αίσθηση πραγματικού παιχνιδιού.
Παίζεται ατομικά ή σε επίπεδο πολλών online χρηστών.
Διαθέτει πολλά επίπεδα κλιμακούμενης δυσκολίας [ανάλογα με τη διδασκόμενη έννοια/δομή].
Τα πρώτα επίπεδα διατίθενται δωρεάν [επόμενα με συνδρομή].
Δεν απαιτείται η δημιουργία λογαριασμού [για διατήρηση της προόδου ενδείκνυται εγγραφή].
2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Στόχος του παιχνιδιού
25
Ο παίκτης, με τη μορφή ήρωα/ηρωίδας, πρέπει να επιβιώσει σε δοκιμασίες, να συλλέξει πόντους μαζεύοντας πετράδια και να «βελτιώνει» τον χαρακτήρα του.
Κάθε επιτυχημένη αποστολή προσφέρει πόντους εμπειρίας (XPs) και «Επιτεύγματα». – Extra Bonus για άψογο κώδικα!
Ο παίκτης ελέγχει τον ήρωα του πληκτρολογώντας σωστά συντακτικά, και σε λογική σειρά εντολές στη γλώσσα προγραμματισμού της επιλογής του [Python, JavaScript].
Σε περίπτωση λάθους δίνεται κατάλληλη ανατροφοδότηση.
2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Πηγή: Screenshot από έναρξη αποστολής του Code Combat
28 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Πηγή: Screenshot από τον οδηγό του Code Combat για εκπαιδευτικούς
Το Code Combat ως εκπαιδευτικό εργαλείο…
31
Ανήκει στην κατηγορία των Σοβαρών Παιχνιδιών [Serious Games].
Προσφέρει δημιουργία τάξεων και παρακολούθησης προόδου μαθητών.
Έχει προσαρμοσμένα μαθήματα για Δημοτικό/Γυμνάσιο/Λύκειο
Υποστηρίζει τη συνεργατική μάθηση [δημιουργία «Φατριών»].
Διαθέτει μια ενεργή κοινότητα για εκπαιδευτικούς. Προσφέρει Οδηγούς για εκπαιδευτικούς και μαθητές. Ενθαρρύνει τα κορίτσια… Χρησιμοποιεί και γυναικείους
χαρακτήρες [«Ηρωίδες»]! 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Πρόταση διδασκαλίας: Python from Scratch
32 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Ενότητες διδακτικού σεναρίου
33 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
• Ο μαθητής υλοποιεί σενάρια στο Scratch και στη συνέχεια τα "μεταφράζει" σε Python.
• Αναγνωρίζει την αντιστοιχία βασικών εντολών Scratch-Python.
• Αναγνωρίζει την έννοια του συντακτικού λάθους.
Scratch & Python#1 BASICS
• Ο μαθητής εισάγεται στις έννοιες του Αντικειμενοστραφούς Προγραμματισμού.
• Υλοποιεί σενάρια στο Scratch και στην Python.
• Παίζει με «αντικείμενα» και γράφει κώδικα στο Code CombatScratch & Python
& Code Combat#2 OOP
Διδακτικό Σενάριο
34
Διάρκεια: 20 διδακτικές ώρες Τάξεις: Ε, ΣΤ Δημοτικού & Α,Β,Γ Γυμνασίου Τρόπος εργασίας: Ομάδες 2-3 μαθητών Περιβάλλον:
Scratch Online Python 3.x Code Combat [Δωρέαν ενότητα]
Περιλαμβάνει: Φύλλα Δραστηριότητας-βοήθειας Λεξικό Εντολών Scratch ↔ Python ↔ Code Combat
2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
1η Ενότητα | Διδασκόμενες Έννοιες
35
Συντακτικό λάθος Μεταβλητή |Τύπος μεταβλητής |Μετατροπή Ανάθεση τιμών Χρήση βιβλιοθηκών και συναρτήσεων Λογικός έλεγχος Λογικές τιμές Δομές Επανάληψης [for - while]
2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Το ξεκίνημα… “Hello World”
36 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Scratch
•Γράψε ένα πρόγραμμα στο Scratch, όπου ένα αντικείμενο σου [Sprite] θα λέει το μήνυμα “Hello Scratch World”
Python •Άνοιξε το πρόγραμμα Python IDLE.
Python
•Μετά τα σύμβολα >>> πληκτρολόγησε την εντολή και πάτησε ENTER για να την εκτελέσεις.
Παράδειγμα Φύλλου Εργασίας #1
37 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Παράδειγμα Φύλλου Εργασίας #2
38 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
39 8ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Συνέχεια Φύλλου Εργασίας #2
40 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
2η Ενότητα | Διδασκόμενες Έννοιες
41
Κλάση (class), Ονοματολογία κλάσεων Αντικείμενο (object), Μέθοδος (method), Ιδιότητα (attribute) Χρήση μεθόδων
2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Εισαγωγή στον αντικειμενοστραφή προγραμματισμό
42
Δημιουργία συσχετίσεων με τα ήδη γνωστά για τον μαθητή, αντικείμενα [sprites] του Scratch.
Ο μαθητής υλοποιεί πρόγραμμα στο Scratch, με αντικείμενα, παρόμοια σε μορφή, με αυτά που θα κληθεί να υλοποιήσει αργότερα στην Python αλλά και στο παιχνίδι Code Combat [πχ. Ιππότης-hero].
Καθοδηγείται να δημιουργήσει τις απαραίτητες νοητικές συνδέσεις.
Προχωρά στη δημιουργία αντικειμένων γράφοντας εντολές στην Python.
Η ενότητα ολοκληρώνεται στο παιχνίδι Code Combat.2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
#1 | Αντικείμενα στο Scratch
43 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
#2 | Κώδικας για αντικείμενα στο Scratch
44 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
#3 | Απόσπασμα φύλλου εργασίας
45 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
#4 | Φύλλο βοήθειας- Γραφικές Μεταφορές
46 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
#5 | Λεξικό Εντολών
#6 | Python & Αντικείμενα στο Code Combat
48 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
#7 | Ένα σπαθί… για τη μέθοδο attack
49 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
#8 | Code Combat HELP
50 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Βοήθεια [HELP]
Εκσφαλμάτωση
51 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Οι πρώτες εντυπώσεις από το Code Combat…
«Είναι πολύ ωραίο, έχουν πλάκα τα ανθρωπάκια και είναι πολύ εύκολο» <μαθήτρια Ε’ Δημοτικού>
«Ήταν πολύ ωραίο γιατί συνεργαζόμασταν» <μαθητής Ε’ Δημοτικού>
«Ήταν καλό αλλά πιο καλό με παρέα » <μαθητής Ε’ Δημοτικού>
«Έχει ωραία γραφικά όμως κολλάει. Επίσης είναι εύκολα τα επίπεδα.»
<μαθητής Ε’ Δημοτικού>
«Στην αρχή ήταν δύσκολο, αλλά μετά που το μάθαμε ήταν πολύ ωραίο.»
<μαθητής ΣΤ’ Δημοτικού>
«Ήταν δύσκολο αλλά ωραίο άρα είμαι ευχαριστημένη.» <μαθήτρια Δ’ Δημοτικού>
«Ήταν ωραίο αλλά γιατί χρειάζεται να γράφεις?»
<μαθητής Δ’ Δημοτικού>
«Το παιχνίδι είναι πολύ ωραίο. Μας δυσκόλεψε λίγο το attack, αλλά τα καταφέραμε.»
<μαθητής Ε’ Δημοτικού>
Μελλοντικός στόχος
52 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Αξιολόγηση της αποτελεσματικότητας του διδακτικού σεναρίου στην τάξη, σε μαθητές Δημοτικού και Γυμνασίου.
53 2/10/20168ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» 2016 | Θεοδούλη Τερζίδου
Ευχαριστώ
Theodouli Terzidou | MSc PhD Candidate | Aristotle University of
ThessalonikiEurope Code Week Ambassador | Greece