Πληροφορική

Κωνσταντίνος Καρατζάς

Περιγραφή

Γιατί χρειαζόμαστε το μάθημα της Πληροφορικής;

Τι είναι ένα πρόγραμμα και τι αλγόριθμος; Πόσο γρήγορα εκτελούνται τα προγράμματα στους υπολογιστές; Πως μπορούμε να αναπτύξουμε προγράμματα για να να ελέγχουμε ρομπότ, να προβλέπουμε την ατμοσφαιρική ρύπανση, να επεξεργαζόμαστε εικόνες και να κρυπτογραφούμε μηνύματα; Τι σχέση έχει ένα ρουλεμάν, η ποιότητα του περιβάλλοντος, και μία γραμμή παραγωγής προϊόντων; Όλα προϋποθέτουν τον υπολογισμό, την προσομοίωση και την πρόγνωση της συμπεριφοράς τους με τη βοήθεια κατάλληλων αλγορίθμων και προγραμμάτων Η/Υ!

Στοιχεία μαθήματος

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

Το "ακροατήριο": Οι φοιτητές που παρακολουθούν το μάθημα έχουν πολλές φορές ένα ετερογενές προφίλ ως προς το υπόβαθρό τους σε θέματα Πληροφορικής αλλά και σε σχέση με μαθηματικές έννοιες. Έτσι, και

Περισσότερα  
Κωδικός: OCRS328
Κατηγορία: Μηχανολόγων Μηχανικών » Προπτυχιακό
CC - Αναφορά - Παρόμοια Διανομή
CC - Αναφορά - Παρόμοια Διανομή

Θεματικές Ενότητες

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

  • Να αναγνωρίζετε και να διατυπώνετε τα βασικά βήματα επίλυσης ενός απλού προβλήματος
  • Εγκατάσταση του περιβάλλοντος εργασίας (χρησιμοποιούμε το λογισμικό ανοικτού κώδικα Octave) στον προσωπικό σας υπολογιστή
  • Εκτέλεση ενός απλού προγράμματος στο περιβάλλον που εγκαταστήσατε

Λέξεις Κλειδιά: επίλυση προβλημάτων, βήματα, αλγόριθμος

Την εβδομάδα αυτή θα γνωρίσουμε τις μεταβλητές, και θα αναγνωρίσουμε πως στο Matlab/Octave όλα είναι πίνακες! Θα μιλήσουμε για πράξεις και σφάλματα υπολογισμών και θα αναφερθούμε σε βασικές εγγενείς συναρτήσεις. Επίσης θα αναφερθούμε σε δομές προγραμματισμού (επαναλήψεις, έλεγχοι, σειριακή εκτέλεση, κλπ.), και στην έννοια της συνάρτησης ως αυτόνομου προγράμματος. Στο τέλος της εβδομάδας θα πρέπει:

  • Να μπορείτε να χρησιμοποιείτε μεταβλητές και να κάνετε πράξεις με αυτές, εμπλέκοντας και βασικές εγγενείς συναρτήσεις
  • Να μπορείτε να αναγνωρίζετε δομές προγραμματισμού
  • Να μπορείτε να αναπτύξετε το δικό σας απλό πρόγραμμα σε Matlab/Octave

Λέξεις Κλειδιά: μεταβλητές, πίνακες, δομές προγραμματισμού, εγγενείς συναρτήσεις

Αρχικά εξετάζουμε το πώς μπορούμε να διαμορφώσουμε έναν αλγόριθμο επίλυσης για συγκεκριμένο πρόβλημα. Κατόπιν θα δούμε τον τρόπο με τον οποίο μπορούμε να αναπτύσσουμε και να χρησιμοποιούμε  συναρτήσεις. Θα γνωρίσουμε την έννοια της εμβέλειας μίας μεταβλητής και θα συζητήσουμε για την αρχιτεκτονική προγραμμάτων και τον επιμερισμό τους σε συναρτήσεις. Στο τέλος της εβδομάδας θα πρέπει:

  • Να μπορείτε να αναπτύσσετε τη δική σας απλή συνάρτηση σε Matlab/Octave.
  • Να μπορείτε να επιμερίσετε τη λύση ενός προβλήματος σε μικρότερα τμήματα που μπορούν να επιλυθούν ανεξάρτητα.

Λέξεις Κλειδιά: πρόβλημα, αλγόριθμός, εμβέλεια μεταβλητών, συναρτήσεις

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

  • Να μπορείτε να αναπτύξετε ένα μικρό πρόγραμμα που συνδυάζει δομές ελέγχου και επανάληψης

Λέξεις Κλειδιά: λογικοί και σχεσιακοί τελεστές, δομή επανάληψης, δομή ελέγχου

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

  • Να αναγνωρίζετε και να χρησιμοποιείτε δομές προγραμματισμού
  • Να είσαστε σε θέση να υλοποιήσετε τη μέθοδο της διχοτόμησης και της ολοκλήρωσης με τη μέθοδο του τραπεζίου σε προβλήματα και να τις χρησιμοποιείτε απρόσκοπτα

Λέξεις Κλειδιά: δομές επανάληψης, δομές ελέγχου, μέθοδος διχοτόμησης, μέθοδος τραπεζίου

Την εβδομάδα αυτή γνωρίζουμε μία σειρά τεχνικών που μας επιτρέπουν να κάνουμε τον κώδικά μας πιο αποδοτικό. Συγκρίνουμε τις τεχνικές αυτές με τη χρήση δομών προγραμματισμού. Μαθαίνουμε τρόπους για να αποφεύγουμε δομές επανάληψης, εξετάζουμε τους λογικούς δείκτες και μία σειρά εγγενών “διανυσματικών” συναρτήσεων. Στο τέλος της εβδομάδας θα πρέπει να είσαστε σε θέση: 

  • Να σχεδιάζετε και να υλοποιείτε αλγορίθμους που χρησιμοποιούν δομές προγραμματισμού και ελέγχου με ευχέρεια
  • Να χρησιμοποιείτε τα εργαλεία που παρέχει το Matlab/Octave για να κάνετε τον κώδικά σας πιο αποδοτικό και πιο συνοπτικό

Λέξεις Κλειδιά: δομές επανάληψης, δομές ελέγχου, αποτελεσματικός προγραμματισμός, εγγενείς συναρτήσεις

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

  • Μα δημιουργείτε αναδρομικούς υπολογισμούς και συναρτήσεις
  • Να μπορείτε να αντιστοιχίσετε τμήματα κώδικα σε συγκεκριμένες οικογένειες υπολογιστικής πολυπλοκότητας
  • Να μπορείτε να συγκρίνετε δύο διαφορετικούς αλγορίθμους επίλυσης του ίδιου προβλήματος ως προς την πολυπλοκότητα και την ταχύτητα εκτέλεσης

Λέξεις Κλειδιά: αναδρομικότητα, υπολογιστική πολυπλοκότητα

Ασχολούμαστε με θέματα αναδρομικότητας και υπολογισμού πολυπλοκότητας. Αναλύουμε απαντήσεις σε ερωτήματα και ασκήσεις που περιελάβανε το επαναληπτικό εργαστήριο της προηγούμενης ενότητας. Παρουσιάζονται στοιχεία δημιουργίας γραφημάτων σε Matlab/Octave. Στο τέλος της εβδομάδας θα πρέπει να είσαστε σε θέση:

  • Να δημιουργείτε αναδρομικές συναρτήσεις
  • Να εκτιμάτε την υπολογιστική πολυπλοκότητα ενός αλγορίθμου
  • Να κατασκευάζετε γραφήματα

Λέξεις Κλειδιά: αναδρομικές συναρτήσεις, πολυπλοκότητα αλγορίθμου, γραφικά

Παρουσιάζεται η έννοια της προσομοίωσης για μηχανολογικά και άλλα συστήματα και προβλήματα. Εισάγονται βασικά στοιχεία τυχαίων αριθμών και εξηγείται ο τρόπος με τον οποίο μπορούμε να τους “δημιουργήσουμε”. Μετά εξηγείται το πως μπορούμε να χρησιμοποιήσουμε τυχαίους αριθμούς για να προσομοιώσουμε φαινόμενα στοχαστικού χαρακτήρα, και να επιλύσουμε σχετικά προβλήματα. Στο τέλος αυτής της εβδομάδας θα πρέπει να είσαστε σε θέση:

  • Να δημιουργήσετε και να χρησιμοποιήσετε τυχαίους αριθμούς (εφαρμογή σε Matlab/Octave)
  • Να αναγνωρίζετε απλά προβλήματα στοχαστικού χαρακτήρα
  • Να διαμορφώσετε έναν βασικό αλγόριθμο για την προσομοίωση και επίλυση προβλημάτων στοχαστικού χαρακτήρα με τη βοήθεια τυχαίων αριθμών
  • Να αναγνωρίζετε και να χρησιμοποιείτε τη μέθοδο Monte Carlo (π.χ. σε προβλήματα όπως οι κινήσεις μορίων, η ζήτηση εποχικών προϊόντων, η αντοχή μηχανολογικής κατασκευής)

Λέξεις Κλειδιά: προσομοίωση, μηχανολογικά συστήματα, τυχαίοι αριθμοί

Παρουσιάζονται βασικά στοιχεία αριθμητικής παραγώγισης και ολοκλήρωσης και σχετικά εργαλεία και εγγενείς συναρτήσεις σε Matlab/Octave. Παρουσιάζονται επίσης εγγενείς συναρτήσεις Matlab/Octave για την επίλυση εξισώσεων και άλλων προβλημάτων που άπτονται των σπουδών ενός φοιτητή μηχανικού (και όχι μόνο). Στο τέλος αυτής της εβδομάδας θα πρέπει να είσαστε σε θέση να επιλύετε προβλήματα όπως:

  • Ο υπολογισμός ορισμένων και αόριστων ολοκληρωμάτων και παραγώγων συναρτήσεων
  • Η επίλυση πολυωνυμικών ή άλλων εξισώσεων
  • Η επίλυση γραμμικών συστημάτων με χρήση απλής άλγεβρας πινάκων-οριζουσών (όχι αριθμητικά)
  • Η πολυωνυμική προσέγγιση αριθμητικών δεδομένων (πολυωνυμική παρεμβολή)
  • Η αριθμητική παραγώγιση και ολοκλήρωση (σε εισαγωγικό επίπεδο)

Στα παραπάνω θα πρέπει να μπορείτε να χρησιμοποιήσετε τις εγγενείς συναρτήσεις του Matlab/Octave

 Λέξεις Κλειδιά: αριθμητική παραγώγιση και ολοκλήρωση, επίλυση εξισώσεων, μαθηματικά προβλήματα

Κάνουμε μία εισαγωγή σε εξισώσεις που περιλαμβάνουν την ανεξάρτητη μεταβλητή μαζί με μία συνάρτηση και παραγώγους της (απλές διαφορικές εξισώσεις). Με τον τρόπο αυτό περιγράφουμε ένα χαρακτηριστικό πρόβλημα Μηχανικού όπου η συμπεριφορά του μελετώμενου συστήματος μεταβάλλεται με το χρόνο (απλή αρμονική ταλάντωση χωρίς απόσβεση αλλά και με απόσβεση).

Επίσης κάνουμε  μία εισαγωγή στο αλληλεπιδραστικό προσομοιωτικό περιβάλλον προγραμματισμού και μελέτης συμπεριφοράς δυναμικών συστημάτων Simulink, εξετάζοντας παραδείγματα όπως η απλή αρμονική ταλάντωση. Στο τέλος της εβδομάδας θα πρέπει να είσαστε σε θέση:

  • Να επιλύετε μία απλή διαφορική εξίσωση συμβολικά σε Matlab/Octave
  • Να μπορείτε να δημιουργήσετε μία απλή προσομοίωση δυναμικού συστήματος μέσω Simulink
  • Να χρησιμοποιείτε αρχεία δεδομένων στο Matlab/Octave, και να κάνετε υπολογισμούς, αναλύσεις και γραφικές παραστάσεις με αυτά.

Λέξεις Κλειδιά: ανεξάρτητη μεταβλητή, συνάρτηση, διαφορική εξίσωση

Γίνεται μία γενική επανάληψη εστιάζοντας στα σημαντικότερα σημεία του μαθήματος, με τη βοήθεια ενός προβλήματος-παραδείγματος: το «παιχνίδι της ζωής» και η προσομοίωση δομικών μεταβολών χάλυβα και δασικών πυρκαγιών.

Λέξεις Κλειδιά: επανάληψη, επίτευξη στόχων μαθήματος

Ανοικτό Ακαδ. Μάθημα

Ανοικτά Ακαδημαϊκά Μαθήματα
Επίπεδο: A+

Αρ. Επισκέψεων :  4966
Αρ. Προβολών :  26816

Ημερολόγιο

Ανακοινώσεις

  • - Δεν υπάρχουν ανακοινώσεις -