Παρουσίαση/Προβολή
ΠΛΗΡΟΦΟΡΙΚΗ ΓΙΑ ΜΗΧΑΝΙΚΟΥΣ
(0813.4.004.0) - Τσάμης Γεώργιος - Βασιλείου Ιωάννης
Περιγραφή Μαθήματος
Το μάθημα είναι συνέχεια του εισαγωγικού μαθήματος στον προγραμματισμό υπολογιστών (Πληροφορική) και στοχεύει στη διεύρυνση, συμπλήρωση των γνώσεων των φοιτητών στον προγραμματισμό. Η ύλη περιέχει προχωρημένες έννοιες και εμβαθύνει την γνώση και την κατανόηση της γλώσσας προγραμματισμού και του δομημένου προγραμματισμού γενικότερα, με την εφαρμογή τους στην επίλυση προβλημάτων που απαντώνται σε Μηχανολογικά προβλήματα.
Αναλυτικότερα η ύλη του μαθήματος περιλαμβάνει εφαρμογές και προβλήματα που θα χρησιμοποιηθούν σαν μέσο για την κατανόηση και εμπέδωση των εννοιών όπως, η μέθοδος της παρεμβολή, ο υπολογισμός ιδιοτιμών και ιδιοδιανυσμάτων, η στατιστική ανάλυση δεδομένων, η γραμμική παλινδρόμηση, η βελτιστοποίηση, η επίλυση γραμμικών και μη-γραμμικών συναρτήσεων , η αριθμητική ολοκλήρωση, η επίλυση διαφορικών εξισώσεων, υπολογισμός συμβολικών παράγωγων, δυναμική προσομοίωση. Οι έννοιες προχωρημένου προγραμματισμού που παρουσιάζονται άπτονται σε θέματα όπως: οι αλγόριθμοι, ακρίβεια και σφάλματα, κλάσεις και αντικείμενα (χρήση και δημιουργία), κλάσεις και κληρονομικότητα, μόνιμη αποθήκευση και ανάκτηση δεδομένων, δημιουργία γραφικών περιβάλλοντων διεπαφής, σύνθετα γραφικά αντικείμενα. Η ανωτέρω θεματολογία τεκμηριώνεται με σειρά από ασκήσεις που παρουσιάζονται ενδιάμεσα στις διαλέξεις θεωρίας. Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα είναι σε θέση να:
- επιλύει αποτελεσματικά προβλήματα με την βοήθεια υπολογιστών,
- έχει προγραμματιστική εμπειρία ικανή τόσο για την εκτέλεση πρακτικών εφαρμογών,
- έχει αποκτήσει μια στέρεη βάση για τα μαθήματα ειδικότητας που απαιτούν προγραμματισμό υπολογιστών.
Ημερομηνία δημιουργίας
Κυριακή 8 Δεκεμβρίου 2019
-
1η Εβδομάδα
Εισαγωγή – Περιβάλλοντα Εργασίας (Επανάληψη στις Βασικές Έννοιες της Python)
- Εισαγωγή/δομή μαθήματος, θεματικές ενότητες
- Εισαγωγή στη γλώσσα προγραμματισμού Python - Ιδιαιτερότητες σε σχέση με λοιπές γλώσσες προγραμματισμού.
- Περιβάλλοντα εργασίας (IDE)- Πως εγκαθιστώ την Python στον υπολογιστή μου - Ορισμός Notebooks, Jupyter Notebook.
- Google Colab: Περιγραφή της πλατφόρμας, εγγραφή με googlecredentials, περιήγηση στην πλατφόρμα, εκτέλεση του πρώτου μας Google Colab Code Cell
Μεταβλητές
- Σχόλια και εκτύπωση. Το πρώτο μας πρόγραμμα σε Python.
- Τύποι δεδομένων: αριθμητικές τιμές, συμβολοσειρές, λογικές μεταβλητές
- Πράξεις μεταξύ αριθμών
- Λογικές Πράξεις
- Εισαγωγή δεδομένων – αλλαγή τύπου δεδομένων
2η Εβδομάδα
Βασικές αριθμητικές λειτουργίες & Βιβλιοθήκες
- Βασικές πράξεις
- Ύψωση σε δύναμη
- Αριθμοί κινητής υποδιαστολής
- Μιγαδικοί αριθμοί
- Επισκόπηση βιβλιοθηκών / πακέτων
Δομές δεδομένων σε Python:
- Λίστες (lists)
- Πλειάδες (tuples)
- Ακολουθίες (sequences)
- Λεξικά (dictionaries)
Αρχεία και τύποι δεδομένων
- Ανάγνωση δεδομένων
- Εγγραφή δεδομένων
- Είσοδος δεδομένων από αρχεία CSV
- Βασικές συναρτήσεις: shape, ndim, head, tail
- Τύποι δεδομένων DataFrame
- Συνάρτηση Describe
Διαχείριση δεδομένων (επιλογή στήλης, γραμμής, μετονομασία στηλών, διαγραφή στηλών και σειρών)
3η Εβδομάδα
Έλεγχος ροής:
- Δομή ελέγχου if-else
- Ένθετη μορφή δομής ελέγχου if-else
- Βρόχος επανάληψης for
- Βρόχος επανάληψης while
- Δήλωση break
Συναρτήσεις:
- Ορισμός και κλήση συνάρτησης
- Επιστροφή αποτελέσματος
- Πέρασμα παραμέτρων με τιμή και με αναφορά
- Συναρτήσεις και διαδικασίες
- Προεπιλεγμένα ορίσματα
4η Εβδομάδα
Πίνακες
- Από τις λίστες στους πίνακες
- Μονοδιάστατοι πίνακες
- Πολυδιάστατοι πίνακες
- Πράξεις πινάκων
- Βασικές συναρτήσεις επεξεργασίας πινάκων
Αναζήτηση και ταξινόμηση
- Σειριακή αναζήτηση
- Δυαδική αναζήτηση
- Ταξινόμηση φυσαλίδας
- Ταξινόμηση με επιλογή
- Γρήγορη ταξινόμηση
5η Εβδομάδα
Γραφικές Παραστάσεις
- Πακέτο γραφικών MatplotLib
- Σχεδίαση μίας γραφικής παράστασης
- Σχεδίαση πολλών γραφικών παραστάσεων στο ίδιο σύστημα αξόνων
- Τρισδιάστατες γραφικές παραστάσεις
- Γραφήματα μπάρας (bar charts), πίττας (pie charts)
- Λογαριθμικές γραφικές παραστάσεις (log plots)
- Ιστόγραμμα (histogram)
- Γραφική απεικόνιση χρονοσειρών (timeseries)
6η Εβδομάδα
Βασικές Έννοιες Αριθμητικής Ανάλυσης
- Μέθοδος του Newton
- Μη γραμμικές εξισώσεις
- Εφαρμογές σε Python
7η Εβδομάδα
Γραμμικά Συστήματα
- Πίνακες και διανύσματα.
- Άλγεβρα πινάκων.
- Η ορίζουσα.
- Ο αντίστροφος ενός πίνακα.
- Απαλοιφή Gauss και μετασχηματισμοί γραμμών
- Εφαρμογές σε Python
8η Εβδομάδα
Γραμμικά συστήματα (Συνέχεια)
- Συμμετρικοί και θετικά ορισμένοι πίνακες.
- Η ανάλυση Cholesky.
- Υλοποίηση και υπολογιστικό κόστος.
- Νόρμες πινάκων
9η Εβδομάδα
Αριθμητική πεπερασμένης ακρίβειας
- Πηγές σφαλμάτων.
- Απόλυτο και σχετικό σφάλμα.
- Αριθμητικά συστήματα.
- Αριθμοί κινητής υποδιαστολής
- Επίδραση του σφάλματος στρογγύλευσης στους αριθμητικούς υπολογισμούς.
10η Εβδομάδα
Πολυωνυμική παρεμβολή
- Συμπεριφορά του πολυωνύμου παρεμβολής για μεγάλο n.
- Παρεμβολή Hermite
- Επαναληπτικές έννοιες