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

Κωδικός Μαθήματος:

EEE.2.5

Εξάμηνο:

Β' Εξάμηνο

Κατηγορία:

ΜΓΥ

Ώρες:

3Θ + 1Ε

Μονάδες ECTS:

4


ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα είναι σε θέση:

  • Να έχει κατανοήσει τις έννοιες του Αντικειμενοστραφούς και Γεγονοστραφούς προγραμματισμού.
  • Να έχει γνώση χρήσης εργαλείων οπτικού προγραμματισμού για τη δημιουργία κώδικα σε ένα αντικειμενοστραφές προγραμματιστικό περιβάλλον.
  • Να χρησιμοποιεί σε επίπεδο βασικών γνώσεων τη γλώσσα προγραμματισμού Java για τη δημιουργία εφαρμογών.
  • Να αναλύει και να κατανοεί τις λειτουργίες κώδικα ο οποίος έχει γραφτεί σε μία αντικειμενοστραφή γλώσσα προγραμματισμού, και ειδικότερα σε γλώσσες όπως η Java, η C++, η Python, η JavaScript, κοκ.
  • Να εργαστεί ατομικά ή ομαδικά σε θέματα ανάπτυξης εφαρμογών και υπηρεσιών με χρήση της γλώσσας Java.

 

Λέξεις κλειδιά: Αντικειμενοστραφής – Γεγονοστραφής – Οπτικός, προγραμματισμός, εφαρμογές, κλάσεις, μέθοδοι, αντικείμενα, Java.

 

Γενικές Ικανότητες

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

 

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

Το μάθημα εισάγει τους/τις φοιτητές/τριες στις έννοιες που σχετίζονται με τον Αντικειμενοστραφή προγραμματισμό, με την παρουσίαση των βασικών αρχών του Αντικειμενοστραφούς (Object Oriented), Γεγονοστραφούς (Event Driven) και Οπτικού (Visual) Προγραμματισμού, ενώ στη συνέχεια παρουσιάζει τη χρήση της πιο δημοφιλούς γλώσσας Αντικειμενοστραφούς προγραμματισμού Java. Η παρουσίαση της γλώσσας γίνεται τόσο σε επίπεδο θεωρητικής παρουσίασης του τρόπου σύνταξης και χρήσης της, όσο και μέσω παραδειγμάτων, μελετών περίπτωσης, εφαρμογών «μισοψημένου» κώδικα, σχεδίων δράσης, κοκ.

  1. Ενότητα 1: Εισαγωγή στον αντικειμενοστραφή προγραμματισμό και τη γλώσσα Java
    Παρουσιάζονται οι βασικές αρχές Αντικειμενοστραφούς (Object Oriented) και Γεγονοστραφούς
    (Event Driven) προγραμματισμού, καθώς και η χρήση Οπτικού (Visual) προγραμματισμού.
    Περιεχόμενα: Βασικές έννοιες-Γενιές Γλωσσών-Είδη Προγραμματισμού, Αντικειμενοστραφής
    Προγραμματισμός, Η γλώσσα Java (Ιστορία, Προϊόντα, Τεχνολογίες, Περιβάλλον, Ορολογία)
  2. Ενότητα 2: Ανάπτυξη κώδικα Java
    Παρουσιάζονται τα βασικά στοιχεία και εντολές για τη συγγραφή ενός προγράμματος καθώς και ένα πρώτο, απλό πρόγραμμα σε Java.
    Περιεχόμενα: Το «Σπειροειδές Μοντέλο» Ανάπτυξης, Βασικές ιδέες Αντικειμενοστραφή
    Προγραμματισμού (κλάσεις, στιγμιότυπα, ιδιότητες, συμπεριφορές, μοντελοποίηση), Συντακτικό
    Java (Σημεία διακοπής, κενά, εσοχές και αγκύλες, εντολές, κύρια μέθοδος, συντακτικά λάθη, κ.α.)
  3. Ενότητα 3: Μεταβλητές
    Παρουσιάζονται οι μεταβλητές της Java καθώς και ο τρόπος επικοινωνίας με το χρήστη
    Περιεχόμενα: Μεταβλητές (τύποι, δήλωση, ονομασία, λάθη, σταθερές) Αριθμητικά δεδομένα (ακέραιοι, πραγματικοί), Χαρακτήρες-Συμβολοσειρές-Ακολουθίες διαφυγής, Μετατροπές (explicit/implicit typecast), Δεδομένα Εισόδου (input data).
  4. Ενότητα 4: Μέθοδοι, κλάσεις και βιβλιοθήκες της Java
    Παρουσιάζονται οι κλάσεις και τα αντικείμενα στη Java, και οι τρόποι δημιουργίας και χρήσης τους.
    Περιεχόμενα: Δημιουργία-δομή κλάσης, Βιβλιοθήκες, Οι κλάσεις String, Random & Math
  5. Ενότητα 5: Δομές Επιλογής (Decision Statements)
    Παρουσιάζονται οι Δομές Επιλογής της Java.
    Περιεχόμενα: Boolean μεταβλητές, Λογικοί τελεστές, Δομές επιλογής if/else, Chain/Nested if, Switch
  6. Ενότητα 6: Δομές Επανάληψης (Loop Statements)
    Παρουσιάζονται οι Δομές Επανάληψης της Java.
    Περιεχόμενα: Δομές Επανάληψης For, While, Do-While, εντολές Break & Continue
  7. Ενότητα 7. Πίνακες & Εξαιρέσεις (Arrays & Exceptions )
    Παρουσιάζονται οι μονοδιάστατοι και πολυδιάστατοι πίνακες και οι λίστες πινάκων καθώς και οι εξαιρέσεις και ο χειρισμός τους.
    Περιεχόμενα: Μονοδιάστατοι πίνακες (One-dimensional Arrays), Πολυδιάστατοι πίνακες (Multidimensional Arrays), Λίστες Πινάκων (Array Lists), Χειρισμός εξαιρέσεων (Exception Handling)
  8. Ενότητα 8: Γραφικό περιβάλλον και δημιουργία user interface
    Περιεχόμενα: Κληρονομικότητα (Inheritance), Διεπαφές (Interfaces), Είσοδος- Έξοδος (I/O), Java FX
  9. Eνότητα 9: Η Πλατφόρμα Alice
    Περιεχόμενα: Eισαγωγή στις βασικές αρχές των object oriented, event driven και visual programming με χρήση της πλατφόρμας Alice
  10. Eνότητα 10: Η πλατφόρμα Greenfoot
    Περιεχόμενα: Εισαγωγή στον προγραμματισμό στη γλώσσα Java και στη χρήση κλάσσεων και αντικειμένων με χρήση της πλατφόρμας Greenfoot και της δημιουργίας παιχνιδιών με αυτή
  11. Eνότητα 11: Η πλατφόρμα BlueJ
    Περιεχόμενα: Γνωριμία με ένα ολοκληρωμένο περιβάλλον προγραμματισμού με χρήση της πλατφόρμας BlueJ
    Eνότητα 12: Δημοφιλείς γλώσσες προγραμματισμού
    Περιεχόμενα: Παρουσίαση δημοφιλών γλωσσών αντικειμενοστραφούς προγραμματισμού C++, C#, Python, JavaScript, .ΝΕΤ
  12. Eνότητα 13: Εισαγωγή στα ολοκληρωμένα περιβάλλοντα ανάπτυξης
    Περιεχόμενα: Παρουσίαση ολοκληρωμένων περιβαλλόντων για ανάπτυξη εφαρμογών σε Java (Eclipse, NetBeans, InteliJ, Android Studio)

 

ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

Δικαίωμα εξέτασης έχουν μόνο οι φοιτητές/τριες, οι οποίοι έχουν δηλώσει το μάθημα και έχουν δικαίωμα να εξεταστούν, σύμφωνα με τις λίστες της γραμματείας του τμήματος. Για το θεωρητικό μέρος, οι εξετάσεις πραγματοποιούνται με τη λήξη των διαλέξεων και περιλαμβάνουν γραπτή εξέταση στη διδαχθείσα ύλη. Οι εξετάσεις πραγματοποιούνται στα Ελληνικά (στα Αγγλικά, για φοιτητές/τριες Erasmus), και περιλαμβάνουν:
-Ερωτήσεις πολλαπλής επιλογής.
-Επίλυση προβλημάτων σχετικών με ανάπτυξη πηγαίου κώδικα και ανάλυση κώδικα προγράμματος.
-Απαντήσεις σε ερωτήσεις σχετικά με θέματα αντικειμενοστραφούς (object oriented),γεγονοστραφούς (event driven) και οπτικού (visual)  προγραμματισμού.

Για το εργαστηριακό μέρος η εξέταση βασίζεται στην παράδοση ατομικής/ομαδικής εργασίας.

 

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

  1. Harvey Deitel, Paul Deitel, «Java Προγραμματισμός, 8η έκδοση», Γκιούρδας, 2010.
  2. Γιώργος Λιακέας, “Εισαγωγή στη Java», Κλειδάριθμος, 2009.
  3. Χρήστος Κυτάγιας, Κώστας Δ. Κυτάγιας, Γιώργος Πρεζεράκος, Δημήτρης Κυτάγιας, «Αντικειμενοστραφής Προγραμματισμός με Java», Σύγχρονη Εκδοτική, 2013.
  4. Michael Kölling, “Introduction to Programming with Greenfoot. Object-Oriented Programming in Java with Games and Simulations”, Pearson Education, August 2009