ΣΧΟΛΗ

ΠΟΛΥΤΕΧΝΙΚΗ

ΤΜΗΜΑ

ΜΗΧΑΝΙΚΩΝ ΣΧΕΔΙΑΣΗΣ ΠΡΟΪΟΝΤΩΝ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ

ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ

Προπτυχιακό

ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ

1102

ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ

1

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ

ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΜΕΘΟΔΟΛΟΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΥΤΟΤΕΛΕΙΣ ΔΙΔΑΚΤΙΚΕΣ ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ ΕΒΔΟΜΑΔΙΑΙΕΣ ΩΡΕΣ
ΔΙΔΑΣΚΑΛΙΑΣ
ΠΙΣΤΩΤΙΚΕΣ ΜΟΝΑΔΕΣ
Διαλέξεις 2
Εργαστήριο / Εργ. Ασκήσεις 2
Ασκήσεις (Πράξης κ.λ.π.) 0

ΣΥΝΟΛΟ ΩΡΩΝ

4 6
ΤΥΠΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕΝΙΚΩΝ ΓΝΩΣΕΩΝ
ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ ΜΑΘΗΜΑΤΑ Για την κατανόηση των μαθημάτων, οι φοιτητές δεν απαιτείται να έχουν προηγούμενες γνώσεις.
ΓΛΩΣΣΑ ΔΙΔΑΣΚΑΛΙΑΣ και ΕΞΕΤΑΣΕΩΝ ΕΛΛΗΝΙΚΗ/ΑΓΓΛΙΚΗ
ΤΟ ΜΑΘΗΜΑ ΠΡΟΣΦΕΡΕΤΑΙ ΣΕ ΦΟΙΤΗΤΕΣ ERASMUS ΝΑΙ

ΗΛΕΚΤΡΟΝΙΚΗ ΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ (URL)

https:// eclass.uowm.gr/courses/MRE218/

2. ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Μαθησιακά Αποτελέσματα

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

Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής θα πρέπει να:
1. Να κατανοήσει τις βασικές έννοιες του Προγραμματισμού Ηλεκτρονικών Υπολογιστών.
2. Να αναλύει ένα σύνθετο πρόβλημα σε επιμέρους απλούστερα προβλήματα.
3. Να κωδικοποιεί το πρόβλημα σε αλγοριθμική μορφή.
4. Κατανοεί τις βασικές αρχές και την λογική πάνω στον προγραμματισμό και στην ανάπτυξη κώδικα.
5. Να γράφει δομημένης μορφής προγράμματα που συμπεριλαμβάνουν την κλήση συναρτήσεων(function calls) και την διαδικασία εισόδου/εξόδου δεδομένων στο περιβάλλον Python.
6. Χρησιμοποιεί δομημένες μορφές δεδομένων όπως οι πίνακες στα προγράμματα που αναπτύσσει
7. Μπορεί να εκφράζει με σαφήνεια το documentation του προγράμματος.

Γενικές Ικανότητες

● Θεωρητικό και πρακτικό υπόβαθρο που αφορά το γνωστικό πεδίο του προγραμματισμού.
● Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών.
● Λήψη αποφάσεων.
● Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης.

3. ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

● Εισαγωγικά στοιχεία της Python.
● Μεταβλητές και αριθμοί
● Δομές ελέγχου
● Δομές επανάληψης
● Λίστες
● Συμβολοσειρές
● Πλειάδες
● Σύνολα
● Λεξικά
● Συναρτήσεις
● Αρχές αντικειμενοστραφούς προγραμματισμού.

4. ΔΙΔΑΚΤΙΚΕΣ και ΜΑΘΗΣΙΑΚΕΣ ΜΕΘΟΔΟΙ - ΑΞΙΟΛΟΓΗΣΗ

ΤΡΟΠΟΣ ΠΑΡΑΔΟΣΗΣ
1. ΘΕΩΡΙΑ.
Στην τάξη (πρόσωπο με πρόσωπο).
2. ΕΡΓΑΣΤΗΡΙΟ.
Στον εργαστηριακό χώρο (πρόσωπο με πρόσωπο).
ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ
● Χρήση κατάλληλου λογισμικού Python
● Xρήση εποπτικών μέσων
● Υποστήριξη Μαθησιακής διαδικασίας μέσω της ηλεκτρονικής πλατφόρμας e-class

ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ
Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 50
Εργαστηριακές Ασκήσεις 50
Αυτοτελής Μελέτη 50
Σύνολο Μαθήματος (25 ώρες φόρτου εργασίας ανά πιστωτική μονάδα) 150
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ 2. ΘΕΩΡΙΑ: Γραπτή τελική εξέταση που περιλαμβάνει:
i. Ερωτήσεις Σύντομης Απάντησης,
ii. Επίλυση Προβλημάτων
iii. Ερωτήσεις πολλαπλής επιλογής

5. ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

-Προτεινόμενη Βιβλιογραφία :
● Εισαγωγή στον Προγραμματισμό με την Python, Schneider David
● Python - Εισαγωγή στους υπολογιστές, Νικόλαος Αβούρης, Μιχαήλ Κουκιάς, Βασίλειος Παλιουράς, Κυριάκος Σγάρμπας
-Συναφή επιστημονικά περιοδικά: