ΠΡΟΧΩΡΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Χαρίδημος Κονδυλάκης Εισαγωγή

Σχετικά έγγραφα
ΗΥ 252: Αντικειµενοστρεφής Προγραµµατισµός

ΗΥ 252: Αντικειµενοστρεφής Προγραµµατισµός

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Διαδικαστικά

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

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

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

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

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

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

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13

Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής - Εβδομάδα 1

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

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

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

Δομές Δεδομένων (Data Structures)

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

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

Διάλεξη 1. Εισαγωγή Επισκόπηση άσκησης

Περιεχόμενα. Πρόλογος 15

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming)

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή Χειμερινό Εξάμηνο Παναγιώτης Τσαπάρας

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

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

Ειδικά Θέματα Προγραμματισμού

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

Εφαρμογή Μεθοδολογίας ICONIX

Πληροφορίες για το μάθημα

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Certified Java Programmer (CJP)

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

Week 10: Graphical User Interfaces

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

Δομή και Στόχοι του Μαθήματος - Εισαγωγή

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Σχεδίαση & Ανάλυση Αλγορίθμων

Δοµές Δεδοµένων. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Φθινοπωρινό Εξάµηνο Ευάγγελος Μαρκάκης

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ ΣΧΟΛΗ ΠΟΛΥΤΕΧΝΙΚΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0102 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 2

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

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

Οδηγός Διεξαγωγής Εργαστηρίου Ακ. Έτος

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή

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

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

Δομημένος Προγραμματισμός ΙΙΙ - Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή

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

Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών. Μάθημα: ECE_Υ106 Εισαγωγή στους Υπολογιστές. Εγχειρίδιο Μαθήματος

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Τεχνολογία Λογισμικού

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

Outline. 4 Object-Oriented Programming

Περιεχόμενα. Πρόλογος 15

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τµήµα ιοικητικής Επιστήµης και Τεχνολογίας ΥΛΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ JAVA.

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

Java Μέρος Ι Αντικειμενοστρεφής Προγραμματισμός - 7

Περιγραφή Μαθήματος ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ. Γεώργιος Παπαϊωάννου ( )

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Εισαγωγή στη γλώσσα προγραμματισμού C++14

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή Χειμερινό Εξάμηνο Νίκος Μαμουλής

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

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

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

3. Περιγράμματα Μαθημάτων Προγράμματος Σπουδών

ΕΠΟΠΤΙΚΟ ΥΛΙΚΟ ΔΙΑΛΕΞΕΩΝ ΤΟΥ ΜΑΘΗΜΑΤΟΣ «ΕΔΑΦΟΜΗΧΑΝΙΚΗ Ι» - Τμήμα 2 (Μ-Ω)

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

Ανάλυση Περιπτώσεων Χρήσης

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

K15 Ψηφιακή Λογική Σχεδίαση 1: Εισαγωγή

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

Αποτελέσματα. ΜΟΔΙΠ Πανεπιστημίου Κρήτης Ερωτηματολόγιο 'Μιγαδική Ανάλυση II' Ερωτηματολόγιο

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

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

Περίγραμμα. Διαδικαστικά. Εργαστήρια Τεχνικών Προγραμματισμού 21/2/2017. ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ και Τεχνικές Προγραμματισμού

Δίκτυα Υπολογιστών I

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ και Τεχνικές Προγραμματισμού

Transcript:

ΠΡΟΧΩΡΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Χαρίδημος Κονδυλάκης Εισαγωγή

ΟΡΓΑΝΩΣΗ ΜΑΘΗΜΑΤΟΣ

Πληροφορίες Διδάσκοντα Διδάσκοντας: Χαρίδημος Κονδυλάκης Email: Kondylak@ics.forth.gr Εβδομαδιαίες Ώρες Διδασκαλίας: 2 ώρες θεωρία + 2 ώρες εργαστήριο + 1 ώρα άσκηση

Γενικές Πληροφορίες Αυτό το μάθημα παρέχει μια εισαγωγή στον αντικειμενοστραφή προγραμματισμό (object oriented programming) χρησιμοποιώντας τη γλώσσα προγραμματισμού Java. Ο σκοπός του είναι να διδάξει τις βασικές έννοιες και τεχνικές που συνιστούν το υπόδειγμα του αντικειμενοστραφούς προγραμματισμού. Φοιτητές που ολοκληρώνουν το μάθημα θα είναι σε θέση να γνωρίζουν: Το μοντέλο του αντικειμενοστραφούς προγραμματισμού: αφαιρετικοί τύποι δεδομένων, ενθυλάκωση, κληρονομικότητα, πολυμορφισμός Τα βασικά στοιχεία μιας γλώσσας αντικειμενοστραφούς προγραμματισμού όπως η Java: κλάσεις και διεπαφές αντικειμένων, εξαιρέσεις μεθόδων και χειρισμός συλλογών αντικειμένων Πώς από την περιγραφή ενός προβλήματος να καθορίζουν την λογική για την επίλυση του προβλήματος σύμφωνα με το υπόδειγμα του αντικειμενοστραφούς προγραμματισμού και κατόπιν να είναι σε θέση να την υλοποιούν σε ένα Java πρόγραμμα Πώς να δοκιμάζουν, τεκμηριώνουν και προετοιμάζουν ένα επαγγελματικό πρόγραμμα χρησιμοποιώντας τα εργαλεία της Java (assertions, javadoc, packages) καθώς και ολοκληρωμένα περιβάλλοντα ανάπτυξης λογισμικού

Υλικό Μαθήματος Συνιστώμενη Βιβλιογραφία Απόλυτη Java, W. Savitch, ΙΩΝ, 2008. Συμπληρωματική σελίδα εδώ. Java με UML: Αντικειμενοστραφής Σχεδίαση και Προγραμματισμός, E. Lervik, V Havdal Κλειδάριθμος, 2005 Ανάπτυξη Προγραμμάτων σε Java: Αφαιρέσεις, προδιαγραφές και αντικειμενοστραφής σχεδιασμός, B. Liskov, J. Guttag, Κλειδάριθμος, 2007 Java Collections: An Introduction to Abstract Data Types, Data Structures and Algorithms, David A. Watt,Deryck F. Brown and Dave Watt, John Wiley & Sons 2001

Τρόπος βαθμολόγησης Aπαιτείται η επιτυχημένη ολοκλήρωση τόσο της θεωρίας όσο και του εργαστηρίου Βαθμός Θεωρίας= 10 % * Άσκηση 1 + 10% * Άσκηση 2 + 20% * Άσκηση 3 + 60% * Τελικό διαγώνισμα. Βαθμός Εργαστηρίου= 50% *Εργασία + 50%*Τελικό διαγώνισμα.

Προγραμματισμός Διαλέξεων Εβδομάδα 1 - Διαδικαστικά και Γενική Εισαγωγή Θεωρία: Εισαγωγή, Επισκόπηση και Ιστορική Αναδρομή και Αντικειμενοστραφής Προγραμματισμός. Εργαστήριο: Eclipse & Netbeans και εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό. Εβδομάδα 2 Java Classes & Objects Θεωρία: Ορισμός κλάσεων και δημιουργία, αλλαγή και χρήση αντικειμένων. Εργαστήριο: Ασκήσεις πάνω στον ορισμό και την χρήση κλάσεων. Εβδομάδα 3 Java Arrays & Strings Θεωρία: Java Arrays & Strings. Εργαστήριο: Ασκήσεις πάνω σε Java Arrays & Strings. Εβδομάδα 4 Ενθυλάκωση και πολυμορφισμός Θεωρία: Ενθυλάκωση κληρονομικότητα και πολυμορφισμός. Εργαστήριο: Ασκήσεις πάνω σε Ενθυλάκωση, Κληρονομικότητα και πολυμορφισμό. Εβδομάδα 5 Abstract Classes & Interfaces Θεωρία: Abstract Classes & Interfaces. Εργαστήριο: Ασκήσεις πάνω σε Abstract Classes & Interfaces. Εβδομάδα 6 - Abstract Data Types Θεωρία: Abstract Data Types. Εργαστήριο: Ασκήσεις πάνω σε Abstract Data Types.

Προγραμματισμός Διαλέξεων Εβδομάδα 7 Exceptions Θεωρία: Exceptions. Εργαστήριο: Ασκήσεις πάνω σε Exceptions. Εβδομάδα 8 UML Θεωρία: Σχεδίαση με χρήση UML. Εργαστήριο: Ασκήσεις πάνω σε σχεδίαση με UML. Εβδομάδα 9 Swing I Θεωρία: Σχεδίαση GUI με το SWING, Components & Layout Managers Εργαστήριο: Ασκήσεις πάνω σε σχεδίαση GUI. Εβδομάδα 10 Swing II Θεωρία: Χρήση Events & Action Listeners. Εργαστήριο: Ασκήσεις πάνω στη χρήση Events & Action Listeners. Εβδομάδα 11 JDBC Θεωρία: Βασικές έννοιες JDBC και διαχείριση δεδομένων Εργαστήριο: Ασκήσεις πάνω στη χρήση JDBC. Εβδομάδα 12 Threads Θεωρία: Δημιουργία και χρήση threads Εργαστήριο: Ασκήσεις πάνω στη δημιουργία και χρήση threads.

Εργασίες Ημ/νια Εβδομάδα 2 Εβδομάδα 5 Εβδομάδα 8 Εργασίες 1 η Σειρά Ασκήσεων Πρώτη επαφή με Java. Στην άσκηση αυτή θα ζητούνται μικρές ασκήσεις ελέγχου ροής, είσοδου/εξόδου από κονσόλα και παράθυρα διαλόγου Διάρκεια: 2 εβδομάδες Παράδοση: Τέλος 4 ης εβδομάδας 2 η Σειρά Ασκήσεων Συνδεδεμένες κλάσεις, δημιουργία αντικειμένων, shadowing, overriding Στην άσκηση αυτή οι φοιτητές καλούνται να δημιουργήσουν κλάσεις και αντικείμενα και να επιδείξουν ενθυλάκωση, κληρονομικότητα, shadowing και overriding. Διάρκεια: 2 εβδομάδες Παράδοση: Τέλος 7 ης εβδομάδας 3 η Σειρά Ασκήσεων GUI and Events Στην άσκηση αυτή οι φοιτητές καλούνται να υλοποιήσουν μικρές εφαρμογές με GUIs που να λαμβάνουν και να χρησιμοποιούν Events. Διάρκεια: 2 εβδομάδες Παράδοση: Τέλος 10 ης εβδομάδας

Εβδομάδα 4 Κεντρική εργασία Stratego Στόχος της εργασίας είναι η σχεδίαση και η υλοποίηση μιας παραλλαγής του κλασσικού παιχνιδιού Stratego. Η εργασία θα γίνει από ομάδες 2 ατόμων. Επιπλέον θα γίνει σε δυο φάσεις Φάση 1 Σχεδίαση. Θα περιλαμβάνει ανάπτυξη use-cases, UML διαγραμμάτων και mock-ups των οθονών της εφαρμογής. Επιπλέον θα πρέπει να αναγνωριστούν οι κλάσεις και οι διεπαφές για όλες τις συνιστώσες του προγράμματος, οι συμπεριφορές, οι κλήσεις και οι υπογραφές για όλες τις μεθόδους. Φάση 2 Υλοποίηση. Θα περιλαμβάνει την κυρίως υλοποίηση του συστήματος. Παράδοση Φάση 1: Τέλος 6 ης εβδομάδας. Παράδοση Φάση 2: Τέλος 12 ης εβδομάδας.