Μελέτη των Δυσκολιών των Φοιτητών για την Έννοια του «Αντικειμένου» στον Αντικειμενοστραφή Προγραμματισμό

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Μελέτη των Δυσκολιών των Φοιτητών για την Έννοια του «Αντικειμένου» στον Αντικειμενοστραφή Προγραμματισμό"

Transcript

1 Μελέτη των Δυσκολιών των Φοιτητών για την Έννοια του «Αντικειμένου» στον Αντικειμενοστραφή Προγραμματισμό Στ. Ξυνόγαλος Τμήμα Διοίκησης Τεχνολογίας Πανεπιστήμιο Μακεδονίας Περίληψη Η διδασκαλία και η εκμάθηση των αρχών του αντικειμενοστραφούς προγραμματισμού, όπως προκύπτει από σχετικές μελέτες, παρουσιάζει αρκετές δυσκολίες. Στην παρούσα εργασία παρουσιάζονται οι δυσκολίες προπτυχιακών φοιτητών που αφορούν σε μια θεμελιώδη έννοια του αντικειμενοστραφούς προγραμματισμού την έννοια του αντικειμένου. Τα αποτελέσματα βασίζονται σε μια γραπτή εξέταση που πραγματοποιήθηκε στο πλαίσιο ενός μαθήματος αντικειμενοστραφούς προγραμματισμού που χρησιμοποιεί το εκπαιδευτικό προγραμματιστικό περιβάλλον BlueJ. Η διδακτική προσέγγιση που υιοθετήθηκε είναι αυτή των δημιουργών του περιβάλλοντος, με ορισμένες ουσιαστικές παρεμβάσεις που έγιναν μετά την πρώτη εφαρμογή και αξιολόγηση της διδασκαλίας. Λέξεις κλειδιά: αντικειμενοστραφής προγραμματισμός, εκπαιδευτικό προγραμματιστικό περιβάλλον, διδακτική προσέγγιση. Abstract Teaching and learning object-oriented programming (OOP), according to relevant studies, is accompanied with several difficulties. In this paper we present the difficulties of undergraduate students that refer to a fundamental concept for OOP the concept of object. The results are based on a written exam that took place in the context of an OOP course that uses the educational programming environment of BlueJ. The didactic approach adopted was that of the creators of the environment, with some important interventions which took place after the first application and evaluation of the teaching. Keywords: object-oriented programming, educational programming environment, didactic approach. 1. Εισαγωγή Οι δυσκολίες που αντιμετωπίζουν οι σπουδαστές κατά την εισαγωγή τους στον αντικειμενοστραφή προγραμματισμό έχουν αποτελέσει αντικείμενο μελέτης πολλών ερευνητών (Carter & Fowler, 1998; Fleury, 2000; Hristova, 2003; Topor, 2002; Truong et al., 2004; Ziring, 2001). Ορισμένες από τις δυσκολίες αυτές φαίνεται να είναι εγγενείς στην εκμάθηση των αρχών του αντικειμενοστραφούς προγραμματισμού, ενώ άλλες δεν έχουν τόσο έντονο χαρακτήρα. Ο βαθμός

2 92 4 ο Πανελλήνιο Συνέδριο Διδακτική της Πληροφορικής εμφάνισης τους μάλιστα σε μια διδασκαλία αποτελεί σε κάποιο βαθμό μέτρο αξιολόγησης της διδακτικής αποτελεσματικότητας της. Μια δημοφιλής διδακτική προσέγγιση που φαίνεται να υιοθετούν αρκετοί διδάσκοντες είναι εκείνη που βασίζεται στο εκπαιδευτικό προγραμματιστικό περιβάλλον BlueJ (Kölling et al., 2003), τις διδακτικές οδηγίες που έχουν διατυπώσει οι δημιουργοί του (Kölling & Rosenberg, 2001) και - σε ορισμένες περιπτώσεις - το συνοδευτικό βιβλίο Objects First with Java: A practical introduction using BlueJ (Barnes & Kölling, 2004). Στην παρούσα εργασία παρουσιάζονται τα αποτελέσματα ενός μαθήματος εισαγωγής στον αντικειμενοστραφή προγραμματισμό που βασίζεται στη σειρά μαθημάτων που προτείνουν οι Barnes και Kölling στο βιβλίο τους (Barnes & Kölling, 2004) και στο εκπαιδευτικό προγραμματιστικό περιβάλλον BlueJ. Συγκεκριμένα, παρουσιάζονται οι δυσκολίες των φοιτητών που σχετίζονται με τη θεμελιώδη έννοια του αντικειμένου σε συνδυασμό με σχετικά αποτελέσματα που καταγράφονται στη βιβλιογραφία. 2. Περιγραφή της διδακτικής προσέγγισης Το περιβάλλον BlueJ, αν και υποστηρίζει την ανάπτυξη οποιασδήποτε αντικειμενοστραφούς εφαρμογής σε Java, έχει έντονο εκπαιδευτικό χαρακτήρα. Χρησιμοποιώντας το αλληλεπιδραστικό ενδιάμεσο του BlueJ οι σπουδαστές μπορούν γρήγορα και εύκολα να δημιουργήσουν αντικείμενα, να καλέσουν τις μεθόδους τους μέσω ενός αναδυόμενου μενού και να ελέγξουν ανά πάσα στιγμή την κατάσταση τους χωρίς να χρειάζεται να γράψουν κώδικα. Το περιβάλλον συνοδεύεται από ένα μεγάλο πλήθος εφαρμογών που μπορούν να χρησιμοποιήσουν οι σπουδαστές. Ο μηχανισμός αυτός επιτρέπει στον διδάσκοντα να καθυστερήσει την παρουσίαση άλλων τεχνολογιών ενδιαμέσων και να πραγματοποιήσει μια διδασκαλία που θα βασίζεται πραγματικά σε μια προσέγγιση «πρώτα-τα-αντικείμενα». Η προσέγγιση αυτή έχει υιοθετηθεί και στο βιβλίο Objects First with Java: A practical introduction using BlueJ (Barnes & Kölling, 2004), το οποίο άλλωστε επιτάσσει τη χρήση του σε συνδυασμό με το περιβάλλον BlueJ. Η εν λόγω διδακτική προσέγγιση μπορεί να συνοψιστεί ως εξής: Πρώτα-τα-αντικείμενα : ο σπουδαστής δημιουργεί αντικείμενα και καλεί τις μεθόδους τους από το πρώτο μάθημα. Επαναληπτική προσέγγιση: επαναλαμβανόμενη παρουσίαση εννοιών. Παρουσίαση των αρχών του αντικειμενοστραφούς προγραμματισμού γενικά και όχι λεπτομέρειες της γλώσσας Java ειδικά. Οργάνωση της ύλης βάσει των θεμελιωδών εργασιών ανάπτυξης μιας αντικειμενοστραφούς εφαρμογής και όχι των δομών της γλώσσας Java. Καθοδηγούμενη από έτοιμα project προσέγγιση. Η διδακτική προσέγγιση στην οποία βασίζεται το βιβλίο, εκτός από την προσέγγιση «πρώτα-τα αντικείμενα» υιοθετεί στοιχεία και από την προσέγγιση «πρώτα-το μοντέλο» (model-first) (Bennedsen & Caspersen, 2004; Georgantaki & Retalis,

3 Διδακτικές Προσεγγίσεις για τον Προγραμματισμό ), αφού η ύλη οργανώνεται βάσει των θεμελιωδών εργασιών ανάπτυξης μιας εφαρμογής που βασίζεται στο αντικειμενοστραφές μοντέλο και όχι στις δομές της γλώσσας. Επίσης, στο βιβλίο και κυρίως στη διδασκαλία που περιγράφεται στην παρούσα εργασία ακολουθείται η εξής διαδικασία για την παρουσίαση νέων εννοιών: (1) περιγράφεται ένα πρόβλημα που για τη λύση του απαιτεί τη δημιουργία ενός μοντέλου κάποιου υπαρκτού, συνήθως, συστήματος του κόσμου, (2) παρουσιάζονται βασικές έννοιες από τη περιοχή του προβλήματος και οι συσχετίσεις τους, (3) δημιουργείται ένα νοητό μοντέλο του συστήματος και αναγνωρίζονται τα τμήματα από τα οποία είναι δομημένο το μοντέλο και κατ επέκταση τα αντικείμενα που απαρτίζουν το πεδίο ορισμού του προβλήματος, (4) το προαναφερθέν νοητό μοντέλο παρουσιάζεται με τη μορφή ενός απλοποιημένου διαγράμματος UML όπου φαίνονται οι απαιτούμενες κλάσεις και οι συσχετίσεις τους, (5) υλοποιούνται οι κλάσεις, εισάγοντας - στα πλαίσια της ανάγκης υλοποίησης του μοντέλου - νέες έννοιες και δομές, (6) παρέχονται σχεδιαστικά πρότυπα και πρότυπα κώδικα για την εφαρμογή τους σε αντίστοιχες περιπτώσεις. Το περιβάλλον BlueJ και η σειρά μαθημάτων που προτείνεται στο προαναφερθέν βιβλίο χρησιμοποιούνται εδώ και τρία χρόνια για τη διδασκαλία ενός μαθήματος αντικειμενοστραφούς προγραμματισμού σε φοιτητές του Τμήματος Διοίκησης Τεχνολογίας του Πανεπιστημίου Μακεδονίας. Η διδασκαλία που πραγματοποιήθηκε την πρώτη χρονιά βασίστηκε στη διδακτική προσέγγιση που προτείνουν οι συγγραφείς του βιβλίου και δημιουργοί του περιβάλλοντος BlueJ. Η αξιολόγηση του μαθήματος έδειξε ότι η συγκεκριμένη διδακτική προσέγγιση αποτελεί μια καλή πρόταση για την εισαγωγή στον αντικειμενοστραφή προγραμματισμό. Ωστόσο, δεν είναι απαλλαγμένη από δυσκολίες και προβλήματα, κάποια από τα οποία θεωρούμε ότι οφείλονται στην προτεινόμενη διδακτική προσέγγιση (Xinogalos, Satratzemi & Dagdilelis, 2006). Το συγκεκριμένο μάθημα αναδιοργανώθηκε και διδάχθηκε για δεύτερη χρονιά κάνοντας κάποιες παρεμβάσεις στη διδακτική προσέγγιση των Barnes & Kölling (Xinogalos, Satratzemi & Dagdilelis, 2007): (1) Δημιουργία αντικειμένων και κλήση μεθόδων γράφοντας κώδικα (χρήση της main) από το 4 ο μάθημα αντί για τα τελευταία μαθήματα, (2) Χρήση των χαρακτηριστικών του BlueJ με μεγαλύτερη προσοχή και όχι καταχρηστικά, (3) Σχεδίαση διδακτικών καταστάσεων και εργασιών βάσει των ευρημάτων της αξιολόγησης της πρώτης εφαρμογής των μαθημάτων. Στις επόμενες ενότητες παρουσιάζονται κάποια αποτελέσματα από αυτή την αναθεωρημένη διδασκαλία του μαθήματος. 3. Περιγραφή της μελέτης Τα στοιχεία που παρουσιάζονται στην εργασία προέρχονται από μια εξέταση που συμμετείχε στη διαμόρφωση του τελικού βαθμού των φοιτητών και η οποία έλαβε μέρος μετά τη διεξαγωγή των έξι πρώτων μαθημάτων: (1 ο ) Εισαγωγικές έννοιες: αντικείμενα, κλάσεις, μέθοδοι, το περιβάλλον BlueJ, (2 ο ) Ορισμός κλάσεων: πεδία, κατασκευαστές, μέθοδοι, (3 ο ) Αλληλεπίδραση αντικειμένων: δημιουργία αντικειμένων

4 94 4 ο Πανελλήνιο Συνέδριο Διδακτική της Πληροφορικής από αντικείμενα, πολλαπλοί κατασκευαστές, (4 ο ) Στατικές μέθοδοι: η μέθοδος main, εκτέλεση χωρίς το BlueJ, (5 ο & 6 ο ) Ομαδοποίηση αντικειμένων: συλλογές ευέλικτου μεγέθους (ArrayList) και συλλογές προκαθορισμένου μεγέθους (πίνακες). Στα πλαίσια της γραπτής εξέτασης που πραγματοποιήθηκε, δόθηκε στους φοιτητές ο σκελετός δύο κλάσεων: της κλάσης Candidate για την αναπαράσταση υποψηφίων για τα πτυχία αγγλικών Cambridge First Certificate και Certificate of Proficiency, και της κλάσης ExaminationBook, για την ομαδοποίηση των υποψηφίων για τα προαναφερθέντα πτυχία σε δύο διαφορετικές ομάδες. Τους ζητήθηκε να ορίσουν κατασκευαστές και μεθόδους για την υλοποίηση της συμπεριφοράς των αντικειμένων των κλάσεων, να δημιουργήσουν αντικείμενα και να καλέσουν τις μεθόδους τους. public class Candidate { private String name; private String title; private int money;... } public class ExaminationBook { private ArrayList FCE; private ArrayList PCE;... } Λόγω της περιορισμένης έκτασης της εργασίας, θα παρουσιάσουμε μόνο τα αποτελέσματα που σχετίζονται άμεσα με την έννοια του αντικειμένου, όπως πολλαπλοί κατασκευαστές, δημιουργία αντικειμένου, και προσπέλαση των πεδίων ενός αντικειμένου. 4. Τα αποτελέσματα της μελέτης 4.1 Πολλαπλοί κατασκευαστές Στα πλαίσια της γραπτής εξέτασης ζητήθηκε από τους φοιτητές να ορίσουν στην κλάση Candidate δύο κατασκευαστές, από τους οποίους: ο πρώτος θα δέχεται μέσω μιας παραμέτρου με όνομα name τιμή για το πεδίο name και θα αρχικοποιεί κατάλληλα τα άλλα πεδία, και ο δεύτερος θα δέχεται μέσω παραμέτρων τιμές για όλα τα πεδία. Βασικός στόχος του ερωτήματος αυτού ήταν η διερεύνηση του βαθμού στον οποίο εμφανίζονται στη συγκεκριμένη διδασκαλία δυσκολίες και παρανοήσεις που έχουν καταγραφεί στη βιβλιογραφία σχετικά με τους κατασκευαστές: Η χρήση πολλαπλών κατασκευαστών προκαλεί σύγχυση στους φοιτητές (Carter & Fowler, 1998). Οι αρχάριοι προγραμματιστές συχνά δηλώνουν ένα κατασκευαστή ως μέθοδο (Ziring, 2001). Συχνά, οι αρχάριοι πραγματοποιούν υπολογισμούς στον κατασκευαστή μιας κλάσης (Topor, 2002). Συγχέονται μεταβλητές στιγμιοτύπου και τοπικές μεταβλητές (Truong, 2004) και επισκιάζεται μια μεταβλητή στιγμιοτύπου με τη δήλωση σε μια μέθοδο της κλάσης μιας τοπικής μεταβλητής που έχει το ίδιο όνομα (Ziring, 2001).

5 Διδακτικές Προσεγγίσεις για τον Προγραμματισμό 95 Στον Πίνακα 1 παρουσιάζονται τα στοιχεία που αφορούν στη δήλωση των πολλαπλών κατασκευαστών και στον Πίνακα 2 τα λάθη των φοιτητών σε κάθε ένα από τους δύο κατασκευαστές. Σε όλους τους πίνακες τα ποσοστά των σωστών απαντήσεων και των διαφόρων λαθών αναφέρονται στον αριθμό των φοιτητών που απάντησαν στη συγκεκριμένη ερώτηση και όχι στο σύνολο των 64 φοιτητών που συμμετείχαν στην εξέταση. Πίνακας 1: Ορισμός πολλαπλών κατασκευαστών. Δεν ορίστηκε κανένας κατασκευαστής 11% Ορίστηκαν σωστά και οι δύο κατασκευαστές 32% Ορίστηκε σωστά ο ένας από τους δύο κατασκευαστές 30% Ορίστηκε (είτε σωστά είτε λανθασμένα) ο ένας μόνο από τους δύο 16% Δόθηκε λάθος όνομα στον ένα από τους δύο κατασκευαστές 7% Δόθηκε λάθος όνομα και στους δύο κατασκευαστές 2% Πίνακας 2: Λάθη στον ορισμό πολλαπλών κατασκευαστών. Κατασκευαστής με χρήση του με πέρασμα this παραμέτρων Δεν ορίστηκε 9% 2% Σωστός 35% 58% Λάθη Παράμετρος 21% - Διαφορετικό όνομα από αυτό που ζητήθηκε 19% - Λείπει η παράμετρος 2% Αρχικοποίηση πεδίων/χαρακτηριστικών 44% 33% - Ανάθεση των τιμών μη ορισμένων αναγνωριστικών 11% 7% - Ανάθεση μιας λανθασμένης σταθερής τιμής 18% - Αν και χρησιμοποιούνται παράμετροι στα πεδία ανατίθενται σταθερές τιμές 5% Οι σημαντικότερες δυσκολίες που αφορούν στον ορισμό των κατασκευαστών είναι: Αρκετοί φοιτητές δυσκολεύονται να ορίσουν δύο ή και περισσότερους κατασκευαστές στην ίδια κλάση και ορίζουν ένα μόνο κατασκευαστή ή δεν δίνουν το ίδιο όνομα στους κατασκευαστές όπως απαιτείται (Πίνακας 1). Η χρήση του this δυσκολεύει τους φοιτητές. Ωστόσο, στον 1 ο κατασκευαστή που απαιτούσε τη χρήση του, οι φοιτητές δεν επισκίασαν τη μεταβλητή στιγμιοτύπου/πεδίο (Truong, 2004; Ziring, 2001), αλλά επέλεξαν να δώσουν άλλο όνομα στην παράμετρο προκειμένου να αποφύγουν τη χρήση του this, ή

6 96 4 ο Πανελλήνιο Συνέδριο Διδακτική της Πληροφορικής θεωρώντας ότι δεν μπορεί να δηλωθεί παράμετρος που έχει το ίδιο όνομα με ένα πεδίο (Πίνακας 2). Δυσκολίες αντιμετωπίζουν οι φοιτητές και με την αρχικοποίηση των πεδίων ενός αντικειμένου σε ένα κατασκευαστή (Πίνακας 2). Τα πιο συχνά λάθη είναι η ανάθεση των τιμών μη ορισμένων αναγνωριστικών στη περίπτωση που ζητείται ένα πεδίο να ενημερώνεται μέσω παραμέτρου και η ανάθεση λανθασμένων σταθερών τιμών στα υπόλοιπα. 4.2 Προσπέλαση των πεδίων ενός αντικειμένου Για τη διερεύνηση των δυσκολιών που αντιμετωπίζουν οι φοιτητές με την προσπέλαση των πεδίων ενός αντικειμένου, τους ζητήθηκε: α) να ορίσουν μεθόδους set που θα δέχονται μέσω παραμέτρου μία τιμή και θα ενημερώνουν το αντίστοιχο πεδίο, β) να ορίσουν μεθόδους get για την επιστροφή των τιμών των πεδίων, γ) να προσπελάσουν από άλλη κλάση ή από τη μέθοδο main τα private πεδία αντικειμένων της κλάσης Candidate για να κάνουν κάποιο έλεγχο της τιμής τους, να τη χρησιμοποιήσουν σε υπολογισμούς, να την εμφανίσουν ή να την μεταβάλουν. Σχετικές δυσκολίες που έχουν καταγραφεί στη βιβλιογραφία είναι οι εξής: Σε μία non-void μέθοδο, η οποία θα έπρεπε να επιστρέφει μια τιμή ενός συγκεκριμένου τύπου, λείπει η εντολή return (Hristova, 2003). Ένα άλλο σχετικό λάθος αφορά στη δήλωση λανθασμένου τύπου επιστρεφόμενης τιμής για μια non-void μέθοδο (Ziring, 2001). Σύγχυση μεταξύ της δήλωσης των παραμέτρων στον ορισμό μιας μεθόδου και του περάσματος παραμέτρων στην ενεργοποίησή της (Hristova, 2003). Κλήση μεθόδων με λάθος ορίσματα (arguments) (Hristova, 2003). Παράλειψη των παρενθέσεων μετά την κλήση μιας μεθόδου (Hristova, 2003). Χρήση ενός κενού μετά από την τελεία κατά την κλήση μιας συγκεκριμένης μεθόδου (Hristova, 2003). Κλήση μιας μη-στατικής μεθόδου από τη μέθοδο main απευθείας και χωρίς τη δημιουργία αντικειμένου και κλήσης μέσω αυτού (Ziring, 2001). Μια μέθοδος που επιστρέφει κάποια τιμή ενεργοποιείται ως κενή (void) μέθοδος ή ως εντολή, με αποτέλεσμα η τιμή που επιστρέφεται από τη μέθοδο να μην χρησιμοποιείται. Επίσης, συχνά υπάρχει ασυμβατότητα μεταξύ του τύπου της επιστρεφόμενης τιμής μιας μεθόδου και του τύπου της μεταβλητής στην οποία αποθηκεύεται η επιστρεφόμενη τιμή (Hristova, 2003). Τα αποτελέσματα από τις απαντήσεις των φοιτητών παρουσιάζονται στους Πίνακες 3 και 4 και συνοψίζονται ως εξής: Οι δυσκολίες που αντιμετωπίζουν οι φοιτητές με τις μεθόδους set και get αφορούν κατά κύριο λόγο στη δήλωση του επιστρεφόμενου τύπου, και σε μικρότερο βαθμό στη δήλωση των παραμέτρων και στη χρήση της εντολής return (Πίνακας 3).

7 Διδακτικές Προσεγγίσεις για τον Προγραμματισμό 97 Βέβαια, οι δυσκολίες αυτές μπορούν να χαρακτηριστούν ως τυπικές, αφού εμφανίζονται ανεξάρτητα από το παράδειγμα προγραμματισμού που χρησιμοποιείται. Πίνακας 3: Ορισμός μεθόδων set και get Μέθοδοι set Μέθοδοι get Δεν ορίστηκαν 19% 16% Σωστός ορισμός 56% 72% Λάθη Επιστρεφόμενος τύπος 17% 19% - χρησιμοποιήθηκε ο τύπος της παραμέτρου 12% - παραλείπεται 4% 2% - int σε όλες τις περιπτώσεις 2% 9% - void 6% Παράμετρος 8% - λείπει ο τύπος 4% - λείπει η παράμετρος 2% - χρησιμοποιείται παράμετρος χωρίς λόγο 4% - χρησιμοποιείται το ίδιο όνομα με τη μέθοδο 2% Εντολή ανάθεσης 33% - Χρησιμοποιείται μια εντολή του τύπου: 12% <πεδίο>.settitle(title1 ή <πεδίο>) Εντολή return 9% - επιστρέφονται λάθος τιμές 6% - λείπει 2% - name.get(); Money.get(); 2% Πίνακας 4: Προσπέλαση private πεδίων από άλλη κλάση και τη μέθοδο main Προσπέλαση από άλλη κλάση main Απευθείας προσπέλαση του πεδίου χωρίς την ύπαρξη 41% - 47% 42% στιγμιοτύπου: πεδίο Απευθείας προσπέλαση του πεδίου <αντικείμενο>.πεδίο 5% - 3% Προσπέλαση του ίδιου του στιγμιοτύπου αντί του πεδίου του 16% - 0% Λείπουν τα ορίσματα σε μεθόδους set 21% Οι μέθοδοι καλούνται για τις κλάσεις και όχι για τα 6% αντικείμενα (σύγχυση αντικειμένου-κλάσης) Χρήση του ονόματος του πεδίου που πρόκειται να ενημερωθεί ως όρισμα σε μεθόδους set 6%

8 98 4 ο Πανελλήνιο Συνέδριο Διδακτική της Πληροφορικής Ένας μεγάλος αριθμός φοιτητών προσπελάζει απευθείας τα private πεδία ενός αντικειμένου από μια εξωτερική κλάση ή τη main, χωρίς στιγμιότυπο (Πίνακας 4). Η συμπεριφορά αυτή ενδεχομένως αποτελεί γενίκευση του γεγονότος ότι οι φοιτητές προσπελάζουν απευθείας τα πεδία που ορίζονται σε μια κλάση κατά την ανάπτυξη των μεθόδων της και δυσκολίας κατανόησης του γεγονότος ότι μπορούν να υπάρχουν ταυτόχρονα περισσότερα από ένα αντικείμενα της ίδιας κλάσης και δεν αρκεί να αναφέρουμε μόνο το όνομα του πεδίου που θέλουμε να προσπελάσουμε. 4.3 Δημιουργία αντικειμένων Εκτός από τις δυσκολίες που αντιμετωπίζουν οι φοιτητές με τον ορισμό (πολλαπλών) κατασκευαστών, δυσκολίες καταγράφονται και κατά την κλήση τους για τη δημιουργία αντικειμένων. Στα πλαίσια της παρούσας μελέτης ζητήθηκε από τους φοιτητές να δημιουργήσουν αντικείμενα χρησιμοποιώντας και τους δύο κατασκευαστές, προκειμένου να διερευνηθεί ποιες από τις καταγεγραμμένες δυσκολίες εμφανίζονται στη συγκεκριμένη διδασκαλία: Η χρήση των κατασκευαστών είναι προαιρετική, αφού ο μόνος λόγος χρήσης τους είναι η αρχικοποίηση των μεταβλητών του αντικειμένου (Fleury, 2000). Η δημιουργία ενός αντικειμένου μπορεί να επιτευχθεί και με μια μέθοδο, έστω set_values, που δίνει αρχικές τιμές στις μεταβλητές του νέου αντικειμένου. Στην κλήση του κατασκευαστή χρησιμοποιούνται ως ορίσματα μη ορισμένες μεταβλητές (Topor, 2002). Στον Πίνακα 5 καταγράφονται τα λάθη των φοιτητών που αφορούν στην κλήση των 2 κατασκευαστών της κλάσης Candidate για τη δημιουργία 2 αντικειμένων. Πίνακας 5: Δημιουργία αντικειμένων. Δεν απάντησε 48% Σωστή απάντηση 61% Σύγχυση του ορισμού με την κλήση του κατασκευαστή: new 9% Candidate(String name, String title, int money) Στην κλήση του κατασκευαστή χρησιμοποιούνται ως ορίσματα τα πεδία 6% Λείπουν τα ορίσματα στην κλήση του κατασκευαστή 15% Δεν χρησιμοποιείται το new 6% Όπως φαίνεται στον Πίνακα 5, ορισμένοι φοιτητές παραλείπουν όλα ή κάποια από τα ορίσματα κατά την κλήση ενός κατασκευαστή και συγχέουν τη δήλωση των παραμέτρων στον ορισμό του και του περάσματος παραμέτρων στην ενεργοποίησή του. Βέβαια, η δυσκολία δεν αφορά ειδικά στους κατασκευαστές, αλλά γενικότερα στην κλήση μεθόδων (Hristova, 2003).

9 Διδακτικές Προσεγγίσεις για τον Προγραμματισμό Συμπεράσματα Η βασικότερη έννοια του αντικειμενοστραφούς προγραμματισμού είναι η έννοια του αντικειμένου, η οποία δεν γίνεται εύκολα κατανοητή από τους σπουδαστές. Πολλές από τις δυσκολίες που σχετίζονται με την έννοια αυτή μπορούν να αντιμετωπιστούν σε μεγάλο βαθμό χρησιμοποιώντας το περιβάλλον BlueJ. Στη διδασκαλία που περιγράψαμε το περιβάλλον BlueJ χρησιμοποιήθηκε εκτεταμένα στα τρία πρώτα μαθήματα για την εξοικείωση των φοιτητών με την έννοια του αντικειμένου μέσω ειδικά σχεδιασμένων δραστηριοτήτων. Η χρήση των δυνατοτήτων του περιβάλλοντος BlueJ δεν επεκτάθηκε σε όλα τα μαθήματα, ή τουλάχιστον δεν αποτέλεσε το μοναδικό μέσο ελέγχου των προγραμμάτων που ανέπτυξαν οι φοιτητές, μιας και η αξιολόγηση της πρώτης διδασκαλίας έδειξε ότι η παρατεταμένη χρήση των τεχνικών οπτικοποίησης και άμεσης διαχείρισης του περιβάλλοντος BlueJ δημιουργεί προβλήματα όταν οι φοιτητές καλούνται να επιτύχουν τα ίδια αποτελέσματα γράφοντας κώδικα. Στο τέταρτο μάθημα παρουσιάστηκε η στατική μέθοδος main και το περιβάλλον JCreator και οι φοιτητές ξεκίνησαν να δημιουργούν αντικείμενα και να καλούν μεθόδους γράφοντας κώδικα. Στα επόμενα μαθήματα, οι φοιτητές είχαν τη δυνατότητα επιλογής του περιβάλλοντος που επιθυμούσαν για την επίλυση των ασκήσεων. Κατά τη διάρκεια των διαλέξεων και των εργαστηριακών δραστηριοτήτων οι φοιτητές φάνηκε να κατανοούν τις σχετικές έννοιες. Ωστόσο, η γραπτή εξέταση έδειξε ότι η υλοποίηση τους δεν είναι το ίδιο εύκολη. Για την αντιμετώπιση των δυσκολιών απαιτείται σχεδίαση επιπρόσθετων δραστηριοτήτων. Για την κατανόηση του αποτελέσματος που θα έχει ένας κατασκευαστής ο οποίος αναθέτει λανθασμένες αρχικές τιμές σε κάποια πεδία μπορεί, για παράδειγμα, να χρησιμοποιηθεί ο ενσωματωμένος αποσφαλματωτής για τη βηματική εκτέλεση του κατασκευαστή με ταυτόχρονη παρακολούθηση των αλλαγών των τιμών των πεδίων. Κατά την εκτέλεση των μεθόδων ενός αντικειμένου πρέπει πάντα να είναι ορατό το παράθυρο επιθεώρησης της κατάστασής του, ενώ σε περιπτώσεις όπου δεν γίνεται κατανοητό πως αλλάζει η κατάσταση ενός αντικειμένου με την εκτέλεση των μεθόδων θα πρέπει αυτές να εκτελούνται βηματικά. Χρήσιμο είναι επίσης να παρουσιάζονται παραδείγματα λανθασμένου κώδικα και να εντοπίζονται και να αναλύονται τα λάθη τους. Πολλές φορές οι φοιτητές υιοθετούν δικούς τους κανόνες και παρανοήσεις οι οποίες είναι απαραίτητο να καταπολεμηθούν πριν να εδραιωθούν. Η υπάρχουσα γνώση για τις παρανοήσεις και τις δυσκολίες μπορούν να βοηθήσουν ουσιαστικά τον διδάσκοντα στη σχεδίαση μιας πιο αποτελεσματικής διδασκαλίας. Τέλος, σκοπεύουμε να τροποποιήσουμε/εμπλουτίσουμε τις ατομικές εργασίες που ανατίθενται στους φοιτητές, έτσι ώστε να εφαρμόσουν κατά την εκπόνησή τους τη στρατηγική «πρώτα-το-μοντέλο» που εφαρμόζεται κατά τη διδασκαλία (ενότητα 2), αλλά συνήθως αγνοείται κατά την εκπόνηση εργασιών μιας και θωρείται χρονοβόρα στρατηγική. Για να επιτευχθεί αυτό θα ζητηθεί από τους φοιτητές, στα πλαίσια των

10 100 4 ο Πανελλήνιο Συνέδριο Διδακτική της Πληροφορικής εργασιών που υποβάλουν: να απαντούν σε ερωτήσεις που αφορούν στην περιγραφή σημείων-κλειδιών του μοντέλου και στις μεταξύ τους συσχετίσεις, να περιγράφουν το μοντέλο με απλοποιημένα διαγράμματα UML, να προσδιορίζουν τις τεχνικές που θα εφαρμόσουν (π.χ. αλληλεπίδραση αντικειμένων, κληρονομικότητα) και τέλος να υλοποιούν το μοντέλο. Βιβλιογραφία Barnes, D. & Kölling, M., Objects First with Java: A practical introduction using BlueJ, Prentice Hall, Bennedsen, J. & Caspersen, M. (2004), Programming in Context A Model-First Approach to CS1, Proceedings of SIGCSE 04, Carter, J. & Fowler, A. (1998), Object Oriented Students?, SIGCSE Bulletin, Vol. 28, No. 3, 271. Fleury, A. E. (2000), Programming in Java: student-constructed rules, ACM SIGCSE Bulletin, Vol. 32, Issue 1, Georgantaki, S. & Retalis, S. (2007), A Learning Research Informed Design and Evaluation of a Web-enhanced Object Oriented Programming Seminar, Journal of Information Systems Education, Vol. 18, Number 2, Hristova, M., Misra, A., Rutter, M. & Mercuri, R. (2003). Identifying and Correcting Java Programming Errors for Introductory Computer Science Students. ACM SIGCSE Bulletin, 35 (1), Kölling, M. & Rosenberg, J., (2001). Guidelines for Teaching Object Orientation with Java. ACM SIGCSE Bulletin, Vol. 33 Issue 3, 2001, Kölling, M., Quig, B., Patterson, A., & Rosenberg, J. (2003). The BlueJ system and its pedagogy. Journal of Computer Science Education,13(4), Topor, R. W. (2002), CIT1104 Programming II: Common (Java) programming errors, (Accessed June 2005). Truong, N., Roe, P. & Bancroft, P. (2004), Static Analysis of Students Java Programs, Proceedings of the 6th Australian Computing Education Conference, Xinogalos, S., Satratzemi, M. & Dagdilelis, V. (2006), Studying Students Difficulties in an OOP Course Based on BlueJ, 9th IASTED International Conference on Computers and Advanced Technology in Education, 4-6 October 2006, Lima, Peru, Xinogalos, S., Satratzemi, M. & Dagdilelis, V. (2007), Re-designing an OOP course based on BlueJ, Proceedings of the 7 th IEEE International Conference on Advanced Learning Technologies, July 2007, Niigata, Japan, Ziring, N. (2001). Novice Java Programmers' Favorite Mistakes Page, com/ziring/java-npm.html#item9 (Accessed May 2005).

Διδακτική Προσέγγιση για τον Αντικειμενοστρεφή Προγραμματισμό: εφαρμογή στο BlueJ

Διδακτική Προσέγγιση για τον Αντικειμενοστρεφή Προγραμματισμό: εφαρμογή στο BlueJ 6 ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» Φλώρινα, 20-22 Απριλίου 2012 Διδακτική Προσέγγιση για τον Αντικειμενοστρεφή Προγραμματισμό: εφαρμογή στο BlueJ Σ. Ξυνόγαλος Τμήμα Διοίκησης Τεχνολογίας,

Διαβάστε περισσότερα

Ενότητα 13: Διδασκαλία Οντοκεντρικού Προγραμματισμού. Διδάσκων: Βασίλης Κόμης, Καθηγητής

Ενότητα 13: Διδασκαλία Οντοκεντρικού Προγραμματισμού. Διδάσκων: Βασίλης Κόμης, Καθηγητής Διδακτική της Πληροφορικής: Ερευνητικές προσεγγίσεις στη μάθηση και τη διδασκαλία Μάθημα επιλογής B εξάμηνο, Πρόγραμμα Μεταπτυχιακών Σπουδών Τμήμα Επιστημών της Εκπαίδευσης και της Αγωγής στην Προσχολική

Διαβάστε περισσότερα

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 16/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί

Διαβάστε περισσότερα

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2 Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή

Διαβάστε περισσότερα

Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού

Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού Α. Βρακόπουλος 1, Θ.Καρτσιώτης 2 1 Καθηγητής Πληροφορικής Δευτεροβάθμιας Εκπαίδευσης Vraa8@sch.gr 2 Σχολικός

Διαβάστε περισσότερα

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,

Διαβάστε περισσότερα

Συγκριτική Μελέτη των Εκπαιδευτικών Προγραμματιστικών Περιβαλλόντων BlueJ & jgrasp

Συγκριτική Μελέτη των Εκπαιδευτικών Προγραμματιστικών Περιβαλλόντων BlueJ & jgrasp Συγκριτική Μελέτη των Εκπαιδευτικών Προγραμματιστικών Περιβαλλόντων BlueJ & jgrasp Μ. Σατρατζέμη 1, Σ. Ξυνόγαλος 2 1 Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο Μακεδονίας, 2 Τμήμα Διοίκηση Τεχνολογίας,

Διαβάστε περισσότερα

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 3 Java Classes Java Objects

Διαβάστε περισσότερα

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

Διαβάστε περισσότερα

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6 Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 27/3/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Κλάσεις και Αντικείμενα Εισαγωγή Στατικότητα Κλάσης

Διαβάστε περισσότερα

ΕΚΠΑΙ ΕΥΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ ΓΙΑ ΤΗ Ι Α- ΣΚΑΛΙΑ ΤΟΥ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ: ΜΙΑ ΕΠΙΣΚΟΠΗΣΗ

ΕΚΠΑΙ ΕΥΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ ΓΙΑ ΤΗ Ι Α- ΣΚΑΛΙΑ ΤΟΥ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ: ΜΙΑ ΕΠΙΣΚΟΠΗΣΗ Οι Τεχνολογίες της Πληροφορίας και των Επικοινωνιών στην Εκπαίδευση 899 ΕΚΠΑΙ ΕΥΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ ΓΙΑ ΤΗ Ι Α- ΣΚΑΛΙΑ ΤΟΥ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ: ΜΙΑ ΕΠΙΣΚΟΠΗΣΗ Μάγια Σατρατζέµη

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας

Διαβάστε περισσότερα

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth. Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει

Διαβάστε περισσότερα

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις

Διαβάστε περισσότερα

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C# Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct

Διαβάστε περισσότερα

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

Διαβάστε περισσότερα

Κλάσεις και Αντικείμενα

Κλάσεις και Αντικείμενα Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 4/4/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Κλάσεις και Αντικείμενα Εισαγωγή 1 Στατικότητα

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

Διαβάστε περισσότερα

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

Κεφάλαιο 10. Υποπρογράμματα Κεφάλαιο 10 Υποπρογράμματα 10.1 Γενικός διδακτικός σκοπός Ο γενικός σκοπός του κεφαλαίου είναι να καταστούν ικανοί οι μαθητές να χρησιμοποιούν υποπρογράμματα για τη δημιουργία συνθέτων προγραμμάτων. 194

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος

Διαβάστε περισσότερα

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9 ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ (1) ΓΕΝΙΚΑ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΥΤΕΧΝΙΚΗ Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9 ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Επιστημονικός Προγραμματισμός

Διαβάστε περισσότερα

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520 ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ Πέμπτο ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Αντικειμενοστρεφής Προγραμματισμός ΑΥΤΟΤΕΛΕΙΣ ΔΙΔΑΚΤΙΚΕΣ

Διαβάστε περισσότερα

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις (Functions) Οι βασικές λειτουργικές ενότητες ενός προγράμματος C Καλούνται με ορίσματα που αντιστοιχούνται σε

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε

Διαβάστε περισσότερα

H ιδασκαλία της Κληρονοµικότητας στον Προγραµµατιστικό Μικρόκοσµο objectkarel *

H ιδασκαλία της Κληρονοµικότητας στον Προγραµµατιστικό Μικρόκοσµο objectkarel * H ιδασκαλία της Κληρονοµικότητας στον Προγραµµατιστικό Μικρόκοσµο objectkarel * Ξυνόγαλος Στέλιος, Σατρατζέµη Μάγια, αγδιλέλης Βασίλειος 2, Ευαγγελίδης Γεώργιος Τµήµα Εφαρµοσµένης Πληροφορικής, Πανεπιστήµιο

Διαβάστε περισσότερα

Η Εισαγωγή στον Αντικειµενοστραφή Προγραµµατισµό: Προβλήµατα και Μεθοδολογίες για την Αντιµετώπισή τους

Η Εισαγωγή στον Αντικειµενοστραφή Προγραµµατισµό: Προβλήµατα και Μεθοδολογίες για την Αντιµετώπισή τους Η Εισαγωγή στον Αντικειµενοστραφή Προγραµµατισµό: Προβλήµατα και Μεθοδολογίες για την Αντιµετώπισή τους Ξυνόγαλος Στέλιος ιδάκτορας Εκπαιδευτικής Τεχνολογίας, Καθηγητής Πληροφορικής Β/θµιας Εκπ/σης Τµήµα

Διαβάστε περισσότερα

Μέρος B: Εισαγωγή στις έννοιες παιδαγωγικής αξιοποίησης των ΤΠΕ με εφαρμογή στη διδακτική της Πληροφορικής Οργάνωση και Σχεδίαση Μαθήματος

Μέρος B: Εισαγωγή στις έννοιες παιδαγωγικής αξιοποίησης των ΤΠΕ με εφαρμογή στη διδακτική της Πληροφορικής Οργάνωση και Σχεδίαση Μαθήματος Μέρος: Θέμα: Μέρος B: Εισαγωγή στις έννοιες παιδαγωγικής αξιοποίησης των ΤΠΕ με εφαρμογή στη διδακτική της Πληροφορικής Οργάνωση και Σχεδίαση Μαθήματος Φύλλα Δραστηριότητας L1 - Εύκολες L2 - Μέτριες L3

Διαβάστε περισσότερα

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ 1. ΓΕΝΙΚΑ ΣΧΟΛΗ Σ.Τ.ΕΦ. Α.Ε.Ι. ΠΕΙΡΑΙΑ Τ.Τ. ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΑΥΤΟΜΑΤΙΣΜΟΥ ΤΕ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ 2201203 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ Β ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διαβάστε περισσότερα

Εργαστηριακή Εισήγηση. «Οι μεταβλητές στη γλώσσα προγραμματισμού Scratch»

Εργαστηριακή Εισήγηση. «Οι μεταβλητές στη γλώσσα προγραμματισμού Scratch» Εργαστηριακή Εισήγηση «Οι μεταβλητές στη γλώσσα προγραμματισμού Scratch» Σαρημπαλίδης Ιωάννης Καθηγητής Πληροφορικής, Γενικό Λύκειο Πεντάπολης johnsaribalidis@yahoo.gr ΠΕΡΙΛΗΨΗ To προτεινόμενο διδακτικό

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

Διαβάστε περισσότερα

Ένα Σενάριο ιδασκαλίας των Βασικών Εννοιών- Αρχών του Αντικειµενοστρεφούς Προγραµµατισµού

Ένα Σενάριο ιδασκαλίας των Βασικών Εννοιών- Αρχών του Αντικειµενοστρεφούς Προγραµµατισµού Ένα Σενάριο ιδασκαλίας των Βασικών Εννοιών- Αρχών του Αντικειµενοστρεφούς Προγραµµατισµού Σταυρούλα Γεωργαντάκη, Συµεών Ρετάλης Τµήµα ιδακτικής Τεχνολογίας και Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιά

Διαβάστε περισσότερα

Λογισμικό Καθοδήγησης ή Διδασκαλίας

Λογισμικό Καθοδήγησης ή Διδασκαλίας Λογισμικό Καθοδήγησης ή Διδασκαλίας Ένα σύγχρονο σύστημα καθοδήγησης στοχεύει να ικανοποιήσει τουλάχιστον δύο βασικές φάσεις των οποίων η δομή και η αλληλουχία παρουσιάζεται στο σχήμα 3: παρουσίαση της

Διαβάστε περισσότερα

Συνοπτική παρουσίαση του σεναρίου. Εναλλακτικά περιβάλλοντα προγραμματισμού (2/5) Διδακτικές δραστηριότητες. Διδακτικό υλικό

Συνοπτική παρουσίαση του σεναρίου. Εναλλακτικά περιβάλλοντα προγραμματισμού (2/5) Διδακτικές δραστηριότητες. Διδακτικό υλικό Συνοπτική παρουσίαση του σεναρίου Εναλλακτικά περιβάλλοντα προγραμματισμού (2/5) Τίτλος: Δημιουργία νέων εντολών στον μικρόκοσμο του ρομπότ Karel Εκτιμώμενη διάρκεια: Δύο διδακτικές ώρες Απαιτούμενη υλικοτεχνική

Διαβάστε περισσότερα

Διαγράμματα Κλάσεων στη Σχεδίαση

Διαγράμματα Κλάσεων στη Σχεδίαση Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός Αντικειμενοστραφής Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 4: Πίνακες, Συνδυασμός Βρόχων Επαναλήψεων και Πινάκων. Δρ. Χαράλαμπος Ζ. Πατρικάκης

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

Διαβάστε περισσότερα

«Εισαγωγή στις βασικές έννοιες του αντικειμενοστραφούς προγραμματισμού με τη βοήθεια του ObjectKarel»

«Εισαγωγή στις βασικές έννοιες του αντικειμενοστραφούς προγραμματισμού με τη βοήθεια του ObjectKarel» «Εισαγωγή στις βασικές έννοιες του αντικειμενοστραφούς προγραμματισμού με τη βοήθεια του ObjectKarel» Γεωργαντοπούλου Μαρία 1, Αναργυρίδου Δέσποινα 2 1 Καθηγήτρια Πληροφορικής, 2 ο ΕΠΑΛ Κατερίνης mgeorgan77@gmail.com

Διαβάστε περισσότερα

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ (1) ΓΕΝΙΚΑ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ 4ΕΤΔΕ 108 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 7 ο ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ ΑΥΤΟΤΕΛΕΙΣ

Διαβάστε περισσότερα

Εργαστηριακή εισήγηση. «ΜΑΘΗΣΙΣ: Μία Ευφυής Διαδικτυακή Τάξη Άλγεβρας»

Εργαστηριακή εισήγηση. «ΜΑΘΗΣΙΣ: Μία Ευφυής Διαδικτυακή Τάξη Άλγεβρας» o Πανελλήνιο Εκπαιδευτικό Συνέδριο Ημαθίας ΠΡΑΚΤΙΚΑ Εργαστηριακή εισήγηση «ΜΑΘΗΣΙΣ: Μία Ευφυής Διαδικτυακή Τάξη Άλγεβρας» Δημήτριος Σκλαβάκης 1, Ιωάννης Ρεφανίδης 1 Μαθηματικός Υποψήφιος Διδάκτωρ, Τμήμα

Διαβάστε περισσότερα

Μία διδακτική πρόταση για τη χρήση της Δομής Επιλογής στο Περιβάλλον Προγραμματισμού MicroWorlds Pro της Logo

Μία διδακτική πρόταση για τη χρήση της Δομής Επιλογής στο Περιβάλλον Προγραμματισμού MicroWorlds Pro της Logo Μία διδακτική πρόταση για τη χρήση της Δομής Επιλογής στο Περιβάλλον Προγραμματισμού MicroWorlds Pro της Logo Μ. Εφραιμίδου Διεύθυνση Δευτεροβάθμιας Εκπαίδευσης Ανατ. Θεσσαλονίκης melina@melfos.gr Περίληψη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων

Διαβάστε περισσότερα

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1 HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις Στατικές μέθοδοι Τι σημαίνει το keyword static στον ορισμό της main μεθόδου? Τι είναι μια στατική μέθοδος?

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 Τμήμα θεωρίας: Κάθε Τρίτη, 11πμ-2μμ, ΑΜΦ22. Διδάσκων: Ντίνος Φερεντίνος email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό εργαστήριο (5-6 2ωρα εργαστήρια το εξάμηνο,

Διαβάστε περισσότερα

e-εκπαιδευτησ gakis_kostas@yahoo.gr, arispaliouras@yahoo.gr Περίληψη Η παρούσα εισήγηση αφορά την παρουσίαση του εκπαιδευτικού λογισμικού με τίτλο

e-εκπαιδευτησ gakis_kostas@yahoo.gr, arispaliouras@yahoo.gr Περίληψη Η παρούσα εισήγηση αφορά την παρουσίαση του εκπαιδευτικού λογισμικού με τίτλο e-εκπαιδευτησ K. Γάκης 1 και Α. Παλιούρας 2 1 3ο ΣΕΚ Ανατ. Αττικής 2 Γενικό Λύκειο Αρτέμιδος gakis_kostas@yahoo.gr, arispaliouras@yahoo.gr Περίληψη Η παρούσα εισήγηση αφορά την παρουσίαση του εκπαιδευτικού

Διαβάστε περισσότερα

ΑΣΤΙΚΑ ΥΔΡΑΥΛΙΚΑ ΕΡΓΑ ΚΟΥΤΣΟΓΙΑΝΝΗΣ ΔΗΜΗΤΡΙΟΣ, ΝΙΚΟΛΑΟΣ

ΑΣΤΙΚΑ ΥΔΡΑΥΛΙΚΑ ΕΡΓΑ ΚΟΥΤΣΟΓΙΑΝΝΗΣ ΔΗΜΗΤΡΙΟΣ, ΝΙΚΟΛΑΟΣ Ακ. έτος 212-213 Εαρινό εξάμηνο Page 1 of 16 Ακ. έτος 212-213 Εαρινό εξάμηνο ΕΝΟΤΗΤΑ: Χαρακτηριστικά φοιτητή Ερώτηση Πλήθος απαντήσεων Διάμεσος Μέσος Όρος Τυπική απόκλιση Ελάχιστη Μέγιστη Παρακολουθώ τακτικά

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4

Διαβάστε περισσότερα

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

Διαβάστε περισσότερα

Βασικές έννοιες προγραμματισμού

Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 Βασικές έννοιες προγραμματισμού 7.1 Γενικός διδακτικός σκοπός Ο γενικός σκοπός του κεφαλαίου είναι να καταστούν ικανοί οι μαθητές να συντάσσουν και να εκτελούν σε δομημένη γλώσσα προγραμματισμού

Διαβάστε περισσότερα

Υπολογιστικά Συστήματα

Υπολογιστικά Συστήματα Υπολογιστικά Συστήματα Ενότητα 3: Βασικά στοιχεία της γλώσσας προγραμματισμού Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ

Διαβάστε περισσότερα

Σχολή Πολιτικών Μηχανικών. Συγκεντρωτικά αποτελέσματα προπτυχιακών μαθημάτων για το Χειμερινό εξαμήνο του ακ. έτους

Σχολή Πολιτικών Μηχανικών. Συγκεντρωτικά αποτελέσματα προπτυχιακών μαθημάτων για το Χειμερινό εξαμήνο του ακ. έτους Συγκεντρωτικά αποτελέσματα προπτυχιακών μαθημάτων για το Χειμερινό εξαμήνο του ακ. έτους 214-215 Μάθημα ΕΝΟΤΗΤΑ: Μάθημα Ερώτηση Πλήθος απαντήσεων Διάμεσος Μέσος Όρος Τυπική απόκλιση Ελάχιστη Μέγιστη Οι

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

Διαβάστε περισσότερα

(Διαφάνειες Νίκου Βιδάκη)

(Διαφάνειες Νίκου Βιδάκη) (Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι Μαθήματα από το lab Boolean μεταβλητές: Συνήθως τα ονόματα που δίνουμε στις boolean μεταβλητές περιγράφουν

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή

Διαβάστε περισσότερα

Διδάσκων / Διδάσκουσα του μαθήματος

Διδάσκων / Διδάσκουσα του μαθήματος Συγκεντρωτικά αποτελέσματα προπτυχιακών μαθημάτων για το Εαρινό εξαμήνο του ακ. έτους 12-13 ΕΝΟΤΗΤΑ: Διδάσκων / Διδάσκουσα του μαθήματος Ερώτηση Πλήθος απαντήσεων Διάμεσος Μέσος Όρος Τυπική απόκλιση Ελάχιστη

Διαβάστε περισσότερα

Γενικά (για τις γραπτές εξετάσεις)

Γενικά (για τις γραπτές εξετάσεις) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε

Διαβάστε περισσότερα

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩN ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ: ΙΟΥΝΙΟΣ 2015 (10/7/2015) ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α 1. (3.5 μονάδες)

Διαβάστε περισσότερα

ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ 1. ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦ.

ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ 1. ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦ. ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ Καράκιζα Τσαμπίκα 1. ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦ. 2ο-8ο:ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εισαγωγή στην εντολή «για» (2.4.5, 8.2.3) 2. ΤΑΞΗ: Γ Γενικού Λυκείου (τεχνολογική

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 23/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός Αντικειμενοστραφής Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 3: Έλεγχος ροής και επαναλήψεις. Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών

Διαβάστε περισσότερα

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ «ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ 1 4.1. Οριςμόσ φνθετων τφπων κλάςεων 2 Με εξαίρεςη τουσ βαςικούσ τύπουσ τησ Java (int, float, boolean, κλπ) τα

Διαβάστε περισσότερα

Σχολή Πολιτικών Μηχανικών

Σχολή Πολιτικών Μηχανικών Συγκεντρωτικά αποτελέσματα προπτυχιακών μαθημάτων για το Εαρινό εξάμηνο του ακ. έτους 15-16 Μάθημα ΕΝΟΤΗΤΑ: Μάθημα Ερώτηση Πλήθος απαντήσεων Διάμεσος Μέσος Όρος Τυπική απόκλιση Ελάχιστη Μέγιστη Οι στόχοι

Διαβάστε περισσότερα

Σχολή Πολιτικών Μηχανικών

Σχολή Πολιτικών Μηχανικών Μάθημα ΕΝΟΤΗΤΑ: Μάθημα Ερώτηση Πλήθος απαντήσεων Διάμεσος Μέσος Όρος Τυπική απόκλιση Ελάχιστη Μέγιστη Οι στόχοι του μαθήματος είναι σαφείς 492 4 3,81 1,8 1 5 Η ύλη που καλύφθηκε ανταποκρίνεται στους στόχους

Διαβάστε περισσότερα

Σχολή Πολιτικών Μηχανικών ΣΤΟΧΑΣΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΤΟΥΣ ΥΔΑΤΙΚΟΥΣ ΠΟΡΟΥΣ ΚΟΥΤΣΟΓΙΑΝΝΗΣ ΔΗΜΗΤΡΙΟΣ, ΝΙΚΟΛΑΟΣ. Ακ. έτος Χειμερινό εξάμηνο

Σχολή Πολιτικών Μηχανικών ΣΤΟΧΑΣΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΤΟΥΣ ΥΔΑΤΙΚΟΥΣ ΠΟΡΟΥΣ ΚΟΥΤΣΟΓΙΑΝΝΗΣ ΔΗΜΗΤΡΙΟΣ, ΝΙΚΟΛΑΟΣ. Ακ. έτος Χειμερινό εξάμηνο Ακ. έτος 14-15 Χειμερινό εξάμηνο Page 1 of 16 Ακ. έτος 14-15 Χειμερινό εξάμηνο ΕΝΟΤΗΤΑ: Μάθημα Ερώτηση Πλήθος απαντήσεων Διάμεσος Μέσος Όρος Τυπική απόκλιση Ελάχιστη Μέγιστη Οι στόχοι του μαθήματος είναι

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Τεχνολογία Λογισμικού Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

Διαβάστε περισσότερα

Διδακτική της Πληροφορικής

Διδακτική της Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 11: Διδακτική της έννοιας της μεταβλητής Σταύρος Δημητριάδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

ΣΕΝΑΡΙΑ ΔΙΔΑΣΚΑΛΙΑΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΔΕΥΤΕΡΟΒΑΘΜΙΑ ΕΚΠΑΙΔΕΥΣΗ

ΣΕΝΑΡΙΑ ΔΙΔΑΣΚΑΛΙΑΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΔΕΥΤΕΡΟΒΑΘΜΙΑ ΕΚΠΑΙΔΕΥΣΗ 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 783 ΣΕΝΑΡΙΑ ΔΙΔΑΣΚΑΛΙΑΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΔΕΥΤΕΡΟΒΑΘΜΙΑ ΕΚΠΑΙΔΕΥΣΗ Ξυνόγαλος Στέλιος Διδάκτορας Εκπαιδευτικής Τεχνολογίας stelios@uom.gr ΠΕΡΙΛΗΨΗ Στην παρούσα

Διαβάστε περισσότερα

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο

Διαβάστε περισσότερα

Δυνατότητα Εργαστηρίου Εκπαιδευτικής Ρομποτικής στα Σχολεία (*)

Δυνατότητα Εργαστηρίου Εκπαιδευτικής Ρομποτικής στα Σχολεία (*) Δυνατότητα Εργαστηρίου Εκπαιδευτικής Ρομποτικής στα Σχολεία (*) Σ. Αναγνωστάκης 1, Α. Μαργετουσάκη 2, Π. Γ. Μιχαηλίδης 3 Παιδαγωγικό Τμήμα Δημοτικής Εκπαίδευσης Πανεπιστημίου Κρήτης 1 sanagn@edc.uoc.gr,

Διαβάστε περισσότερα

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13 Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις

Διαβάστε περισσότερα

Προγραμματισμός Διαδικτύου

Προγραμματισμός Διαδικτύου 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Προγραμματισμός Διαδικτύου Ενότητα 3 : Κατηγορίες και κληρονομικότητα Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Αντικείμενα ως ορίσματα Η μνήμη του υπολογιστή Η κύρια μνήμη (main memory - RAM) του υπολογιστή κρατάει τα δεδομένα για την εκτέλεση των προγραμμάτων.

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Constructors

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Constructors ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Constructors Κλάσεις και αντικείμενα Ορισμός κλάσης: class

Διαβάστε περισσότερα

Μάθημα: Διδακτική της Πληροφορικής. Περιγραφή μαθήματος. Διδάσκων: Παλαιγεωργίου Γ. Διαλέξεις: Παρασκευή 17:00-20:00

Μάθημα: Διδακτική της Πληροφορικής. Περιγραφή μαθήματος. Διδάσκων: Παλαιγεωργίου Γ. Διαλέξεις: Παρασκευή 17:00-20:00 Μάθημα: Διδακτική της Πληροφορικής Διδάσκων: Παλαιγεωργίου Γ. Διαλέξεις: Παρασκευή 17:00-20:00 email: gpalegeo@gmail.com Περιγραφή μαθήματος Με τον όρο "Διδακτική της Πληροφορικής" εννοούμε τη μελέτη,

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 15: Σχεδίαση Εφαρμογών Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Η κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης:

Η κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης: Αντικειμενοστρεφής Προγραμματισμός Τμήμα Εφαρμοσμένης Πληροφορικής Δημιουργία Κλάσεων/Αντικειμένων/Συσχετίσεων/Συνδέσεων Δημιουργία κλάσεων και αντικειμένων Θεωρούμε ένα υποθετικό σύστημα που αναφέρεται

Διαβάστε περισσότερα

Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι

Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Generic Types Τα Generics έχουν προστεθεί στη JAVA από το 2004 ως μέρος του J2SE 5.0 Με τη χρήση

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4 φοιτητές οπού ο καθένας έχει ένα

Διαβάστε περισσότερα

Η χρήση του MOODLE από την οπτική γωνία του ιαχειριστή

Η χρήση του MOODLE από την οπτική γωνία του ιαχειριστή Ανοικτή και Εξ Αποστάσεως Εκπαίδευση Χρησιµοποιώντας το Εκπαιδευτικό Περιβάλλον του MOODLE. Open and Distance Learning Using MOODLE Learning Environment Αθανάσιος Ι. Μάργαρης, Ευθύµιος. Κότσιαλος Πανεπιστήµιο

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή Οποιαδήποτε κλάση

Διαβάστε περισσότερα

Αρχές Τεχνολογίας Λογισμικού

Αρχές Τεχνολογίας Λογισμικού Αρχές Τεχνολογίας Λογισμικού Επισκόπηση του μαθήματος 2 Διδάσκοντες ΘΕΩΡΙΑ Νίκος Παπαδάκης ΕΡΓΑΣΤΗΡΙΟ Αϊβαλής Κώστας costis@teicrete.gr Κονδυλάκης Χάρης kondylak@gmail.com 3 Το μάθημα στο πρόγραμμα σπουδών

Διαβάστε περισσότερα

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ (1) ΓΕΝΙΚΑ ΣΧΟΛΗ ΠΟΛΥΤΕΧΝΙΚΗ ΤΜΗΜΑ Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0145 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 4ο ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Εργαστήριο Προγράμματος

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για τον πίνακα είπαμε ότι

Διαβάστε περισσότερα

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα ΤµήµαΕφαρµοσµένης Πληροφορικής Πανεπιστήµιο Μακεδονίας Θεσσαλονίκη Ιούνιος 2006 εισαγωγικού µαθήµατος προγραµµατισµού υπολογιστών.

Διαβάστε περισσότερα