Παρουσίαση/Προβολή

Εικόνα επιλογής

Ειδικά θέματα στον προγραμματισμό Yπολογιστών

(S210217) -  ΙΩΑΝΝΗΣ ΚΩΣΤΑΣ

Περιγραφή Μαθήματος

Ειδικά θέματα στον προγραμματισμό Yπολογιστών

H Java είναι μια γλώσσα προγραμματισμού η οποία μπορεί να υποστηρίξει την ανάπτυξη, οποιασδήποτε εφαρμογής, σε οποιαδήποτε πλατφόρμα, από τους προσωπικούς υπολογιστές και τα κινητά τηλέφωνα με Android μέχρι την ψηφιακή τηλεόραση. Ο σύντομος χρόνος ανάπτυξης μιας εφαρμογής, ειδικά από μη έμπειρους προγραμματιστές είναι στα πλεονεκτήματα αυτής της γλώσσας. Αξιοποιώντας αυτό το πλεονέκτημα της Java οι μαθητές, στο τέλος του μαθήματος, θα πρέπει να μπορούν να σχεδιάσουν και να υλοποιήσουν ολοκληρωμένες εφαρμογές μικρής έκτασης με την αντικειμενοστρεφή φιλοσοφία.
Τα εργαλεία που θα χρησιμοποιήσουμε στην Ενότητα 1 του μαθήματος, είναι ουσιαστικά δυο:
Το περιβάλλον προγραμματισμού GreenFoot και το Eclipse. Αρχικά αξιοποιούμε τα εκπαιδευτικά πλεονεκτήματα του GreenFoot, για μια πρώτη εισαγωγή στα αντικειμενοστρεφή χαρακτηριστικά της γλώσσας και στον γεγονοστρεφή προγραμματισμό. Η παρουσίαση των αλγοριθμικών δομών επιλογής και επανάληψης είναι σύντομη δεδομένου ότι, οι μαθητές τις έχουν ξανασυναντήσει και σε προηγούμενη τάξη, είτε σε ψευδογλώσσα, είτε σε πραγματική γλώσσα προγραμματισμού (Pascal/Python). Προτείνεται το βασικό προγραμματιστικό περιβάλλον του μαθήματος να είναι το Eclipse το οποίο έχει ενσωματωμένα όλα τα εργαλεία ανάπτυξης εφαρμογών π.χ. javadoc, Ant, JUnit. Ωστόσο αν θεωρηθεί πολύ βαρύ για τους υπολογιστές του εργαστηρίου πληροφορικής μπορούμε να χρησιμοποιήσουμε έναν πολύ ελαφρύ συντάκτη πηγαίου κώδικα όπως το Notepad++. Η μεταγλώττιση και η εκτέλεση των εφαρμογών μας θα πρέπει όμως να γίνεται από τη γραμμή εντολών κάτι που δεν είναι ιδιαίτερα ελκυστικό για τους μαθητές. 

Θα χρησιμοποιηθεί η βιβλιοθήκη της Java Task Force (JTF) της ACM, η οποία στην αρχή θα μας βοηθήσει να αποφύγουμε τις δυσκολίες που ανακύπτουν κατά τον προγραμματισμό λειτουργιών εισόδου/εξόδου. Η χρήση της βιβλιοθήκης θα μας βοηθήσει να αποκρύψουμε αρκετές επουσιώδεις λεπτομέρειες της γλώσσας, που στα πρώτα μαθήματα μπορεί να δυσκολέψουν αρκετά τους μαθητές. Θα πρέπει να σημειωθεί ότι ο γενικότερος σκοπός είναι να έρθουν οι μαθητές σε επαφή με τη φιλοσοφία ανάπτυξης μιας ολοκληρωμένης εφαρμογής σε Java και όχι να μάθουν τις λεπτομέρειες κάποιου πακέτου ή περιβάλλοντος προγραμματισμού, που αύριο μπορεί να θεωρηθεί ξεπερασμένο.
Άρα, καθώς θα αναπτύσσουν την εφαρμογή τους, είναι καλή πρακτική να αναζητούν στο διαδίκτυο βέλτιστες λύσεις σε προβλήματα που θα συναντήσουν, μέσω δικτυακών τόπων όπως το stackoverflow και να μπορούν να χρησιμοποιούν την τεκμηρίωση των βιβλιοθηκών της Java, ώστε να βρίσκουν γρήγορα και εύκολα αυτό που ψάχνουν.Ένας μαθητής μπορεί να αναλάβει τον σχεδιασμό της γραφικής διεπαφής, ένας άλλος την επικοινωνία με τη βάση δεδομένων κοκ. Σε κάθε κεφάλαιο υπάρχουν αρκετά παραδείγματα κώδικα τα οποία επιβάλλεται να
εκτελέσουν οι μαθητές στο εργαστήριο και να διερευνήσουν τα αποτελέσματά τους. Μια καλή πρακτική θα ήταν να δώσετε στους μαθητές τα απαραίτητα αρχεία κώδικα ώστε να χτίσουν την εφαρμογή και να πειραματιστούν με αυτή. Σκοπός είναι να ανακαλύψουν, τα βασικά χαρακτηριστικά της γλώσσας. Τα προγράμματα που παρουσιάζονται σε κάθε κεφάλαιο θα μπορούσαν να τροποποιηθούν ή να επεκταθούν ώστε να συμπεριλάβουν και πιο γενικές περιπτώσεις. Το δεύτερο μέρος έχει σκοπό να εξοικειώσει τους μαθητές με την ανάπτυξη ολοκληρωμένων εφαρμογών για την πλατφόρμα Android. Η πλατφόρμα αυτή αφορά κυρίως στην περίπτωση των κινητών συσκευών και ταμπλετών όπου ο ρόλος της στην αγορά είναι σημαντικός. Παρουσιάζει δε σημαντικές ιδιοτυπίες καθώς όχι απλά επιτρέπει αλλά διευκολύνει ιδιαίτερα την επικοινωνία μεταξύ εφαρμογών, την αξιοποίηση τμημάτων της μίας από την άλλη και την από κοινού χρήση πόρων.

Ημερομηνία δημιουργίας

Πέμπτη 29 Οκτωβρίου 2020