φωτογραφία φόντου

ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΣΤΟΧΟΙ

Περιγραφη

­  ­­­­­­­

Το μάθημα για την Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον έχει ως σκοπό να αναπτύ­ξουν οι μαθητές αναλυτική και συνθετική σκέψη, να αποκτήσουν ικανότητες μεθοδολογικού χαρακτήρα και να μπορούν να επιλύουν απλά προβλήματα σε προγραμματιστικό περιβάλλον. Το μάθημα έχει ως πρωταρχικό στόχο την ανάπτυξη δεξιοτήτων και ικανοτήτων σχετικών με την αλγοριθμική και την ορθολογική τους χρήση στην καθημερινή ζωή. Πολλές βασικές έννοιες αλγοριθμικής αλλά και προγραμματισμού συνιστούν αναπόσπαστο τμήμα των γενικών γνώσεων και δεξιοτήτων που πρέπει να αποκτήσει ο μαθητής.

Αναλυτικο Προγραμμα

Για το ισχύον αναλυτικό πρόγραμμα του μαθήματος, μεταβείτε στην αντίστοιχη ενότητα ακολουθώντας τον σύνδεσμο 'Προγράμματα Σπουδών'.

Στοχοι

­­Στόχοι του μαθήματος είναι, οι μαθητές:­

  • να αναπτύξουν αναλυτική και συνθετική σκέψη
  • να αποκτήσουν ικανότητες ­μεθοδολογικού χαρακτήρα
  • να μπορούν να επιλύουν απλά προβλήματα σε προγραμματιστικό περιβάλλον­

ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΣΤΟΧΟΙ ΑΝΑ ΕΝΟΤΗΤΑ ΜΑΘΗΜΑΤΟΣ

Κεφάλαιο 1: Ανάλυση προβλήματος

­­

­  ­­

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

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

  • να μπορούν καταρχήν οι μαθητές να κατανοούν πλήρως τα προ­βλήματα που τους τίθενται
  • να μπορούν στη συνέχεια να προσδιορίζουν τα συστατικά μέρη ενός προβλήματος
  • να μπορούν να αναλύουν ένα πρόβλημα σε άλλα απλούστερα
  • να καταστούν ικανοί να προσδιορίζουν τα δεδομένα που τους παρέχονται για την αντιμετώπιση του προβλήματος
  • να μπορούν να προσδιορίζουν τα ζητούμενα αποτελέσματα και τη μορφή απόδοσής τους
  • να είναι σε θέση να θέσουν οι ίδιοι προβλήματα διατυπώνοντάς τα με ακρίβεια και πληρότητα

­
Βασικοί Όροι: Πρόβλημα, ανάλυση, σύνθεση, συστατικά προβλήματος, δεδομένα, αποτελέσματα.

Κεφάλαιο 2: Βασικές έννοιες αλγορίθμων

­­  ­­­

­Αρχικά εξηγείται ο όρος αλγόριθμος και παραθέτονται τα σπουδαιότερα κ­ριτήρια που πρέπει να πληροί κάθε αλγόριθμος. Στη συνεχεία­, η σπουδαιότητα των αλγ­ορίθμων συνδυάζεται με την εξέλιξη της επιστήμης της Πληροφορικής. Η περιγραφή και αναπαράσταση των αλγορίθμων δίνεται αναλυτικά με χρήση των μεθόδων αναπαράστασης ελεύθερου κειμένου, διαγραμμάτων ροής, φυσικής γλώσσας και κωδικοποίησης με πρόγραμμα. Τα προγράμματα παρουσιάζονται με τη μορφή ψευδογλώσσας, που ορίζεται και τυποποιείται σε ένα σύνολο εντολών και προγραμματιστικών ακολουθιακών ενοτήτων. Στη συνέχεια, δίνονται παραδείγματα όπου εξετάζονται οι διάφορες συνιστώσες ενός αλγόριθμου, δηλαδή οι απαραίτητες εντολές που στηρίζουν το 'κτίσιμο' ενός αλγόριθμου. Συγκεκριμένα, παρουσιάζονται η δομή ακολουθίας, η δομή της επιλογής, οι επαναληπτικές διαδικασίες, οι διαδικασίες πολλαπλών επιλογών και οι εμφωλιασμένες διαδικασίες. Για κάθε τύπο συνιστώσας δίνονται αναλυτικά παραδείγματα σε φυσική γλώσσα, σε ακολουθία διαδοχικών βημάτων και σε μορφή διαγραμμάτων ροής.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

  • ­να διατυπώνουν την έννοια του αλγορίθμου,
  • να αιτιολογούν τη σπουδαιότητα των αλγορίθμων,
  • να τεκμηριώνουν την αναγκαιότητα της αλγοριθμικής προσέγγισης κατά τη διαδικασία επίλυσης προβλημάτων,
  • να εφαρμόζουν τυποποιημένη επίλυση με αλγοριθμικές διαδικασίες,
  • να μπορούν να σχεδιάζουν αλγόριθμους με χρήση συγκεκριμένων τεχνικών.
Βασικοί Όροι: Αλγόριθμος, διάγραμμα ροής, φυσική γλώσσα, κωδικοποίηση, πρόγραμμα, ψευδογλώσσα, δομή ακολουθίας, δομή επιλογής, επαναληπτική διαδικασία, εμφωλιασμένες διαδικασίες.

Κεφάλαιο 3: Δομές δεδομένων και αλγόριθμοι

­ 

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

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

  • να αιτιολογούν τη σπουδαιότητα των δεδομένων για την επίλυση ενός προβλήματος,
  • να επισημαίνουν την αδιάσπαστη ενότητα αλγόριθμων και δομών δεδομένων,
  • να εκτελούν γενικές ασκήσεις και ασκήσεις αναζήτησης και ταξινόμησης με χρήση της δομής του πίνακα,
  • να ορίζουν τις δομές της στοίβας και της ουράς με τις αντίστοιχες λειτουργίες,
  • να ορίζουν την έννοια της αναδρομής και να εκτελούν απλές σχετικές ασκήσεις,
  • να γνωρίζουν τις δομές της λίστας και του δένδρου.
Βασικοί Όροι: Δεδομένα, δομές δεδομένων, βάση προγράμματος, αναζήτηση στοιχείων, εισαγωγή στοιχείων, εξαγωγή στοιχείων, ταξινόμηση στοιχείων.

Κεφάλαιο 4: Τεχνικές σχεδίασης αλγορίθμων

­­  ­­­

­Όταν μας δίνεται ένα πρόβλ­ημα, και πριν ασχοληθούμε με την κωδικοποίηση και τον προγραμμα­τισμό, πρέπει προκαταρκτικά να κάνουμε μία θεωρητική ­μελέτη του προβλήματος. Πιο συγκεκριμένα, μία καλή ιδέα είναι να προσπαθήσουμε να διαπιστώσουμε, αν το δεδομένο πρόβλημα μπορεί να αντιμετωπισθεί με βάση κάποιες γενικές μεθοδολογίες ανάπτυξης αλγορίθμων. Σκοπός του κεφαλαίου είναι η εισαγωγή στις μεθολογίες αυτές, που αποτελούν ένα σύνολο τεχνικών και βημάτων που πρέπει να ακολουθηθούν. Για κάθε μεθοδολογία θα δούμε παραδείγματα επίλυσης γνωστών και καθημερινών προβλημάτων.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

  • να τεκμηριώνουν την αναγκαιότητα ανάλυσης των προβλημάτων και σχεδίασης των κατάλληλων αλγορίθμων,
  • να μπορούν να καταγράφουν την ακολουθία βημάτων για την ανάλυση των αλγορίθμων,
  • να διατυπώνουν σύγχρονες τεχνικές σχεδίασης αλγορίθμων,
  • να περιγράφουν τις κυριότερες προσεγγίσεις επίλυσης και ανάλυσης προβλημάτων,
  • να επιλύουν προβλήματα με χρήση των κυριοτέρων προσεγγίσεων.
Βασικοί Όροι: Μεθοδολογία ανάπτυξης, τεχνικές ανάπτυξης αλγορίθμων.

Κεφάλαιο 5: Ανάλυση αλγορίθμων

­

­­  ­­­­

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

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

  • να περιγράφουν τις τεχνικές ανάλυσης των αλγορίθμων,
  • να μετρούν τη επίδοση των αλγορίθμων,
  • να αντιπαραβάλλουν αλγόριθμους με βάση τυποποιημένους κανόνες επιλογής,
  • να μπορούν να ελέγχουν την ορθότητα των αλγορίθμων,
  • να διατυπώνουν την έννοια της πολυπλοκότητας των αλγορίθμων,
  • να συνοψίζουν τα κυριότερα είδη αλγορίθμων.
Βασικοί Όροι: Αλγόριθμος, αποδοτικότητα αλγορίθμου, υπολογιστικός πόρος, πολυπλοκότητα αλγορίθμου, ορθότητα αλγορίθμου.

Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό

­  ­­­

­Το κεφάλαιο αυτό ασχολείται με γενικές έννοιες που είναι απαραίτητες πριν από την ενασχόληση με τη διαδικασία του­ προγραμματισμού. Ορίζεται η έννοια του προγράμματος, παρουσιάζεται μία σύντομη ιστορία­ των γλωσσών προγραμματισμού και των ειδών προγραμματισμού, καθώς και οι τεχνικές που χρησιμοποιούνται για τη σωστή δημιουργία προγραμμάτων. Συγκεκριμένα παρουσιάζονται οι τεχνικές της ιεραρχικής σχεδίασης προγραμμάτων, του τμηματικού προγραμματισμού και κύρια οι αρχές του δομημένου προγραμματισμού. Επίσης περιγράφεται η διαδικασία που ακολουθείται από τη τη σύνταξη του προγράμματος μέχρι την τελική του εκτέλεση από τον υπολογιστή και τη λήψη των αποτελεσμάτων.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

  • ­να ορίζει τι είναι πρόγραμμα και να κατατάσσει και να συγκρίνει τις γλώσσες προγραμματισμού.
  • να αναγνωρίζει τα κυριότερα είδη προγραμματισμού και να περιγράφει τα βασικά χαρακτηριστικά των τεχνικών που χρησιμοποιούνται.
  • να διατυπώνει τα πλεονεκτήματα του δομημένου προγραμματισμού.
  • να περιγράφει τη διαδικασία εκτέλεσης ενός προγράμματος.
  • να αναφέρει τα βασικά προγράμματα που περιέχει ένα προγραμματιστικό περιβάλλον.
Βασικοί Όροι: Προγραμματισμός, γλώσσα προγραμματισμού, ιεραρχική σχεδίαση προγράμματος, τμηματικός προγραμματισμός, δομημένος προγραμματισμός, σύνταξη προγράμματος.

Κεφάλαιο 7: Βασικές έννοιες προγραμματισμού

­  ­­­

­Κάθε γλώσσα προγραμματισμού, όπως αναφέρθηκε, έχει το δικό τ­ης λεξιλόγιο και τα πρ­ογράμματα της ακολουθούν αυσ­τηρούς γραμματικούς και συντακτικούς κανόνες. Για τη δημιουργία σωστών προγραμμάτων είναι απαραίτητη η γνώση των εντολών και του τρόπου σύνταξης τους. Στο κεφάλαιο αυτό θα παρουσιαστούν τα βασικά στοιχεία της ΓΛΩΣΣΑΣ. Θα ασχοληθούμε με τους τύπους δεδομένων που υποστηρίζει, τα είδη των μεταβλητών της, τον τρόπο που υπολογίζονται οι παραστάσεις καθώς και τη δομή που πρέπει να ακολουθεί κάθε πρόγραμμα. Επίσης θα παρουσιαστούν οι βασικές εντολές της ΓΛΩΣΣΑΣ, η εντολή εκχώρησης τιμών σε μεταβλητές και οι εντολές εισόδου εξόδου, με τις οποίες το πρόγραμμα επικοινωνεί με το χρήστη.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

  • να διακρίνει τις σταθερές από τις μεταβλητές.
  • να αναγνωρίζει τους διάφορους τύπους μεταβλητών.
  • να μετατρέπει τις αριθμητικές πράξεις σε εντολές προγράμματος.
  • να διατυπώνει τη δομή ενός προγράμματος.
  • να συντάσσει απλά προγράμματα, τα οποία εισάγουν δεδομένα, τα επεξεργάζονται και εμφανίζουν τα αποτελέσματα στην οθόνη.
Βασικοί Όροι: Γλώσσα προγραμματισμού, σύνταξη προγράμματος, τύπος δεδομένων, είδη μεταβλητών, εντολές γλώσσας, εκχώρηση τιμών, εντολές εισόδου και εξόδου, δομή προγράμματος.

Κεφάλαιο 8: Επιλογή και επανάληψη

­

­  ­­­­

­Στο προηγούμενο κεφάλαιο αναπτύξαμε προγράμμα­τα, τα οποία ήταν πολύ απλά και οι εντολές των οποίων εκτελούνται η μία μετά την άλλη. Α­υτή η σειριακή εκτέλεση των εντολών είναι κατάλληλη όμως μόνο για πολύ απλά προγράμματα, τα οποία εισάγουν δεδομένα, τα επεξεργάζονται και τυπώνουν το αποτέλεσμα, χωρίς να υπάρχει η δυνατότητα της επιλεκτικής εκτέλεσης τμημάτων του προγράμματος, σύμφωνα με την τιμή κάποιων δεδομένων ή την επανάληψη τμημάτων του προγράμματος. Όπως έχουμε αναφέρει οι τρεις βασικές δομές, είναι η δομή της ακολουθίας, της επιλογής και της επανάληψης. Οι δομές αυτές αποτελούν τη βάση του δομημένου προγραμματισμού και με τη χρήση αυτών μπορούν να υλοποιηθούν όλα τα προγράμματα υπολογιστών. Στο κεφάλαιο αυτό θα ασχοληθούμε με τις δύο αυτές βασικές δομές της επιλογής και της επανάληψης που θα μας επιτρέψουν την συγγραφή πληρέστερων και πιο πολύπλοκων προγραμμάτων.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

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

Κεφάλαιο 9: Πίνακες

­­  ­­­

­Η χρήση των μεταβλητών με δείκτες στην άλγεβρα είναι ένας ιδιαίτερα δυ­ναμικός τρόπος για τη διαχείριση μεγάλ­ου αριθμού δεδομένων ιδίου τύπου. Οι γλώσσες προγραμματισμού, δανείζονται την έννοια των μεταβλητών με δείκτες και χρησιμοποιούν τους πίνακες για τον ίδιο λόγο. Στο κεφάλαιο αυτό παρουσιάζονται οι έννοιες του πίνακα καθώς και οι βασικοί τρόποι επεξεργασίας τους από τη ΓΛΩΣΣΑ. Παρουσιάζονται οι μονοδιάστατοι καθώς και οι πολυδιάστατοι πίνακες, ο τρόπος με τον οποίο ορίζονται και χρησιμοποιούνται και τέλος συζητούνται οι πλέον κοινές διαδικασίες πάνω σε πίνακες, η εύρεση μεγίστου και ελαχίστου, η αναζήτηση, η ταξινόμηση και η συγχώνευση πινάκων.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

  • να είναι σε θέση ο μαθητής Να επιλέγει το είδος του πίνακα,
  • να ορίζει τους πίνακες σε ένα πρόγραμμα,
  • να εισάγει, να επεξεργάζεται και να τυπώνει τα στοιχεία ενός πίνακα,
  • να αποφασίζει αν είναι απ­αραίτητη η χρήση πίνακα,
  • να αναφέρει τις βασικές επεξεργασίες σε ένα πίνακα,
  • να αναζητά και να ταξινομεί τα στοιχεία ενός πίνακα.
Βασικοί Όροι: Πίνακες, δείκτες, τρόπος επεξεργασίας πίνακα, μονοδιάστατος πίνακας, πολυδιάστατος πίνακας, εύρεση μεγίστου, εύρεση ελαχίστου, αναζήτηση στοιχείου, ταξινόμηση πίναkα, συγχώνευση πίνακα.

Κεφάλαιο 10: Υποπρογράμματα

­­  ­­­

­Η επίλυση ενός προβλήματος διευκολύνεται με τη διαίρεση του σε μικρότερα υποπροβλήματα. Η επίλυση των υποπροβλημάτων­ αυτών οδηγεί στην επίλυση του αρχικο­ύ προβλήματος. Ο τμηματ­ικός προγραμματισμός, η διαίρεση δηλαδή ενός προγράμματος σε υποπρογράμματα υλοποιεί αυτήν την ιδέα στον προγραμματισμό. Το κεφάλαιο αυτό ασχολείται με τις αρχές του τμηματικού προγραμματισμού, τα είδη των υποπρογραμμάτων που υποστηρίζει η ΓΛΩΣΣΑ, τις διαδικασίες και τις συναρτήσεις καθώς και τον τρόπο που τα υποπρογράμματα αυτά επικοινωνούν μεταξύ τους. Τέλος παρουσιάζεται και αναλύεται ο τρόπος υλοποίησης αναδρομικών αλγορίθμων με χρήση αναδρομικών υποπρογραμμάτων.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

  • να αναλύει ένα σύνθετο πρόγραμμα σε απλά υποπρογράμματα.
  • να διακρίνει τις συναρτήσεις από τις διαδικασίες και να επιλέγει τη χρήση διαδικασίας ή συνάρτησης για την υλοποίηση ενός υποπρογράμματος.
  • να περιγράφει τη δομή των υποπρογραμμάτων και να χρησιμοποιεί παραμέτρους για την επικοινωνία τους.
  • να καθορίζει τις περιοχές εμβέλειας των παραμέτρων.
  • να συντάσσει αναδρομικά υποπρογράμματα και να συγκρίνει αναδρομικές και επαναληπτικές διαδικασίες.
Βασικοί Όροι: Υποπροβλήματα, υποπρογράμματα, τμηματικός προγραμματισμός, διαδικασίες, συναρτήσεις, αναδρομικός αλγόριθμος.

Κεφάλαιο 11: Σύγχρονα προγραμματιστικά περιβάλλοντα

­­  ­­­

­Η ανάγκη δημιουργίας σύγχρονων περιβαλλόντων εργασίας, προσανατολισμέν­ων στη φιλικότητα επικοινωνίας με τον­ χρήστη, έφερε δραστικές αλλαγές στον προγραμματισμό και τα προγραμματιστικά εργαλεία. Σε ένα σύγχρονο προγραμματιστικό περιβάλλον οι έννοιες του αντικειμενοστραφούς, του οδηγούμενου από γεγονότα προγραμματισμού και της οπτικής σχεδίασης είναι βασικά χαρακτηριστικά. Παρέχονται μια σειρά από γρα­φικά εργαλεία για την πλήρη υποστήριξη και ευκολότερη και ταχύτερη ανάπτυξη προγραμμάτων. Ιδιαίτερο γνώρισμα των περιβαλλόντων αυτών είναι η έμφαση που δίνεται στο γραφικό περιβάλλον και στην επικοινωνία της εφαρμογής με το χρήστη. Ακόμη οι εφαρμογές δεν είναι απομονωμένες, αλλά συνεργάζονται με άλλες εφαρμογές και ετερογενή περιβάλλοντα.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

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

Κεφάλαιο 12: Σχεδίασης διεπαφής χρήστη

­  ­­­

­Το θέμα της σχεδίασης του τρόπου με τον οποίο ένα τμήμα λογισμικού έρχεται σε επαφή με το χρήστη είναι πρωταρχικής σημασίας.­ Οι υ­πολογιστικές ή οποιουδήποτε άλλου είδους ικανότητες που έχει το σύστημα, καθώς και οι χρηστικές δυνατότητες που παρέχει, μπορεί πολύ εύκολα να υποτιμηθούν και να μείνουν αναξιοποίητες αν η διεπαφή χρήστη (user interface) της εφαρμογής δεν είναι προσεκτικά σχεδιασμένη και υλοποιημ­ένη. Οι αρχές εργονομίας, υλικού και λογισμικού, καθορίζουν εκείνες τις προδιαγραφές που θα πρέπει να ακολουθούνται ώστε να επιτυγχάνεται από την μια μεριά ελαχιστοποίηση της καταπόνησης του χρήστη και από την άλλη μεγιστοποίηση της ωφελιμότητας από την χρήση του συστήματος. Θα πρέπει να γίνει κατανοητό πως ο τρόπος επικοινωνίας του συστήματος με το χρήστη είναι εξ ίσου σημαντικός με το ίδιο το περιεχόμενο του.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

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

Κεφάλαιο 13: Εκσφαλμάτωση προγράμματος

­­  ­­­

­Ανεξάρτητα από το πόσο προσεκτικά­ έχει γράψει κάποιος ένα πρόγραμμα, τις περισσότερες φορές απρόβλεπτες καταστάσεις, κακός χε­ιρισμός ή λογικά λάθη στο σχεδιασμό των προγραμμάτων, οδηγούν στην εμφάνιση λαθών. Τα λάθη που παρουσιάζονται κατά την εκτέλεση ενός προγράμματος, μερικές φορές μπορεί να είναι ασήμαντα, όπως για παράδειγμα ή εσφαλμένη στοίχιση των αποτελεσμάτων. Άλλες φορές όμως μπορεί να είναι ιδιαίτ­ερα κρίσιμα, ώστε να οδηγούν στην κατάρρευση των εφαρμογών ή του συστήματος. Ένα πρόγραμμα πριν παραδοθεί για πραγματική λειτουργία, πρέπει να ελέγχεται και να είναι βέβαιο ότι εργάζεται απρόσκοπτα και παράγει σωστά αποτελέσματα. Κάθε προγραμματιστής οφείλει κατά τη φάση της υλοποίησης, να δοκιμάζει λεπτομερώς το πρόγραμμα σε διαφορετικές συνθήκες και με ποικιλία δεδομένων, να διορθώνει όποια λάθη παρουσιαστούν και να συγκρίνει τα παραγόμενα αποτελέσματα με τα αναμενόμενα, ώστε να προλαμβάνει απρόσμενες καταστάσεις λάθους, πριν εμφανιστούν σε πραγματική λειτουργία.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

  • να αναγνωρίζουν ένα λάθος,
  • να ορίζουν τις κατηγορίες λάθους,
  • να αναφέρουν εργαλεία εκσφαλμάτωσης και τον τρόπο χειρισμού τους,
  • να εφαρμόζουν τις τεχνικές χειρισμού λαθών κατά το χρόνο εκτέλεσης.
Βασικοί Όροι: Απρόβλεπτη κατάσταση, λογικό λάθος, κατάρρευση εφαρμογής, κατάρρευση συστήματος, δοκιμασία προγράμματος, απρόσμενες καταστάσεις λάθους.

Κεφάλαιο 14: Αξιολόγηση - Τεκμηρίωση

­  ­­­

­Η αξιολόγηση είναι το τελευτα­ίο στάδιο στην παραγωγή ενός προγράμματος. Σ' αυτό το κεφάλαιο θα αναφέρουμε τα κριτήρ­ια βάση τ­ων οπο­ίων αξιολογείται ένα πρόγραμμα, θα δώσουμε διάφορα παραδείγματα και θα απαντήσουμε ερωτήσεις όπως "γιατί αυτή η λύση είναι προτιμότερη από την άλλη", στηρίζοντας την απόφασή μας σε αυτά τα κριτήρια. Θα συζητήσουμε την αναγκαιότητα, τη σημασία, το σκοπό και τις κατηγορίες της τεκμηρίωσης, καθώς και τη σημασία της κατά φάση συντήρησης του προγράμματος. Θα δώσουμε οδηγίες για την σύνταξη ενός VTOC (Visual Table Of Contains), μιας διαγραμματικής τεχνικής που χρησιμοποιείται στην τεκμηρίωση ενός προγράμματος. Θα συζητήσουμε για τις φάσεις ανάπτυξης ενός προγράμματος και θα δούμε πως σχετίζονται με τις φάσεις του κύκλου ζωής ενός προγράμματος.

Διδακτικοί στόχοι του κεφαλαίου αυτού είναι η γνωσιακή ενδυνάμωση των μαθητών ώστε:

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