Παρουσίαση/Προβολή

Εισαγωγή στην Πληροφορική και τον Προγραμματισμό Η/Υ
(NAOΜΕ1105) - Νικόλαος Σγούρος
Περιγραφή Μαθήματος
Α. Σκοπός
Σκοπός του μαθήματος είναι η κατανόηση των βασικών αρχών προγραμματισμού Η/Υ και η εφαρμογή γλωσσών προγραμματισμού για την υλοποίηση αλγορίθμων. Έμφαση δίνεται στην κατανόηση της μεθοδολογίας επίλυσης προβλημάτων με αλγοριθμικό τρόπο. Επίσης βασικός στόχος του μαθήματος είναι η εφαρμογή της γλώσσας Python, για την εκτέλεση υπολογισμών και την παρουσίαση αποτελεσμάτων μέσω γραφικών παραστάσεων.
Β. Περιεχόμενο
Βασικά μέρη ενός υπολογιστικού συστήματος. Υλικό-Λογισμικό. Βασικές αρχές προγραμματισμού Η/Υ. Εισαγωγή στις γλώσσες προγραμματισμού. Μεθοδολογία επίλυσης προβλημάτων, βασικές αρχές Υπολογιστικής Σκέψης, εισαγωγή στους αλγορίθμους, διαγράμματα ροής, ψευδοκώδικες.
Προγραμματιστικά περιβάλλοντα. Εισαγωγή στη γλώσσα προγραμματισμού Python. Το διαδικτυακό περιβάλλον Jupyter Lab και η χρήση των Notebooks για την συγγραφή σεναρίων Python. Μεταβλητές και εκφράσεις. Λογικές εκφράσεις. Είσοδος δεδομένων και έξοδος αποτελεσμάτων. Βασικοί τύποι δεδομένων (αριθμητικές και λογικές τιμές, συμβολοσειρές, εγγραφές (records). Πράξεις μεταξύ διαφορετικών τύπων δεδομένων. Δομές ελέγχου ροής, δομές επανάληψης-βρόγχοι, συναρτήσεις.
Σύγχρονες δομές δεδομένων. Λίστες (lists), πλειάδες (tuples), σύνολα (sets), ακολουθίες (sequences) και λεξικά (dictionaries). Πίνακες (arrays) με χρήση των βιβλιοθηκών NumPy και Scipy. Τρόποι κατασκευής, πρόσβασης και ανάκτησης, αλγεβρικές πράξεις μεταξύ πινάκων. Μαθηματικές συναρτήσεις, εφαρμογή σε απλά αριθμητικά προβλήματα. Είσοδος και έξοδος δεδομένων σε αρχεία. Έλεγχος λαθών. Σχεδίαση γραφικών παραστάσεων με χρήση της βιβλιοθήκης Matplotlib.
Γ. Μαθησιακά Αποτελέσματα
Μετά την επιτυχή παρακολούθηση του μαθήματος ο φοιτητής/ φοιτήτρια θα μπορεί:
- Να κατανοεί τη δομή και τη βασική λειτουργικότητα των διαφορετικών μερών ενός υπολογιστικού συστήματος
- Να γνωρίζει πώς οργανώνονται και αναπαρίστανται τα δεδομένα και οι πληροφορίες σε ένα υπολογιστικό σύστημα.
- Να γνωρίζει τις βασικές δομές δεδομένων καθώς και τις βασικές αλγοριθμικές δομές που χρησιμοποιούνται στις γλώσσες προγραμματισμού.
- Να αναλύει ένα πρόβλημα στα δομικά του συστατικά και να αναπτύσσει μια αλγοριθμική λύση για την επίλυση του.
- Να γνωρίζει τους τρόπους αναπαράστασης και κωδικοποίησης ενός αλγορίθμου.
- Να αναλύει ένα πρόβλημα και να δομεί μια αλγοριθμική λύση για την επίλυση του.
- Να χειρίζεται τα βασικά προγραμματιστικά περιβάλλοντα με τη γλώσσα Python με έμφαση στη χρήση των Jupyter Notebooks και του περιβάλλοντος Jupyter Lab.
- Να αναπτύσσει προγράμματα στη γλώσσα προγραμματισμού Python κάνοντας χρήση των βασικών και ορθών προγραμματιστικών εννοιών, δομών και τεχνικών προγραμματισμού.
- Να γνωρίζει τη μεθοδολογία εκσφαλμάτωσης ενός προγράμματος
- Να γνωρίζει τις βασικές αρχές του διαδικασιακού και διανυσματικού προγραμματισμού
- Να χρησιμοποιεί σύγχρονους τύπους δεδομένων για την ανάπτυξη κωδίκων όπως πλειάδες (tuples), σύνολα (sets), ακολουθίες (sequences), λεξικά (dictionaries) και λίστες. • Να αναπτύσσει προγράμματα στη γλώσσα Python για τη διεξαγωγή επιστημονικών υπολογισμών με βαθμωτές, διανυσματικές ποσότητες και πίνακες.
- Να μπορεί να αναπαριστά τα αποτελέσματα υπολογισμών με γραφικές παραστάσεις στις δύο και τρεις διαστάσεις.
- Να είναι ικανός να κατανοεί, να χρησιμοποιεί και να τροποποιεί υπάρχοντα προγράμματα σε Python και να αναπτύσσει συναρτήσεις.
Ημερομηνία δημιουργίας
Τετάρτη 17 Οκτωβρίου 2018
-
Δεν υπάρχει περίγραμμα