Υπενθυμίζουμε ότι η μηδενική χρέωση μέσω κινητής τηλεφωνίας ισχύει για τις ιστοσελίδες που αναφέρονται στο
(δελτίο τύπου του ΥΠΑΙΘ), όπου περιλαμβάνονται τα Διαδραστικά Σχολικά Βιβλία ( e-books.edu.gr ), η κεντρική πύλη αναζήτησης ΦΩΤΟΔΕΝΤΡΟ ( photodentro.edu.gr ) και όλα τα Αποθετήρια Εκπαιδευτικών Πόρων Φωτόδεντρο ( photodentro.edu.gr/lor , photodentro.edu.gr/video , photodentro.edu.gr/edusoft , photodentro.edu.gr/ugc , photodentro.edu.gr/oep , photodentro.edu.gr/i-create ).
Η προβολή περιεχομένου που φιλοξενείται σε εξωτερικά αποθετήρια ή ιστοσελίδες εκτός των παραπάνω ή το άνοιγμα συνδέσμων που οδηγούν σε εξωτερικό περιεχόμενο δεν υπάγονται στη μηδενική χρέωση.
Το μάθημα για την Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον έχει ως σκοπό να αναπτύξουν οι μαθητές αναλυτική και συνθετική σκέψη, να αποκτήσουν ικανότητες μεθοδολογικού χαρακτήρα και να μπορούν να επιλύουν απλά προβλήματα σε προγραμματιστικό περιβάλλον. Το μάθημα έχει ως πρωταρχικό στόχο την ανάπτυξη δεξιοτήτων και ικανοτήτων σχετικών με την αλγοριθμική και την ορθολογική τους χρήση στην καθημερινή ζωή. Πολλές βασικές έννοιες αλγοριθμικής αλλά και προγραμματισμού συνιστούν αναπόσπαστο τμήμα των γενικών γνώσεων και δεξιοτήτων που πρέπει να αποκτήσει ο μαθητής.
Στόχοι του μαθήματος είναι, οι μαθητές:
Το πρόβλημα αποτελεί έννοια που απαντάται σε όλες τις επιστήμες και τους κλάδους τους, αλλά παράλληλα και στην καθημερινή μας ζωή. Τόσο η αντιμετώπιση, όσο και η διατύπωση ενός προβλήματος, αποτελούν διαδικασίες που απαιτούν ιδιαίτερες αναλυτικές και συνθετικές ικανότητες, ορθολογική σκέψη, αλλά και σωστό και εμπεριστατωμένο χειρισμό της φυσικής γλώσσας. Οι δεξιότητες που αποκτούνται από τους μαθητές μέσω της ενασχόλησής τους με την ανάλυση και τον ορισμό προβλημάτων, αποτελούν εφόδια γενικής χρηστικότητας, αφού μπορούν να λογίζονται σαν γνωστικά εργαλεία χρήσιμα για κάθε δραστηριότητα που είτε διαπερνά όλο το φάσμα των επιστημών, είτε αναφέρεται σε καθημερινές καταστάσεις.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Αρχικά εξηγείται ο όρος αλγόριθμος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληροί κάθε αλγόριθμος. Στη συνεχεία, η σπουδαιότητα των αλγορίθμων συνδυάζεται με την εξέλιξη της επιστήμης της Πληροφορικής. Η περιγραφή και αναπαράσταση των αλγορίθμων δίνεται αναλυτικά με χρήση των μεθόδων αναπαράστασης ελεύθερου κειμένου, διαγραμμάτων ροής, φυσικής γλώσσας και κωδικοποίησης με πρόγραμμα. Τα προγράμματα παρουσιάζονται με τη μορφή ψευδογλώσσας, που ορίζεται και τυποποιείται σε ένα σύνολο εντολών και προγραμματιστικών ακολουθιακών ενοτήτων. Στη συνέχεια, δίνονται παραδείγματα όπου εξετάζονται οι διάφορες συνιστώσες ενός αλγόριθμου, δηλαδή οι απαραίτητες εντολές που στηρίζουν το 'κτίσιμο' ενός αλγόριθμου. Συγκεκριμένα, παρουσιάζονται η δομή ακολουθίας, η δομή της επιλογής, οι επαναληπτικές διαδικασίες, οι διαδικασίες πολλαπλών επιλογών και οι εμφωλιασμένες διαδικασίες. Για κάθε τύπο συνιστώσας δίνονται αναλυτικά παραδείγματα σε φυσική γλώσσα, σε ακολουθία διαδοχικών βημάτων και σε μορφή διαγραμμάτων ροής.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Εκτός από τους αλγορίθμους, σημαντική έννοια για την Πληροφορική είναι και η έννοια των "δεδομένων". Τα δεδομένα αποθηκεύονται στον υπολογιστή με τη βοήθεια των λεγόμενων "δομών δεδομένων". Θεωρώντας τους αλγόριθμους και τις δομές δεδομένων μία αδιάσπαστη ενότητα μπορεί να λεχθεί, ότι η ενότητα αυτή τελικά αποτελεί τη βάση ενός προγράμματος, που επιλύει ένα πρόβλημα. Στο κεφάλαιο αυτό γίνεται μία εισαγωγή στις σπουδαιότερες δομές δεδομένων και τις αντίστοιχες πράξεις που μπορούμε να κάνουμε με αυτές, όπως είναι η αναζήτηση, η εισαγωγή και η εξαγωγή στοιχείων, καθώς και η ταξινόμηση.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Όταν μας δίνεται ένα πρόβλημα, και πριν ασχοληθούμε με την κωδικοποίηση και τον προγραμματισμό, πρέπει προκαταρκτικά να κάνουμε μία θεωρητική μελέτη του προβλήματος. Πιο συγκεκριμένα, μία καλή ιδέα είναι να προσπαθήσουμε να διαπιστώσουμε, αν το δεδομένο πρόβλημα μπορεί να αντιμετωπισθεί με βάση κάποιες γενικές μεθοδολογίες ανάπτυξης αλγορίθμων. Σκοπός του κεφαλαίου είναι η εισαγωγή στις μεθολογίες αυτές, που αποτελούν ένα σύνολο τεχνικών και βημάτων που πρέπει να ακολουθηθούν. Για κάθε μεθοδολογία θα δούμε παραδείγματα επίλυσης γνωστών και καθημερινών προβλημάτων.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Η καταγραφή των μεγεθών που επηρεάζουν την επίδοση ενός αλγορίθμου είναι μία σημαντική ενέργεια για την κατανόηση της αποδοτικότητας ενός αλγορίθμου. Για το σκοπό αυτό πρέπει να βρεθεί ποιά είναι η βασική λειτουργία και ποιά η δομή του αλγορίθμου, όπου δαπανώνται κυρίως οι υπολογιστικοί πόροι (δηλαδή, ο χρόνος). Η πολυπλοκότητα των αλγορίθμων, λοιπόν, περιγράφεται αναλυτικά και τυποποιούνται οι ορισμοί για τις κατηγορίες (τάξεις) πολυπλοκότητας των περισσοτέρων ειδών αλγορίθμων. Για μερικούς από τους αλγορίθμους, που γνωρίσαμε στα προηγούμενα κεφάλαια, γίνεται ανάλυση και εκφράζεται η πολυπλοκότητά τους και τέλος, γίνεται μια παρουσίαση των ειδών των αλγορίθμων.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Το κεφάλαιο αυτό ασχολείται με γενικές έννοιες που είναι απαραίτητες πριν από την ενασχόληση με τη διαδικασία του προγραμματισμού. Ορίζεται η έννοια του προγράμματος, παρουσιάζεται μία σύντομη ιστορία των γλωσσών προγραμματισμού και των ειδών προγραμματισμού, καθώς και οι τεχνικές που χρησιμοποιούνται για τη σωστή δημιουργία προγραμμάτων. Συγκεκριμένα παρουσιάζονται οι τεχνικές της ιεραρχικής σχεδίασης προγραμμάτων, του τμηματικού προγραμματισμού και κύρια οι αρχές του δομημένου προγραμματισμού. Επίσης περιγράφεται η διαδικασία που ακολουθείται από τη τη σύνταξη του προγράμματος μέχρι την τελική του εκτέλεση από τον υπολογιστή και τη λήψη των αποτελεσμάτων.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Κάθε γλώσσα προγραμματισμού, όπως αναφέρθηκε, έχει το δικό της λεξιλόγιο και τα προγράμματα της ακολουθούν αυστηρούς γραμματικούς και συντακτικούς κανόνες. Για τη δημιουργία σωστών προγραμμάτων είναι απαραίτητη η γνώση των εντολών και του τρόπου σύνταξης τους. Στο κεφάλαιο αυτό θα παρουσιαστούν τα βασικά στοιχεία της ΓΛΩΣΣΑΣ. Θα ασχοληθούμε με τους τύπους δεδομένων που υποστηρίζει, τα είδη των μεταβλητών της, τον τρόπο που υπολογίζονται οι παραστάσεις καθώς και τη δομή που πρέπει να ακολουθεί κάθε πρόγραμμα. Επίσης θα παρουσιαστούν οι βασικές εντολές της ΓΛΩΣΣΑΣ, η εντολή εκχώρησης τιμών σε μεταβλητές και οι εντολές εισόδου εξόδου, με τις οποίες το πρόγραμμα επικοινωνεί με το χρήστη.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Στο προηγούμενο κεφάλαιο αναπτύξαμε προγράμματα, τα οποία ήταν πολύ απλά και οι εντολές των οποίων εκτελούνται η μία μετά την άλλη. Αυτή η σειριακή εκτέλεση των εντολών είναι κατάλληλη όμως μόνο για πολύ απλά προγράμματα, τα οποία εισάγουν δεδομένα, τα επεξεργάζονται και τυπώνουν το αποτέλεσμα, χωρίς να υπάρχει η δυνατότητα της επιλεκτικής εκτέλεσης τμημάτων του προγράμματος, σύμφωνα με την τιμή κάποιων δεδομένων ή την επανάληψη τμημάτων του προγράμματος. Όπως έχουμε αναφέρει οι τρεις βασικές δομές, είναι η δομή της ακολουθίας, της επιλογής και της επανάληψης. Οι δομές αυτές αποτελούν τη βάση του δομημένου προγραμματισμού και με τη χρήση αυτών μπορούν να υλοποιηθούν όλα τα προγράμματα υπολογιστών. Στο κεφάλαιο αυτό θα ασχοληθούμε με τις δύο αυτές βασικές δομές της επιλογής και της επανάληψης που θα μας επιτρέψουν την συγγραφή πληρέστερων και πιο πολύπλοκων προγραμμάτων.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Η χρήση των μεταβλητών με δείκτες στην άλγεβρα είναι ένας ιδιαίτερα δυναμικός τρόπος για τη διαχείριση μεγάλου αριθμού δεδομένων ιδίου τύπου. Οι γλώσσες προγραμματισμού, δανείζονται την έννοια των μεταβλητών με δείκτες και χρησιμοποιούν τους πίνακες για τον ίδιο λόγο. Στο κεφάλαιο αυτό παρουσιάζονται οι έννοιες του πίνακα καθώς και οι βασικοί τρόποι επεξεργασίας τους από τη ΓΛΩΣΣΑ. Παρουσιάζονται οι μονοδιάστατοι καθώς και οι πολυδιάστατοι πίνακες, ο τρόπος με τον οποίο ορίζονται και χρησιμοποιούνται και τέλος συζητούνται οι πλέον κοινές διαδικασίες πάνω σε πίνακες, η εύρεση μεγίστου και ελαχίστου, η αναζήτηση, η ταξινόμηση και η συγχώνευση πινάκων.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Η επίλυση ενός προβλήματος διευκολύνεται με τη διαίρεση του σε μικρότερα υποπροβλήματα. Η επίλυση των υποπροβλημάτων αυτών οδηγεί στην επίλυση του αρχικού προβλήματος. Ο τμηματικός προγραμματισμός, η διαίρεση δηλαδή ενός προγράμματος σε υποπρογράμματα υλοποιεί αυτήν την ιδέα στον προγραμματισμό. Το κεφάλαιο αυτό ασχολείται με τις αρχές του τμηματικού προγραμματισμού, τα είδη των υποπρογραμμάτων που υποστηρίζει η ΓΛΩΣΣΑ, τις διαδικασίες και τις συναρτήσεις καθώς και τον τρόπο που τα υποπρογράμματα αυτά επικοινωνούν μεταξύ τους. Τέλος παρουσιάζεται και αναλύεται ο τρόπος υλοποίησης αναδρομικών αλγορίθμων με χρήση αναδρομικών υποπρογραμμάτων.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Η ανάγκη δημιουργίας σύγχρονων περιβαλλόντων εργασίας, προσανατολισμένων στη φιλικότητα επικοινωνίας με τον χρήστη, έφερε δραστικές αλλαγές στον προγραμματισμό και τα προγραμματιστικά εργαλεία. Σε ένα σύγχρονο προγραμματιστικό περιβάλλον οι έννοιες του αντικειμενοστραφούς, του οδηγούμενου από γεγονότα προγραμματισμού και της οπτικής σχεδίασης είναι βασικά χαρακτηριστικά. Παρέχονται μια σειρά από γραφικά εργαλεία για την πλήρη υποστήριξη και ευκολότερη και ταχύτερη ανάπτυξη προγραμμάτων. Ιδιαίτερο γνώρισμα των περιβαλλόντων αυτών είναι η έμφαση που δίνεται στο γραφικό περιβάλλον και στην επικοινωνία της εφαρμογής με το χρήστη. Ακόμη οι εφαρμογές δεν είναι απομονωμένες, αλλά συνεργάζονται με άλλες εφαρμογές και ετερογενή περιβάλλοντα.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Το θέμα της σχεδίασης του τρόπου με τον οποίο ένα τμήμα λογισμικού έρχεται σε επαφή με το χρήστη είναι πρωταρχικής σημασίας. Οι υπολογιστικές ή οποιουδήποτε άλλου είδους ικανότητες που έχει το σύστημα, καθώς και οι χρηστικές δυνατότητες που παρέχει, μπορεί πολύ εύκολα να υποτιμηθούν και να μείνουν αναξιοποίητες αν η διεπαφή χρήστη (user interface) της εφαρμογής δεν είναι προσεκτικά σχεδιασμένη και υλοποιημένη. Οι αρχές εργονομίας, υλικού και λογισμικού, καθορίζουν εκείνες τις προδιαγραφές που θα πρέπει να ακολουθούνται ώστε να επιτυγχάνεται από την μια μεριά ελαχιστοποίηση της καταπόνησης του χρήστη και από την άλλη μεγιστοποίηση της ωφελιμότητας από την χρήση του συστήματος. Θα πρέπει να γίνει κατανοητό πως ο τρόπος επικοινωνίας του συστήματος με το χρήστη είναι εξ ίσου σημαντικός με το ίδιο το περιεχόμενο του.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Ανεξάρτητα από το πόσο προσεκτικά έχει γράψει κάποιος ένα πρόγραμμα, τις περισσότερες φορές απρόβλεπτες καταστάσεις, κακός χειρισμός ή λογικά λάθη στο σχεδιασμό των προγραμμάτων, οδηγούν στην εμφάνιση λαθών. Τα λάθη που παρουσιάζονται κατά την εκτέλεση ενός προγράμματος, μερικές φορές μπορεί να είναι ασήμαντα, όπως για παράδειγμα ή εσφαλμένη στοίχιση των αποτελεσμάτων. Άλλες φορές όμως μπορεί να είναι ιδιαίτερα κρίσιμα, ώστε να οδηγούν στην κατάρρευση των εφαρμογών ή του συστήματος. Ένα πρόγραμμα πριν παραδοθεί για πραγματική λειτουργία, πρέπει να ελέγχεται και να είναι βέβαιο ότι εργάζεται απρόσκοπτα και παράγει σωστά αποτελέσματα. Κάθε προγραμματιστής οφείλει κατά τη φάση της υλοποίησης, να δοκιμάζει λεπτομερώς το πρόγραμμα σε διαφορετικές συνθήκες και με ποικιλία δεδομένων, να διορθώνει όποια λάθη παρουσιαστούν και να συγκρίνει τα παραγόμενα αποτελέσματα με τα αναμενόμενα, ώστε να προλαμβάνει απρόσμενες καταστάσεις λάθους, πριν εμφανιστούν σε πραγματική λειτουργία.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:
Η αξιολόγηση είναι το τελευταίο στάδιο στην παραγωγή ενός προγράμματος. Σ' αυτό το κεφάλαιο θα αναφέρουμε τα κριτήρια βάση των οποίων αξιολογείται ένα πρόγραμμα, θα δώσουμε διάφορα παραδείγματα και θα απαντήσουμε ερωτήσεις όπως "γιατί αυτή η λύση είναι προτιμότερη από την άλλη", στηρίζοντας την απόφασή μας σε αυτά τα κριτήρια. Θα συζητήσουμε την αναγκαιότητα, τη σημασία, το σκοπό και τις κατηγορίες της τεκμηρίωσης, καθώς και τη σημασία της κατά φάση συντήρησης του προγράμματος. Θα δώσουμε οδηγίες για την σύνταξη ενός VTOC (Visual Table Of Contains), μιας διαγραμματικής τεχνικής που χρησιμοποιείται στην τεκμηρίωση ενός προγράμματος. Θα συζητήσουμε για τις φάσεις ανάπτυξης ενός προγράμματος και θα δούμε πως σχετίζονται με τις φάσεις του κύκλου ζωής ενός προγράμματος.
Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε: