Παρουσίαση/Προβολή
Πληροφορική - Προγραμματισμός σε Fortran και Λογιστικά Φύλλα
(TMB141) - ΒΙΚΤΩΡ ΜΠΑΛΟΠΟΥΛΟΣ
Περιγραφή Μαθήματος
Εισαγωγικό μάθημα που στοχεύει:
- στην στοιχειώδη κατανόηση της λειτουργίας των Ηλεκτρονικών Υπολογιστών, στο πλαίσιο που αυτή επηρεάζει την χρήση και τον προγραμματισμό τους,
- στην ανάπτυξη δεξιοτήτων δομημένου προγραμματισμού, δηλαδή παραγωγής αλγορίθμων και έκφρασης αυτών με όρους διαδικασιών και δομών ελέγχου,
- στην εκμάθηση των βασικών δυνατοτήτων και εντολών της γλώσσας προγραμματισμού Fortran 90/95 (γραφή και ανάγνωση) και των προγενεστέρων εκφάνσεών της (μόνον ανάγνωση),
- στην εμπέδωση και εξάσκηση των αποκτώμενων γνώσεων και δεξιοτήτων μέσω της παραγωγής απλών προγραμμάτων Fortran 90/95 για την επίλυση χρήσιμων προβλημάτων από τον χώρο εμπειρίας των φοιτητών, και τέλος
- στην χρήση λογιστικών φύλλων (Excel, Calc, κλπ.) για απλούς υπολογισμούς με οπτικοποίηση των αποτελεσμάτων, αλλά και ως περιβάλλοντος προγραμματισμού.
Ημερομηνία δημιουργίας
Τρίτη 2 Δεκεμβρίου 2
-
Περίγραμμα
Συμπληρωματικά Στοιχεία:
Κατά την διδασκαλία της γλώσσας Fortran:
- δίνεται έμφαση στον ανθρωπομορφικό χαρακτήρα της σύνταξης και της γραμματικής της, στις ομοιότητές της με αντίστοιχες μαθηματικές εκφράσεις και στην "αποστροφή" της προς ο,τιδήποτε διφορούμενο,
- εξηγείται ο λόγος ύπαρξης κάθε κανόνα ή απαγόρευσης και κάθε φαινομενικά "παραπανίσιας" δυνατότητας ή εντολής, ώστε να αποφεύγεται η στείρα απομνημόνευση, και
- υποδεικνύονται προγραμματιστικές πρακτικές που βοηθούν, ανεξαρτήτως γλώσσας, στην παραγωγή κώδικα λογικά ορθού, υπολογιστικά οικονομικού (σε μνήμη και πράξεις), αλλά και εύκολου στην κατανόηση, την αποσφαλμάτωση, την γενίκευση και την εξειδίκευση.
Κατά την διδασκαλία χρήσης και προγραμματισμού λογιστικών φύλλων δίνεται έμφαση:
- στον διαδραστικό και οπτικοποιημένο χαρακτήρα τους
- στο πώς τα ορατά ενδιάμεσα αποτελέσματα διευκολύνουν την κατανόηση και των έλεγχο των αριθμητικών διεργασιών και την απόκτηση εμπειρίας και κρίσης από τον χρήστη,
- στις διαφορές στον προγραμματισμό σε σχέση με procedural γλώσσες (όπως η Fortran), καθώς τα αποτελέσματα παράγονται από αλληλεπιδράσεις κελλιών και όχι από ακολουθία διεργασιών,
- σε σχετικές και απόλυτες αναφορές, στην συνάρτηση "χιασμού" IF (αντί της δομής προγραμματισμού "ομαδικό IF"), και στην παραγωγή δομών επανάληψης μέσω αντιγραφής γραμμών/στηλών, μπλοκ, είτε φύλλων εργασίας..
Τα παραδείγματα που χρησιμοποιούνται στις εφαρμογές προγραμματισμού προέρχονται κυρίως από τα μαθηματικά (πολυώνυμα, ρίζες, αναλυτική γεωμετρία, τριγωνομετρία, γραμμική άλγεβρα, στατιστική, κλπ.) και την μηχανική (κίνηση υλικού σημείου, ισορροπία απαραμόρφωτου στερεού, κλπ.).
Διευκρινίζεται επίσης ότι:
- Ως γνώση των δυνατοτήτων της ForΤran νοείται η δυνατότητα εφαρμογής τους για την παραγωγή προγράμματος. Ο τελικός κώδικας που παράγουν οι φοιτητές αξιολογείται, πέραν της (απαραίτητης) ορθότητας, και ως προς την απλότητα, την συντομία, το ευανάγνωστο κλπ.
- Σε διδόμενο κώδικα, απαιτείται η ικανότητα αναγνώρισης και διόρθωσης σφαλμάτων καθώς και η δυνατότητα μεταγραφής (π.χ. από μη-δομημένο σε δομημένο προγραμματισμό, από μητρωικές εντολές σε μη μητρωικές και αντιστρόφως, από do με δείκτη σε doμε συνθήκη και αντιστρόφως, κλπ.).
- Παλαιότερες εκφράσεις της ForΤran που δεν υποστηρίζουν δομημένο και σαφή προγραμματισμό (π.χ. goto, αριθμητικό if, έμμεση απόδοση τύπου, do με αριθμό εντολής τερματισμού, δηλώσεις συναρτήσεων τύπου F77, κλπ.) οι φοιτητές οφείλουν να τις αναγνωρίζουν και να μπορούν να τις μεταγράφουν σε σύγχρονο, δομημένο και σαφή κώδικα F90/95, αλλά να αποφεύγουν την χρήση τους.
- Δεν καλύπτονται αντικείμενα θεωρητικής πληροφορικής και αλγορίθμων, όπως: είδη και παραγωγή αλγορίθμων («διαίρει και βασίλευε», δυναμικός προγραμματισμός, αναδρομή, παράλληλη εκτέλεση, κλπ.), δομές δεδομένων και επίδρασή τους στους αλγόριθμους, κριτήρια αξιολόγησης (πολυπλοκότητα, απαιτήσεις μνήμης, κλπ.).
- Στην ύλη δεν περιλαμβάνονται προχωρημένα θέματα όπως: σύνθετοι τύποι δεδομένων (type), ενότητες (module), αναδρομικές (recursive) διεργασίες, scope δεδομένων και διεργασιών, object-oriented και event-driven προγραμματισμός, κ.ο.κ.