Αρχές Τεχνολογίας Λογισμικού
Επισκόπηση του μαθήματος 2
Διδάσκοντες ΘΕΩΡΙΑ Νίκος Παπαδάκης ΕΡΓΑΣΤΗΡΙΟ Αϊβαλής Κώστας costis@teicrete.gr Κονδυλάκης Χάρης kondylak@gmail.com 3
Το μάθημα στο πρόγραμμα σπουδών του Τμήματος ΕΠΠ Μάθημα Δ Εξαμήνου Συνιστώμενα Προαπαιτούμενα μαθήματα Προγραμματισμός Δομές Δεδομένων & Αλγόριθμοι Σύγχρονα Θέματα Πληροφορικής 4
Στόχοι του μαθήματος Η εξοικείωση και πλήρης κατανόηση των εννοιών: Κλαση Αντικέιμενο Αντικειμενοστραφής προγραμματισμός Κατανόηση επιμέρους εννοιών όπως: Κληρονομικότητα (inheritance) Πολυμορφισμός (polymorphism) Απόκτηση εμπειρίας στην ανάπτυξη λογισμικού με τη χρήση μιας αντιπροσωπευτικής αντικειμενοστραφούς γλώσσας προγραμματισμού όπως η Java, σε γραφικό περιβάλλον. 5
Περιεχόμενο & θεματικές ενότητες (1/2) Βασικά Στοιχεία της Java Περιβάλλον ανάπτυξης(ide) Εισαγωγή στο NetBeans Βασικές αρχές αντικειμενοστρέφειας Κλάσεις (class) Χαρακτηριστικά (attributes) Συμπεριφορές (methods) Αντικείμενα (objects) Μεθόδους (methods) Κληρονομικότητα (inheritance) Πολυμορφισμός (polymorphism) Swing Components Layout Managers Action Listeners 6
Περιεχόμενο & θεματικές ενότητες (2/2) Unified Modeling Language (UML) Βασικές Κλάσεις (essential classes) Εξαιρέσεις (exceptions ) Είσοδος Έξοδος (Basic I/O) Νήματα (Threads) Σύνδεση με βάση δεδομένων (JDBC) Βασικές έννοιες Διαχείριση δεδομένων με GUI 7
ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΔΙΔΑΣΚΑΛΙΑΣ ΕΡΓΑΣΤΗΡΙΑΚΟΥ ΜΑΘΗΜΑΤΟΣ Εβδομάδα Αντικείμενο Εργασία 1 η Βασικά Στοιχεία της Java Εισαγωγή στο NetBeans 2 η Βασικές αρχές αντικειμενοστρέφειας Ι (Κλάσεις, Αντικείμενα, Μεθόδους) Homework 1 3 η Βασικές αρχές αντικειμενοστρέφειας ΙΙ (Κληρονομικότητα) 4 η Βασικές αρχές αντικειμενοστρέφειας ΙΙI (Abstract structures) UML Homework 2 5 η Swing Ι (Components, Layout Managers) 6 η Swing ΙΙ (Action Listeners) Project Phase 1 7 η Βασικές Κλάσεις (Essential Classes) Exceptions Basic I/O Homework 3 8 η Υλοποίηση Project Ασκήσεις σε προχωρημένα Θέματα 9 η Υλοποίηση Project Ασκήσεις σε προχωρημένα Θέματα Homework 4 10 η JDBC Σύνδεση με βάσεις δεδομένων 11 η Υλοποίηση Project Ασκήσεις σε προχωρημένα Θέματα 12 η Προφορική εξέταση project Project Oral Examination 13 η Τελική Εξέταση 8
Βασικά εγχειρίδια Πλήρες Εγχειρίδιο της Java 6 Συγγραφείς : Lemay, Cadenhead Εκδοτικός οίκος: Εκδόσεις Μ.Γκιούρδας Έτος έκδοσης: 2007 Τόπος έκδοσης: Αθήνα The Java Tutorials Link: http://download.oracle.com/javase/tutorial/index.html 9
Τρόπος διδασκαλίας Θεωρητικό μέρος Παρουσιάσεις power point Παραδείγματα Πρακτικό μέρος Ασκήσεις και μικρά ομαδικά projects μέσα στην τάξη Προεραιτικές ασκήσεις για το σπίτι Υποχρεωτικές εργασίες / Project για το σπίτι 10
Δομή διαφανειών Περίληψη προηγούμενου μαθήματος Τι είδαμε την προηγούμενη φορά Περίληψη σημερινού μαθήματος Τι θα δούμε σήμερα Θεωρία Σύντομη περιγραφή των εννοιών που πρέπει να γνωρίζουμε για να λύσουμε τις ασκήσεις Ασκήσεις για την τάξη Ασκήσεις που θα λύνονται την ώρα του εργαστηρίου Ασκήσεις για το σπίτι Προαιρετικές ασκήσεις για εξάσκηση Υποχρεωτική εργασία / Project Υποχρεωτική εργασία που θα βαθμολογείται Βιβλιογραφία Χρήσιμα Links και παραδείγματα για την κατανόηση του σημερινού μαθήματος 11
Αξιολόγηση Εργαστηριακού μέρους Όλες οι ασκήσεις του μαθήματος θα αναρτώνται στο e-class Ασκήσεις Mini Project 40% επί του τελικού βαθμού, Ασκήσεις ή ενότητες mini-project υποχρεωτική παράδοση, Όλες οι ασκήσεις ή οι ενότητες mini-project πρέπει να έχουν θετική βαθμολογία για συμμετοχή στην τελική εξέταση, Τελική Εξέταση Δικαίωμα συμμετοχής στην τελική εξέταση κατοχυρώνεται από την παράδοση των υποχρεωτικών ασκήσεων ή ενοτήτων mini-project εφόσον έχουν θετική βαθμολογία. Σε περίπτωση βαθμού τελικής εξέτασης κάτω από 4 το ποσοστό των ασκήσεων - mini-project δεν προσμετρείται. Σε περίπτωση βαθμού τελικής εξέτασης από 4 έως 5 το ποσοστό των ασκήσεων - mini-project προσμετρείται για να επιτευχθεί το 5. Σε περίπτωση βαθμού τελικής εξέτασης από 5 και πάνω το ποσοστό των ασκήσεων - mini-project προσμετρείται κανονικά. 12
Χρήσιμα Links The Java Tutorials: http://download.oracle.com/javase/tutorial/index.html «The Java Tutorials are practical guides for programmers who want to use the Java programming language to create applications. They include hundreds of complete, working examples, and dozens of lessons. Groups of related lessons are organized into "trails".» The Really Big Index: http://download.oracle.com/javase/tutorial/reallybigindex.html «A list of all content pages in the The Java Tutorial» The Java API: http://docs.oracle.com/javase/8/docs/api/ «This document is the API specification for version 6 of the Java Platform, Standard Edition.» Το Application Programming Interface της Java (Java API) περιέχει όλες τις κλάσεις που διαθέτει η Java ομαδοποιημένες, ανάλογα με τις λειτουργίες που προσφέρουν, σε ενότητες(πακέτα), την περιγραφή της λειτουργίας κάθε κλάσης καθώς και των μεθόδων της. 13
eclass Αντικειμενοστραφής Προγραμματισμός Ι 14
Τι πρέπει να κάνετε Σπουδαστές που παίρνουν το μάθημα θα πρέπει να συνδεθούν στο eclass, να δημιουργήσουν λογαριασμό χρήστη (αν δεν έχουν ήδη) και να δηλώσουν το μάθημα https://eclass.teicrete.gr/ Δημιουγία λογαρισμο ύ 15
Τέλος διαφανειών See you next time! The end 16