Πανελλήνιος Διαγωνισμός Πληροφορικής

Ξεκίνησε από ΣΧΟΙΝΑΣ ΚΩΣΤΑΣ, 03 Νοε 2018, 09:10:54 ΜΜ

« προηγούμενο - επόμενο »

ΣΧΟΙΝΑΣ ΚΩΣΤΑΣ

Μπορεί κάποιος που έχει παλαιότερα συμμετάσχει με τους μαθητές του σε παρόμοιο διαγωνισμό πληροφορικής να με ενημερώσει σχετικά με   τα θέματα που δίνει ο διαγωνισμός και τις γλώσσες προγραμματισμού που προτείνει ( είναι αυστηρά μονο  C , PASCAL και JAVA). Θέλω να γνωρίζω αν είναι στις δυνατότητες των μαθητών του σχολείο μου,  oι μαθητές μου  διδάσκονται μόνο scratch  και τη Γλώσσα της   Γ λυκείου . Να το  προχωρήσω για  συμμετοχή ποια είναι η γνώμη σας;

ακολουθεί ο σύνδεσμος του διαγωνισμού


http://www.pdp.gr/default.asp?pid=1&la=1

Ευχαριστώ προκαταβολικά όποιον  μου δώσει σύντομα μία απάντηση.
Καθηγητής πληροφορικής ΠΕ20

pgrontas

Με δεδομένο ότι είσαι σε γενικό Λύκειο η προετοιμασία μπορεί να γίνει μόνο στα πλαίσια κάποιου προγράμματος (πολιτιστικού κτλ.) όπου θα τους μάθεις τη γλώσσα αρχικά και να λύνουν απλά προβλήματα με αυτήν. Εγώ επέλεξα C και θεωρώ ότι είναι η καλύτερη γλώσσα για τον διαγωνισμό + για όσους επιλέξουν να συνεχίσουν. Το πρόβλημα της Α φάσης είναι συνήθως βατό στην πλειοψηφία των μαθητών, ειδικά αν στην Γ Γυμνασίου στο Scratch έκαναν και λίγα προβληματάκια όπως ελάχιστα κτλ.. Η καλύτερη τάξη για να επικεντρωθείς είναι η Α Λυκείου, ώστε να προσπαθήσουν και του χρόνου.

Τώρα στην Β φάση τα πράγματα αλλάζουν καθώς ακόμα και τα πιο εύκολα θέματα είναι πολύ πιο δύσκολα και από τα 'δυσκολα' του ΑΕΠΠ. Αυτό αποθαρρύνει πολλούς μαθητές που δεν μπορούν να τα παρακολουθήσουν. Εκεί κατά τη γνώμη μου ως τελική εναλλακτική πρέπει να ενθαρρύνεις το googlάρισμα και την τροποποίηση παραπλήσιων λύσεων που θα βρουν τα παιδιά. Δεν απαγορεύεται και θα τους ωφελήσει περισσότερο από να τους τα λύσεις εσύ.

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

Αυτά με κάθε επιφύλαξη γιατί η τελευταία μου εμπειρία ήταν πριν από 4 χρόνια.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

ΣΧΟΙΝΑΣ ΚΩΣΤΑΣ

 σε ευχαριστώ πολύ για την ανταπόκρισή σου.
Καθηγητής πληροφορικής ΠΕ20

dski

Θα συμφωνήσω απόλυτα με το φίλο και συμμαχητή  :) Παναγιώτη. Έχοντας κι εγώ κάποια εμπειρία από τον ΠΔΠ (προετοιμασία μαθητών γυμνασίου (σε Pascal την οποία θεώρησα ευκολότερη για το γυμνάσιο από τη C) και βοήθεια σε κάποιους μαθητές λυκείου) μπορώ να πω ότι πράγματι συνήθως το θέμα της Α' Φάσης είναι διαχειρίσιμο από μαθητές που έχουν κάποια επαφή με προγραμματισμό ή απλά έχουν μια "θετική" έφεση αλλά συχνά μπαίνουν αρκετές τεχνικές δυσκολίες που δυσκολεύουν τα πράγματα. Π.χ. το φετινό πρόβλημα της Α' φάσης δεν είναι ιδιαίτερα δύσκολο στη λύση του, έχει όμως κάποιες τεχνικές δυσκολίες αφού απαιτεί είτε ταξινόμηση είτε χρήση δυναμικών δομών (π.χ λίστα) και καθώς υπάρχει περιορισμός χρόνου (1 sec) πιθανώς η χρήση π.χ. της "φυσαλίδας" που μαθαίνουν οι μαθητές στη Γ' Λυκείου να μην "περνάει" για μεγάλες τιμές του Ν (άρα θα πρέπει κανείς να διδάξει και να υλοποιήσει την QuickSort). Αυτό για μένα ήταν όλες τις φορές ένα από τα πιο "προβληματικά" σημεία. Ακόμη και αν οι μαθητές κατανοήσουν τον αλγόριθμο επίλυσης, δεν είναι εύκολο να προλάβει κανείς να τους διδάξει όλα τα τεχνικά ζητήματα ώστε να τον υλοποιήσουν σε μια πραγματική γλώσσα προγραμματισμού. Αν υπάρχει χρόνος και διάθεση πάντως μπορείς να το δοκιμάσεις.

Στη Β' φάση πράγματι το επίπεδο ανεβαίνει κατακόρυφα. Εδώ, πέρα από τα τεχνικά θέματα, μπαίνουν και αλγοριθμικές δυσκολίες που απέχουν πολύ από το επίπεδο της ΑΕΠΠ. Γενικά ο διαγωνισμός απευθύνεται σε καλά προετοιμασμένους και ενώ μέχρι πριν κάποια χρόνια υπήρχε μια χαλαρότητα στη Β' φάση ώστε να περνούν αρκετά παιδιά στα τελικά (όπου τα θέματα είναι πολύ δύσκολα) παρατηρώ ότι τα τελευταία 2-3 χρόνια ο πήχης έχει ανέβει και προκρίνονται λιγότεροι. Αν και είχα 1-2 μαθητές που "πωρώθηκαν" με το διαγωνισμό (και προσπάθησαν πολύ μόνοι τους) για τον πολύ κόσμο το επίπεδο είναι πολύ υψηλό καθώς το ζητούμενο είναι να βρεθούν οι άριστοι που θα στελεχώσουν τις ομάδες για τους διεθνείς διαγωνισμούς. Έτσι ο διαγωνισμός αυτός καθ' εαυτός δεν λειτουργεί ως "κράχτης" για τους πολλούς να ασχοληθούν με την πληροφορική (ίσως μάλιστα κάποιοι "τρομάξουν" από το επίπεδο δυσκολίας) όμως αν αποτελέσει απλά ένα στόχο και ένα κίνητρο και όχι αυτοσκοπό τότε μπορεί να λειτουργήσει θετικά αφού είναι σίγουρα μια καλή αφορμή να έρθουν οι μαθητές σε επαφή τον προγραμματισμό σε ένα πιο "πραγματικό" επίπεδο πέρα από την ΑΕΠΠ και την Ψευδογλώσσα.

ΣΧΟΙΝΑΣ ΚΩΣΤΑΣ

ευχαριστώ πολύ για το χρόνο όλων σας
Καθηγητής πληροφορικής ΠΕ20

evry

Σχετικά με την ταξινόμηση τα παιδιά μπορούν να χρησιμοποιήσουν τη sort από την standard template library, η οποία είναι αρκετά γρήγορη και επιτρέπεται  :police:.

Η καλύτερη στρατηγική είναι να κάνεις C++ (χωρίς κλάσεις) και να χρησιμοποιήσεις STL για το διαγωνισμό.
Έχεις την ταχύτητα της C αλλά γλιτώνεις από πολλά πράγματα που θα χρειαζόσουν να εξηγήσεις όπως δυναμική εκχώρηση μνήμης/pointers (vs vectors/VLAa), printf/scanf (vs cin/cout)
Αν θέλεις όμως να ταξινομήσεις ζευγάρια τιμών (παράλληλους πίνακες που λέμε στη ΓΛΩΣΣΑ) θα χρειαστείς pair ή struct.
Νομίζω με pair είναι καλύτερα.
Αυτές είναι οι δικές μου παρατηρήσεις αν και έχω να ασχοληθώ με τον διαγωνισμό κάποια χρόνια.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

pgrontas

Δύο παρατηρήσεις που μου ξέφυγαν λόγω κεκτημένης ταχύτητας.
Όταν έγγραψα C εννοούσα αυτό ακριβώς που λέει ο Ευριπίδης δηλ. C++ χωρίς κλάσεις, για τους λόγους που αναφέρει.
Επίσης για να μην υπάρχει παρεξήγηση, τα περί δυσκολίας δεν σημαίνουν ότι δεν πρέπει να υπάρξει προσπάθεια απλά πρέπει να είναι ξεκάθαρο στους μαθητές από την αρχή ότι πρόκειται για συλλογή ταλεντων για Ολυμπιάδες και όχι για γενικό διαγωνισμό ώστε να αποφευχθεί η απογοήτευση. Δηλ. αποτυχία στον διαγωνισμό αυτόν δεν σημαίνει ότι κάποιος δεν μπορεί να ασχοληθεί με αξιώσεις με την πληροφορική στο μέλλον.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

Νίκος Αδαμόπουλος

Παράθεση από: evry στις 04 Νοε 2018, 01:48:23 ΜΜ
Σχετικά με την ταξινόμηση τα παιδιά μπορούν να χρησιμοποιήσουν τη sort από την standard template library, η οποία είναι αρκετά γρήγορη και επιτρέπεται  :police:.

Η καλύτερη στρατηγική είναι να κάνεις C++ (χωρίς κλάσεις) και να χρησιμοποιήσεις STL για το διαγωνισμό.
Έχεις την ταχύτητα της C αλλά γλιτώνεις από πολλά πράγματα που θα χρειαζόσουν να εξηγήσεις όπως δυναμική εκχώρηση μνήμης/pointers (vs vectors/VLAa), printf/scanf (vs cin/cout)
Αν θέλεις όμως να ταξινομήσεις ζευγάρια τιμών (παράλληλους πίνακες που λέμε στη ΓΛΩΣΣΑ) θα χρειαστείς pair ή struct.
Νομίζω με pair είναι καλύτερα.
Αυτές είναι οι δικές μου παρατηρήσεις αν και έχω να ασχοληθώ με τον διαγωνισμό κάποια χρόνια.

H sort της STL είναι Ο(nlogn) και λειτουργεί και με τους κλασικούς πίνακες και με vectors.

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

Με τον ΠΔΠ είχα ασχοληθεί πιο παλιά με κάποιους μαθητές μου. Τα τελευταία 2-3 χρόνια τον παρακολουθώ πιο στενά λόγω της ενασχόλησης του γιου μου με αυτόν. Πράγματι τα τελευταία χρόνια είναι πιο δύσκολο να προκριθεί κάποιος στην τελική φάση. Θεωρώ ότι κατά ένα μέρος την ευθύνη έχουν κάποιοι συνάδελφοι, κυρίως ιδιωτικών σχολείων, που μάλλον πιέζονται ώστε να εμφανίσουν αποτελέσματα, οι οποίοι προσπαθούν να στείλουν στην τελική φάση δυσανάλογα μεγάλο αριθμό μαθητών τους υποβάλλοντας στις πρώτες φάσεις μαζικά την ίδια ουσιαστικά λύση. Επειδή όμως ο αριθμός διαγωνιζομένων στην τελική φάση είναι συγκεκριμένος, αυτό έχει ως αποτέλεσμα να μένουν απ' έξω μαθητές που απλά έτυχε να έχουν λίγο χειρότερο χρόνο.