Topic outline
Σκοπός
Σκοπός του μαθήματος είναι να φέρει τους πρωτοετείς φοιτητές σε επαφή με τους σύγχρονους Η/Υ, με ορισμένα βασικά εργαλεία λογισμικού και, κυρίως, με τις βασικές αρχές του προγραμματισμού, όπως αυτές υλοποιούνται στο περιβάλλον της MATLAB και στη FORTRAN 90/95.
Περιγραφή
Περιεχόμενο
Βασικές έννοιες του προγραμματισμού.
Προγραμματισμός σε MATLAB και FORTRAN.
Εφαρμογές σε τυπικά προβλήματα που ενδιαφέρουν τον μηχανικό.Μέθοδος διεξαγωγής
Διδασκαλία των βασικών αρχών του προγραμματισμού ταυτόχρονα με πρακτική ατομική άσκηση στους Η/Υ του Εργαστηρίου Προσωπικών Υπολογιστών (ΕΠΥ/PCLAB) της Σχολής καθόλη τη διάρκεια του εξαμήνου, με χωρισμό της τάξης σε 3 τμήματα.
Αξιολόγηση επίδοσης
Διαγώνισμα στο PCLAB στο μέσο του εξαμήνου, προαιρετικά. Τελική εξέταση στο τέλος του εξαμήνου.
Ο τελικός βαθμός προκύπτει από το τελικό διαγώνισμα. Εναλλακτικά, κατά 40% από το προαιρετικό διαγώνισμα στο μέσο του εξαμήνου και κατά 60% από το τελικό διαγώνισμα.Προαπαιτούμενες γνώσεις
Δεν υπάρχουν προαπαιτούμενα πέραν των μαθηματικών του Λυκείου.
Εργαστήριο
Κανονισμός λειτουργίας
Είναι σημαντικό να τηρείται ο Κανονισμός του Ε.Π.Υ. σχολαστικά. Μόνο έτσι θα είναι πάντα η αίθουσα σε λειτουργική ετοιμότητα, για να είναι δυνατόν σε κάθε ευκαιρία - εντός και εκτός μαθήματος - να δουλεύουν όσοι έχουν ανάγκη.
Η πρόσβαση στα συστήματα του Ε.Π.Υ. γίνεται μέσω κωδικών. Οι κωδικοί πρόσβασης είναι αυστηρά προσωπικοί για κάθε χρήστη φοιτητή ή διδάσκοντα και ως εκ τούτου δεν επιτρέπεται η κοινοποίηση τους.
Για την αποδοτική αξιοποίηση του Ε.Π.Υ., για την αισθητική του χώρου και για την ασφάλεια των εγκαταστάσεων και του εξοπλισμού δεν επιτρέπονται η κατανάλωση ποτών και φαγητών καθώς και η χρήση κινητού τηλεφώνου.
Διδάσκοντες / Εκπαιδευτές
Αντώνης Σπυρόπουλος , ΕΔΙΠ ΕΜΠ
http://www.chemeng.ntua.gr/the_people/a.spyropoulosΦίλιππος Δογάνης, ΕΔΙΠ ΕΜΠ
http://www.chemeng.ntua.gr/labs/control_lab/Doganis.htmlΝικόλαος Μανδέλλος, ΕΔΙΠ ΕΜΠ
https://www.chemeng.ntua.gr/the_people/n.mandelos
Ασκήσεις
Πρακτικό 1 (Λύσεις)
Προαπαιτούμενα: Μαθήματα 1, 2, 3Πρακτικό 2 (Λύσεις)
Προαπαιτούμενα: Πρακτικό 1, Μαθήματα 4, 5Πρακτικό 3 (Λύσεις)
Προαπαιτούμενα: Πρακτικό 2, Μαθήματα 6, 7Πρακτικό 4 (Λύσεις)
Προαπαιτούμενα: Πρακτικό 3, Μαθήματα 8, 9Πρακτικό 5 (Octave Buckets: Λύση 1, Λύση 2)
Προαπαιτούμενα: Πρακτικό 4Πρακτικό 6 (Λύσεις)
Προαπαιτούμενα: Μάθημα 10 (Fortran: δήλωση μεταβλητών, ιf, επανάληψη do, arrays)
Υλικό
Διδακτικές Σημειώσεις
Προγραμματισμός με MATLAB - Συνοπτικός Οδηγός
Προγραμματισμός με FORTRAN - Συνοπτικός Οδηγός
Σφάλματα στρογγυλοποίησης (Round-off errors)Online Υπολογιστικά Εργαλεία
https://matlab.mathworks.com
https://octave-online.net (Οδηγίες χρήσης)Εξ αποστάσεως Διδακαλία μέσω Webex
Οδηγίες για τη σύνδεση είναι εδώ (Cisco Webex, Οδηγίες χρήσης Cisco Webex για φοιτητές )
Μαθήματα
Μάθημα 1
Γνωριμία με το εργαστήριοΜάθημα 2
Αριθμητικές παραστάσεις, προτεραιότητα αριθμητικών τελεστών, εντολή format, μεταβλητές, εκθετική μορφή.Μάθημα 3
Λογικοί τελεστές, προτεραιότητα λογικών τελεστών. Μαθηματικές συναρτήσεις. Εισαγωγή δεδομένων (εντολή input). Εξαγωγή δεδομένων (disp/fprintf).Μάθημα 4
Arrays (Διανύσματα, Πίνακες). Χρήσιμες συναρτήσεις (zeros, ones, eye). Colon operator. Transpose operator. Συνάρτηση linspace.Μάθημα 5
Αριθμητικές πράξεις μεταξύ arrays. Μαθηματικές συναρτήσεις και arraysΜάθημα 6
Από τη γραμμή εντολών στη συγγραφή κώδικα (MATLAB/OCTAVE scripts). Έλεγχος ροής του κώδικα (δομή if), παραλλαγές της δομής ifΜάθημα 7
Επανάληψη for, εμφωλευμένες(nested) επαναλήψεις. Επανάληψη υπό συνθήκη while, αέναη επανάληψη. Χρονομέτρηση. Τεχνικές βελτίωσης του χρόνου εκτέλεσης (pre-allocation, vectorization).Μάθημα 8
Ανώνυμες συναρτήσεις (anonymous functions). Συγγραφή συναρτήσεων, ορίσματα, συναρτήσεις ως ορίσματα συναρτήσεων. Πεδίο μεταβλητών (variable scope)Μάθημα 9
Ακρίβεια υπολογισμών (machine epsilon), overflow, underflow, σφάλματα αποκοπής και στρογγυλοποίησης (round-off errors). Μεταβλητές απλής και διπλής ακρίβειας, απαίτηση σε μνήμη (bytes) για την αποθήκευση των μεταβλητών.Μάθημα 10
Προγραμματισμός με FORTRAN 90/95
Σύνδεσμοι
Γενικοί σύνδεσμοι
- Σχολή Χημικών Μηχανικών, Ε.Μ.Π.
- Εθνικό Μετσόβιο Πολυτεχνείο
- Υπολογιστικό Κέντρο της Σχολής Χημικών Μηχανικών Ε.Μ.Π.
- Κέντρο Ηλεκτρονικών Υπολογιστών Ε.Μ.Π.
- Κέντρο Δικτύων Ε.Μ.Π.
MATLAB
- Οδηγίες εγκατάστασης του MATLAB με άδεια από το Κέντρο Η/Υ του Ε.Μ.Π.
- Self-Paced Online Courses
- Εκπαιδευτικά βίντεο για τις διάφορες δυνατότητες του MATLAB
OCTAVE
Octave: H πιο διαδεδομένη εναλλακτική στο MATLAB
Εισαγωγή στο Octave
Online interface για το Octave: http://octave-online.netΕλεύθερα διαθέσιμοι μεταγλωτιστές FORTRAN
Silverfrost: Plato IDE + FTN95 - Introduction to FTN95 (pdf)
Geany + gfortran (Οδηγίες εγκατάστασης Fortran σε περιβάλλον OSX)
Code::Blocks (Οδηγίες χρήσης)
Online FORTRAN compiler
Βιβλιογραφία
Διδακτικά συγγράμματα
Stormy Attaway, "MATLAB: ΜΙΑ ΠΡΑΚΤΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΑΙ ΤΗΝ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ", ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ, ISBN: 978-960-461-663-3
Ιωάννης Καλατζής, "ΑΛΓΟΡΙΘΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΠΕΡΙΒΑΛΛΟΝ MATLAB", ΑΝΔΡΕΑΣ ΣΙΔΕΡΗΣ-ΙΩΑΝΝΗΣ ΣΙΔΕΡΗΣ & ΣΙΑ Ο.Ε., ISBN: 978-960-08-0692-2
Επικοινωνία
Δρ. Αντώνης Ν. Σπυρόπουλος
ΕΔΙΠ Ε.Μ.Π.
Σχολή Χημικών Μηχανικών
Υπολογιστικό Κέντρο
Αρ. Γραφείου: H1.503
Τηλ. : 210 772 3299
Fax: 210 772 3298
E-mail: aspyr AT chemeng DOT ntua DOT gr(*)
Web site: http://www.chemeng.ntua.gr/the_people/a.spyropoulosΔρ. Φίλιππος Γ. Δογάνης
ΕΔΙΠ Ε.Μ.Π.
Σχολή Χημικών Μηχανικών
Υπολογιστικό Κέντρο
Αρ. Γραφείου: H1.401
Τηλ. : 210 772 3236
Fax: 210 772 3138
E-mail: fdoganis AT chemeng DOT ntua DOT gr(*)
Web site: http://www.chemeng.ntua.gr/labs/control_lab/Doganis.html(*) Αντικαταστήστε το "ΑΤ" με "@" και το "DOT" με "."
- This topic