Πληροφορική

Περίγραμμα

Διδάσκοντες

Διδάσκοντες

Ο Κώστας Καρατζάς είναι Καθηγητής στο Τμήμα Μηχανολόγων Μηχανικών ΑΠΘ, και επικεφαλής της Ερευνητικής Ομάδας Περιβαλλοντικής Πληροφορικής. Διδάσκει Πληροφορική, Περιβαλλοντική Πληροφορική και Διερεύνηση Περιβαλλοντικών Επιπτώσεων σε προπτυχιακό επίπεδο, και Υπολογιστικά Πρότυπα Φυσικής ΠεριβάλλοντοςΜοντελοποίηση Περιβαλλοντικών Δεδομένων και Ανάπτυξη Ηλεκτρονικών Υπηρεσιών Ενημέρωσης και Ατμοσφαιρική Ρύπανση στα μεταπτυχιακά προγράμματα Υπολογιστικής Φυσικής, Φυσικής Περιβάλλοντος και Προστασίας περιβάλλοντος και Βιώσιμης Ανάπτυξης ΑΠΘ. Έχει επίσης διδάξει Experimental Methods in Vibrations στο υπό παύση λειτουργίας μεταπτυχιακό TURST-Aeromechanics. Ταυτόχρονα έχει συνεργαστεί ως επισκέπτης καθηγητής με το Φινλανδικό Μετεωρολογικό Ινστιτούτο και έχει διδάξει σε μεταπτυχιακά σεμινάρια στα Πανεπιστήμια Eastern Finland και Aalto της Φινλανδίας, στο Polytecnico di Torino της Ιταλίας, στο Oldenburg University της Γερμανίας και στο Διεθνές Πανεπιστήμιο Θεσσαλονίκης. Τα ερευνητικά του ενδιαφέροντα περιλαμβάνουν

Είνει συγγραφέας πλέον των 200 δημοσιεύσεων σε διεθνή περιοδικά και πρακτικά συνεδρίων (Google Scholar).

 

Ομάδα Υποστήριξης Διαμόρφωσης Περιεχομένου: Δημήτρης Βουκάντσης

 

Συνεργάτις Ανάπτυξης Περιεχομένου opencourses: Άννα Μπίσμπα
Βιντεοσκόπηση - Μοντάζ: Βουλγαράκης Χρήστος

Ομάδα στόχος

Ομάδα στόχος

Το μάθημα απευθύνεται κυρίως στους πρωτοετείς φοιτητές του τμήματος Μηχανολόγων Μηχανικών ΑΠΘ. Αφορά όμως και φοιτητές άλλων τμημάτων και σχολών (Πολυτεχνικών, Θετικών Επιστημών κλπ), αλλά και οποιονδήποτε ενδιαφέρεται για την Πληροφορική, την επίλυση προβλημάτων και τον προγραμματισμό Η/Υ. Μπορεί να μελετηθεί συνολικά ή και ανά ενότητα, από φοιτητές, σπουδαστές αλλά και μαθητές λυκείων και αποφοίτους που θέλουν να "φρεσκάρουν" τις γνώσεις τους στο αντικείμενο του μαθήματος.

Μαθησιακοί στόχοι

Μαθησιακοί στόχοι

Το μάθημα της Πληροφορικής στοχεύει στο να καλλιεργήσει την ικανότητα επίλυσης προβλημάτων με τη βοήθεια Η/Υ, στα πλαίσια ενός Πανεπιστημιακού ακαδημαϊκού περιβάλλοντος. Στο πέρας του μαθήματος οι φοιτητές θα πρέπει να είναι σε θέση να χρησιμοποιήσουν υπολογιστικά περιβάλλοντα και προγραμματισμό Η/Υ για την επίλυση προβλημάτων, αλλά και για την ανάλυση δεδομένων και τη δημιουργία βασικών προσομοιώσεων. Ειδικότερα, θα πρέπει να είναι σε θέση:

  • να αναλύουν θεωρητικά ένα πρόβλημα
  • να διαμορφώνουν τον αλγόριθμο επίλυσης
  • να το επιλύουν πρακτικά αναπτύσσοντας ένα κατάλληλο πρόγραμμα Η/Υ, ακολουθώντας τις βασικές αρχές προγραμματισμού

Για το σκοπό αυτό θα πρέπει να μπορούν να χρησιμοποιούν προγραμματιστικές δομές και σύγχρονα υπολογιστικά περιβάλλοντα και γλώσσες όπως το Matlab.

 

O εκπαιδευόμενος αναμένεται μετά την επιτυχή ολοκλήρωση του μαθήματος να μπορεί να:

  1. Αναλύει ένα πρόβλημα και να σχεδιάζει μία λύση, διαμορφώνοντας τον κατάλληλο αλγόριθμο
  2. Αναπτύσσει δομημένα, αποδοτικά, κατανοητά και επαναχρησιμοποιήσιμα προγράμματα Η/Υ που επιλύουν συγκεκριμένα προβλήματα ή οικογένειες προβλημάτων, με χρήση μία γλώσσας προγραμματισμού όπως Matlab/Octave
  3. Κατανοήσει πολύπλοκα προγράματα που έχουν γράψει άλλοι
  4. Προβεί σε ανάλυση και οπτικοποίηση δεδομένων και δημιουργία βασικών προσομοιώσεων

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

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

Το μάθημα δεν έχει συγκεκριμένες προαπαιτήσεις. Σχεδιάστηκε για πρωτοετείς φοιτητές που θα ασχοληθούν με την επιστήμη του Μηχανολόγου Μηχανικού αλλά απευθύνεται και σε όποιον ενδιαφέρεται για την ανάλυση και επίλυση προβλημάτων με τη βοήθεια Η/Υ και για τον προγραμματισμό Η/Υ. 

Περιεχόμενο μαθήματος

Περιεχόμενο μαθήματος

1. Εισαγωγή 

  • Επίλυση προβλημάτων με Η/Υ

2. Αλγόριθμοι, βασικά στοιχεία χρήσης Matlab/Octave

  • Μεταβλητές
  • Τελεστές, σφάλματα υπολογισμών
  • Εγγενείς συναρτήσεις
  • Δομές προγραμματισμού (εισαγωγή)

3. Συναρτήσεις

  • Δομή συναρτήσεων
  • Βασική λειτουργία
  • Είσοδος-έξοδος
  • Εμβέλεια μεταβλητών
  • Συχνά λάθη

4. Δομές προγραμματισμού

  • Λογικές μεταβλητές και παραστάσεις
  • Λογικοί τελεστές
  • Δομές επανάληψης
  • Δομές ελέγχου

5. Μέθοδοι επίλυσης προβλημάτων

  • Αλγόριθμοι επίλυσης και δομές προγραμματισμού
  • Η μέθοδος της διχοτόμησης
  • Η μέθοδος του τραπεζίου

6. Αποδοτικός προγραμματισμός

  • Εγγενείς "διανυσματικές" συναρτήσεις
  • Λογικοί δείκτες 
  • Αποφυγή δομών επανάληψης

7. Πολυπλοκότητα αλγορίθμων

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

8. Εφαρμογές πολυπλοκότητας

  • Αναδρομικότητα-εμβάθυνση
  • Εκτίμηση υπολογιστικής πολυπλοκότητας
  • Παραδείγματα με γραφικά

9. Προσομοιώσεις

  • Τυχαίοι αριθμοί
  • Η μέθοδος Monte Carlo

10. Matlab/Octave για καθημερινή χρήση

  • Υπολογισμός ολοκληρωμάτων
  • Επίλυση εξισώσεων
  • Πολυωνυμική προσέγγιση
  • Γραμμικά συστήματα
  • Εγγενείς συναρτήσεις για αριθμητική παραγώγιση & ολοκλήρωση

11. Διαφορικές εξισώσεις (εισαγωγή)

  • Επιλυτές ΔΕ
  • Simulink και εφαρμογές

12. Ανακεφαλαίωση

  • Εφαρμογές
  • Γλώσσες επιστημονικών υπολογισμών 

 

Προτεινόμενα συγγράμματα

Προτεινόμενα συγγράμματα

  1. Καρατζάς Κ. (2014),  Πληροφορική για Μηχανικούς, Β' έκδοση, εκδόσεις Σοφία, Θεσσαλονίκη 
  2. Γραββάνης Γ. και Γιαννουτάκης Κ. (2012), Προγραμματισμός με τη Χρήση Matlab, εκδόσεις Παπασωτηρίου, Αθήνα
  3. Στεφανάκος Χ.Ν. (2011), Προγραμματίζοντας με Matlab, εκδόσεις Συμμετρία, ΑΘήνα
  4. Μούσας Β. (2009), Βασική χρήση και προγραμματισμός Matlab7, εκδόσεις ΙΩΝ, Αθήνα
  5. Θεοδώρου Γ. και Θεοδώρου Ν. (2007), Πρακτικός οδηγός στο Matlab, ΑΠΘ.

Βιβλιογραφία

Βιβλιογραφία

Εκτεταμένη βιβλιογραφία διατίθεται on-line μέσω του διαδικτυακού τόπου του μαθήματος (elearning.auth.gr). Ενδεικτικά αναφέρονται:

  1. Hahn B. and Valentine D. (2010), Essential Matlab for Engineers and Scientists, Academic Press, Burlington, MA.
  2. Karris S. (2008), Introduction to Simulink with Engineering Applications, 2nd edition, Orchard Publications, USA
  3. Mathworks Video Tutorials (http://www.mathworks.com/products/matlab/videos.html)
  4. Mathworks Online Matlab Documentation (http://www.mathworks.com/help/matlab/index.html)
  5. Εισαγωγή στο Matlab (http://www.csd.uoc.gr/~hy215/tutorials/MATLABbook.pdf)
  6. Πρακτικός Οδηγός Matlab (http://users.auth.gr/~theodoru/CompuStat/MATLAB_AUTH.pdf)
  7. Introduction to Matlab (http://www.physics.byu.edu/Courses/Computational/phys330/matlab.pdf)