Περιγραφή θέματος
Σκοπός
Σκοπός του μαθήματος είναι να φέρει τους πρωτοετείς φοιτητές σε επαφή με τους σύγχρονους Η/Υ, με ορισμένα βασικά εργαλεία λογισμικού και, κυρίως, με τις βασικές αρχές του προγραμματισμού, όπως αυτές υλοποιούνται στο περιβάλλον της MATLAB και στη FORTRAN 90/95.
Περιγραφή
Περιεχόμενο
Βασικές έννοιες του προγραμματισμού.
Προγραμματισμός σε MATLAB και FORTRAN.
Εφαρμογές σε τυπικά προβλήματα που ενδιαφέρουν τον μηχανικό.Μέθοδος διεξαγωγής
Διδασκαλία των βασικών αρχών του προγραμματισμού ταυτόχρονα με πρακτική ατομική άσκηση στους Η/Υ του Εργαστηρίου Προσωπικών Υπολογιστών (ΕΠΥ/PCLAB) της Σχολής καθόλη τη διάρκεια του εξαμήνου, με χωρισμό της τάξης σε 2 τμήματα.
Αξιολόγηση επίδοσης
Διαγώνισμα στο PCLAB στο μέσο του εξαμήνου, προαιρετικά. Τελική εξέταση στο τέλος του εξαμήνου.
Ο τελικός βαθμός προκύπτει από το τελικό διαγώνισμα. Εναλλακτικά, κατά 40% από το προαιρετικό διαγώνισμα στο μέσο του εξαμήνου και κατά 60% από το τελικό διαγώνισμα.Προαπαιτούμενες γνώσεις
Δεν υπάρχουν προαπαιτούμενα πέραν των μαθηματικών του Λυκείου.
Εργαστήριο
Κανονισμός λειτουργίας
Είναι σημαντικό να τηρείται ο Κανονισμός του Ε.Π.Υ. σχολαστικά. Μόνο έτσι θα είναι πάντα η αίθουσα σε λειτουργική ετοιμότητα, για να είναι δυνατόν σε κάθε ευκαιρία - εντός και εκτός μαθήματος - να δουλεύουν όσοι έχουν ανάγκη.
Η πρόσβαση στα συστήματα του Ε.Π.Υ. γίνεται μέσω κωδικών. Οι κωδικοί πρόσβασης είναι αυστηρά προσωπικοί για κάθε χρήστη φοιτητή ή διδάσκοντα και ως εκ τούτου δεν επιτρέπεται η κοινοποίηση τους.
Για την αποδοτική αξιοποίηση του Ε.Π.Υ., για την αισθητική του χώρου και για την ασφάλεια των εγκαταστάσεων και του εξοπλισμού δεν επιτρέπονται η κατανάλωση ποτών και φαγητών καθώς και η χρήση κινητού τηλεφώνου.
Διδάσκοντες / Εκπαιδευτές
Φίλιππος Δογάνης, ΕΔΙΠ ΕΜΠ
http://www.chemeng.ntua.gr/labs/control_lab/Doganis.htmlΝικόλαος Μανδέλλος, ΕΔΙΠ ΕΜΠ
https://www.chemeng.ntua.gr/the_people/n.mandelos
Αντώνης Σπυρόπουλος , ΕΔΙΠ ΕΜΠ
http://www.chemeng.ntua.gr/the_people/a.spyropoulos
Ασκήσεις
Πρακτικό 1 (Λύσεις)
Προαπαιτούμενα: Μαθήματα 1, 2, 3Πρακτικό 2 (Λύσεις)
Προαπαιτούμενα: Πρακτικό 1, Μαθήματα 4, 5Πρακτικό 3 (Λύσεις)
Προαπαιτούμενα: Πρακτικό 2, Μαθήματα 6, 7Πρακτικό 4 (Λύσεις)
Προαπαιτούμενα: Πρακτικό 3, Μαθήματα 8, 9Πρακτικό 5 (Σχεδιάγραμμα, Κώδικας(τρέχουμε το main.m) )
Προαπαιτούμενα: Πρακτικό 4Πρακτικό 6 (Λύσεις)
Προαπαιτούμενα: Μάθημα 10 (Fortran: δήλωση μεταβλητών, ιf, επανάληψη do, arrays)
Υλικό
Διδακτικές Σημειώσεις
Προγραμματισμός με MATLAB - Συνοπτικός Οδηγός
Προγραμματισμός με FORTRAN - Συνοπτικός Οδηγός
Σφάλματα στρογγυλοποίησης (Round-off errors)Online Υπολογιστικά Εργαλεία
https://matlab.mathworks.com
https://octave-online.net (Οδηγίες χρήσης)Ασκήσεις εμβάθυνσης
Αρχείο προαιρετικών ασκήσεων εμβάθυνσης
Σειρά 2 προαιρετικών ασκήσεων εμβάθυνσης
Εξ αποστάσεως Διδακαλία μέσω 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.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Δρ. Νικόλαος Μανδέλλος
ΕΔΙΠ Ε.Μ.Π.
Σχολή Χημικών Μηχανικών
Τηλ. : 210 772 3128
E-mail: nmand AT central DOT ntua DOT gr(*)
Web site: https://www.chemeng.ntua.gr/the_people/n.mandelos(*) Αντικαταστήστε το "ΑΤ" με "@" και το "DOT" με "."
- Αυτό το θέμα