18
NTUA, 23 October 2018 http://mgroup.ntua.gr Large scale analysis and modeling group

mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

NTUA, 23 October 2018

http://mgroup.ntua.gr

Large scale analysis and modeling group

Page 2: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

Σύνοψη

• Παρουσίαση του MGroup

• Πρόγραμμα διαλέξεων

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

• Συντακτικό της C#

2/30

Page 3: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

MGroup

• Εργαστήριο ειδικευμένο στην υπολογιστική μηχανική

• Κομμάτι του Εργαστηρίου Στατικής και Αντισεισμικών Ερευνών της σχολής Πολιτικών Μηχανικών του ΕΜΠ

• Επιστημονικοί υπεύθυνοι οι αναπ. καθηγητής Βησσαρίων Παπαδόπουλος και ομοτ. καθηγητής Μανόλης Παπαδρακάκης

• http://mgroup.ntua.gr

3/30

Page 4: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

Διαλέξεις • Προ- και μεταπτυχιακά

• Στατική ανάλυση φορέων

• Πεπερασμένα στοιχεία

• Στοχαστική μηχανική

• Μη-γραμμικές μέθοδοι

• Υπολογιστικοί αλγόριθμοι

• Ανεξάρτητες διαλέξεις • Προγραμματισμός

4/30

Page 5: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

Ερευνητικές περιοχές

• Ανάλυση και σχεδιασμός κατασκευών

• Μοντελοποίηση υλικών

• Ανάλυση πολλαπλών κλιμάκων

• Ποσοτικοποίηση αβεβαιοτήτων

• Βέλτιστος σχεδιασμός

• Εφαρμογές τεχνητής νοημοσύνης στην ανάλυση κατασκευών

• Προγραμματισμός σε περιβάλλοντα υψηλών επιδόσεων

• Κάρτες γραφικών και επιταχυντές

5/30

Page 6: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

Πρόγραμμα διαλέξεων

• Εισαγωγή στον αντικειμενοστραφή προγραμματισμό και στο συντακτικό της C#

• Περιβάλλον προγραμματισμού Visual Studio και το .NET framework

• Αριθμητική ανάλυση και γραμμική άλγεβρα στη C#

• Εφαρμογή σε προβλήματα δικτυωμάτων

• Object oriented patterns

• MSolve

6/30

Page 7: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

Προαπαιτούμενα

• Visual Studio Community Edition https://visualstudio.microsoft.com/downloads/

7/30

Page 8: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

Δομημένος προγραμματισμός

• Βασικά συστατικά • Υπορουτίνες και συναρτήσεις • Μονολιθικές δομές (block) • Δομές ελέγχου ροής (loops)

• Στόχοι • Βελτίωση της σαφήνειας του κώδικα • Μείωση του χρόνου ανάπτυξης • Αποφυγή κώδικα «σπαγγέτι»

8/30

Page 9: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

Δομημένος προγραμματισμός

9/30

Page 10: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

Δομημένος προγραμματισμός

10/30

• Μέθοδος αφαίρεσης για: • Ακολουθία εντολών • Έλεγχος ροής • Επαναληψιμότητα

Page 11: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

Δομημένος προγραμματισμός

11/30

• Σχεδιασμός βάση ροής εργασιών • Οργάνωση των ενεργείων ενός προγράμματος σε

υποπρογράμματα/υπορουτίνες • Κατάσταση (State)

• Καθολική • Μεταφέρεται μέσω των ορισμάτων των υπορουτινών ή

των συναρτήσεων

• Ισχυρή σύζευξη μεταξύ των υποπρογραμμάτων • Δυσκολεύει τη συντήρηση • Ripple effect

Page 12: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

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

12/30

• Kύρια συστατικά • Κλάσεις και αντικείμενα

• Μέθοδοι (προσδίδουν συμπεριφορά) • Ιδιότητες (ορίζουν κατάσταση – state)

• Στόχοι • Ακριβής μοντελοποίηση του κόσμου • Αρθρωματικότητα (Modularity) • Αφαίρεση (Abstraction) • Separation of concerns

Page 13: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

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

13/30

• Ορολογία • Κλάση: ιδέα/σχέδιο καταστασης και συμπεριφοράς • Αντικείμενο: υλοποίηση μιας κλάσης • Ιδιότητα: Μεταβλητή που εχει πληροοφορία

κατάστασης • Μέθοδος: υπορουτίνα που ορίζει συμπεριφορά

• Κύρια χαρακτηριστικά

• Ενθυλάκωση • Κληρονομικότητα • Πολυμορφισμός

Page 14: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

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

14/30

• Ενθυλάκωση • Κατάσταση+συμπεριφορά είναι μία οντότητα • Η δομή της κλάσης ελέγχει

• Δεδομένα που είναι διαθέσιμα στον έξω κόσμο • Εσωτερική και εξωτερική συμπεριφορά

• Data hiding

• Μείωση του ripple effect κατά την αλλαγή υλοποιήσεων • Προσδίδει μια απλουστευμένη διεπαφή

προγραμματισμού

Page 15: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

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

15/30

• Κληρονομικότητα • Νέες κλάσεις βασίζονται σε ήδη υπάρχουσες • Ιδιότητες και συμπεριφορές των γονεϊκών

κλάσεων περνιούνται και στα «παιδιά» • Οι νέες κλάσεις μπορούν να μεταβάλουν ή να

επεκτείνουν τα ως άνω • Ορίζουν τη σχέση “is a”

• Προωθεί την επαναχρησιμοποίηση κώδικα • Ορισμός της συσχέτισης κλάσεων και της

σύζευξης

Page 16: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

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

16/30

• Πολυμορφισμός • Πολυμορφισμός ορισμάτων και τύπων

• Κλάσεις «παιδιά» των ίδιων γονέων μπορούν να χρησιμοποιηθούν εναλλάξιμα

• Μέθοδοι μπορούν να κληθούν με διαφορετικά ορίσματα

• Δίνει κληρονομικότητα και ευελιξία • Δίνει τη βάση για μελλοντικές επεκτάσεις • Ο έλεγχος ροής γίνεται παρωχυμένος

Page 17: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

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

17/30

• Αφηρημένες κλάσεις (abstract classes) • Ορίζουν είδος συμπεριφοράς και κατάστασης • Μπορούν να έχουν ΚΑΙ υλοποίηση • Κληρονομούνται

• Διεπαφές (interfaces) • Ορίζουν είδος συμπεριφοράς και κατάστασης • ΔΕΝ μπορούν να έχουν υλοποίηση

Page 18: mgroup.ntuamgroup.ntua.gr/wp-content/uploads/2018/11/MGroup-seminars-1.pdfΣύνοψη • Παρουσίαση του MGroup • Πρόγραμμα διαλέξεων • Αντικειμενοστραφής

1 0..*

abstract static

private

association (“using”)

inheritance (“is a”)