(1) ΓΕΝΙΚΑ

 ΣΧΟΛΗ  Μηχανικών Παραγωγής και Διοίκησης
 2η ΣΧΟΛΗ  
 ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ  Προπτυχιακό
 ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ  ΜΠΔ 101  ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ  1ο
 ΑΥΤΟΤΕΛΕΙΣ ΔΙΔΑΚΤΙΚΕΣ ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ ΕΒΔΟΜΑΔΙΑΙΕΣ ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ ΠΙΣΤΩΤΙΚΕΣ ΜΟΝΑΔΕΣ
   Διαλέξεις 2  
   Εργαστήρια 2  
   Σύνολο 4 5
 ΤΥΠΟΣ ΜΑΘΗΜΑΤΟΣ  Γενικού υποβάθρου
 ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ ΜΑΘΗΜΑΤΑ  
 ΓΛΩΣΣΑ ΔΙΔΑΣΚΑΛΙΑΣ και ΕΞΕΤΑΣΕΩΝ  Ελληνικά
 ΤΟ ΜΑΘΗΜΑ ΠΡΟΣΦΕΡΕΤΑΙ ΣΕ ΦΟΙΤΗΤΕΣ ERASMUS  Όχι
 ΗΛΕΚΤΡΟΝΙΚΗ ΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ (URL)  https://www.eclass.tuc.gr/courses/MPD213/

 

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

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

 Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής/τρια θα είναι σε θέση να:

  •  Αναγνωρίζει τις εντολές της γλώσσας προγραμματισμού C
  •  Αναπτύσει πρόγραμμα υπολογιστή με χρήση της γλώσσας προγραμματισμού C
  •  Κατανοεί κώδικα της γλώσσας προγραμματισμού C
  •  Σχεδιάζει (Συνθέτει) αλγορίθμους για την επίλυση προβλημάτων
  •  Διατυπώνει αλγορίθμους σε κώδικα της γλώσσας προγραμματισμού C
  •  Διακρίνει τα βασικά είδη λογισμικού και τις θεμελιώδεις δραστηριότητες της τεχνολογίας λογισμικού
  •  Χρησιμοποιεί απλούς τύπους δεδομένων και πίνακες για να αποθηκεύει δεδομένα προς επεξεργασία
  •  Επιλέγει δομές δεδομένων για την οργάνωση και αποθήκευση δεδομένων
  •  Δημιουργεί διαγράμματα ροής, διαγράμματα περιπτώσεων χρήσης και διαγράμματα δραστηριοτήτων
  •  Μεταφράζει ένα διάγραμμα ροής σε κώδικα της γλώσσας προγραμματισμού C
  •  Προτείνει περιπτώσεις χρήσης συστήματος
 Γενικές Ικανότητες
 
  •  Αυτόνομη εργασία
  •  Προφορική επικοινωνία
  •  Διαχείριση Χρόνου
  •  Χρήση Υπολογιστή
  •  Επίλυση προβλημάτων
 

 

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

Εισαγωγή στην τεχνολογία λογισμικού και τον προγραμματισμό: ιστορικό, τύποι και είδη λογισμικού, βασικές αρχές λογισμικού, προβλήματα και προκλήσεις, θεμελιώδεις δραστηριότητες της τεχνολογίας λογισμικού, αλγόριθμοι και δομές δεδομένων, απόδοση αλγορίθμου, αναπαράσταση αλγορίθμου, λογικά διαγράμματα, ψευδοκώδικας. Γνωριμία με την γλώσσα προγραμματισμού C. Το Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE) Code::Blocks. Εκμάθηση της γλώσσας προγραμματισμού C μέχρι επιπέδου χειρισμού πινάκων και δομών: μεταβλητές, τύποι δεδομένων, σταθερές, τελεστές, έξοδος και είσοδος χρήστη, δομές επιλογής, δομές επανάληψης, συναρτήσεις, πίνακες, αλφαριθμητικά, δομές. Διαδικασίες ανάπτυξης λογισμικού, μηχανική απαιτήσεων, διαγράμματα περιπτώσεων χρήσης, διαγράμματα δραστηριοτήτων.

Εργαστήρια: Εξάσκηση στον προγραμματισμό σε γλώσσα C και εκπόνηση εργασιών με χρήση του Code::Blocks IDE.

 

(4) ΔΙΔΑΚΤΙΚΕΣ ΚΑΙ ΜΑΘΗΣΙΑΚΕΣ ΜΕΘΟΔΟΙ – ΑΞΙΟΛΟΓΗΣΗ

 ΤΡΟΠΟΣ ΠΑΡΑΔΟΣΗΣ   Πρόσωπο με πρόσωπο
 ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ
 Στη Διδασκαλία:  Διαφάνεις με κίνηση powerpoint
 Στην Εργαστηριακή Εκπαίδευση:  Ολοκληρωμένο περιβάλλον ανάπτυξης (IDE) Code::blocks.
 Στην Επικοινωνία με τους φοιτητές:

 Πλατφόρμα ασύγχρονης τηλεκπαίδευσης E-Class, Email,  
 Επικοινωνία μέσω zoom για επίλυση αποριών

 ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ
 Διαλέξεις  26 ώρες
 Εργαστήρια  22 ώρες
 Εκπόνηση Εργαστηριακών Ασκήσεων  28 ώρες
 Αυτοτελής μελέτη  49 ώρες
 Σύνολο  125 ώρες


Διδακτέα Ύλη ανά Εβδομάδα (13 εβδομάδες) :

Διαλέξεις ανά εβδομάδα:

- Εβδομάδα 1: Εισαγωγή στην τεχνολογία λογισμικού και τον προγραμματισμό (σύντομο ιστορικό, συστήματα λογισμικού, τύποι λογισμικού, θεμελιώδεις δραστηριότητες της τεχνολογίας λογισμικού, ποιότητα και βασικές αρχές λογισμικού, αλγόριθμοι και δομές δεδομένων, αναπαράσταση και υλοποίηση αλγορίθμου)
- Εβδομάδα 2: Εισαγωγή στη Γλώσσα Προγραμματισμού C (σύντομο ιστορικό, κύκλος δημιουργίας ενός προγράμματος C, ολοκληρωμένο περιβάλλον ανάπτυξης, η συνάρτηση main, εντολές, εισαγωγή σχολίων, λάθη και σφάλματα)
- Εβδομάδα 3: Μεταβλητές και τύποι δεδομένων
- Εβδομάδα 4: Είσοδος δεδομένων
- Εβδομάδα 5: Τελεστές
- Εβδομάδα 6: Έλεγχος προγράμματος (δομές ελέγχου)
- Εβδομάδα 7: Βρόχοι επανάληψης
- Εβδομάδα 8: Συναρτήσεις
- Εβδομάδα 9: Πίνακες
- Εβδομάδα 10: Αλφαριθμητικά
- Εβδομάδα 11: Δομές
- Εβδομάδα 12: Διαδικασίες ανάπτυξης λογισμικού και μηχανική απαιτήσεων
- Εβδομάδα 13: Περιπτώσεις χρήσης και διαγράμματα δραστηριοτήτων

Αλλα Σχόλια για την Οργάνωση της Διδασκαλίας :

Εργαστήρια ανά εβδομάδα (ξεκινούν την τρίτη εβδομάδα):

- Εβδομάδα 3: Εισαγωγικές έννοιες, περιβάλλον εργασίας (Ενσωματωμένο Περιβάλλον Ανάπτυξης Code::Blocks), παράδειγμα δομής προγράμματος σε C, Εκτέλεση προγράμματος.
- Εβδομάδα 4: Μεταβλητές, σταθερές και παραστάσεις. Είσοδος/έξοδος
δεδομένων, αριθμητικοί τελεστές (πράξεις).
- Εβδομάδα 5: Έλεγχος προγράμματος, τελεστές σύγκρισης, λογικοί τελεστές
- Εβδομάδα 6: Δομές επανάληψης
- Εβδομάδα 7: Συναρτήσεις (functions)
- Εβδομάδα 8: Πρόοδος / ενδιάμεση εξέταση εργαστηρίου
- Εβδομάδα 9: Διανύσματα (arrays)
- Εβδομάδα 10: Αλφαριθμητικά (strings)
- Εβδομάδα 11: Πίνακες δύο διαστάσεων
- Εβδομάδα 12: Επανάληψη
- Εβδομάδα 13: Τελική εξέταση εργαστηρίου.

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

Στα εργαστήρια παραδίδονται εργασίες/προγράμματα (μία ανά δύο εργαστήρια).
Οι φοιτητές εξηγούν τη λύση που προτείνουν στο πρόβλημα προφορικά.

 

(5) ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

 Αθροιστική/Συμπερασματική (για βαθμό φοιτητή) Αξιολόγηση
 Γραπτή Τελική Εξέταση   70%   (Ερωτήσεις πολλαπλής επιλογής / Αντιστοίχιση) 
     (Ερωτήσεις σύντομης απάντησης)
     (Ερωτήσεις επίλυσης προβλημάτων)
 Ασκήσεις Εργαστηρίου   30%   (Προφορική Εξέταση)
     (Διόρθωση Παραδομένης Εργασίας)


Σχόλια για την Αξιολόγηση των Φοιτητών :

Είναι υποχρεωτική η παράδοση εργαστηριακών ασκήσεων με χρήση υπολογιστή στις οποίες ο φοιτητής:
i. αναπτύσσει και παρουσιάζει πρόγραμμα C χρησιμοποιώντας το Code::Blocks IDE
ii. αναλαμβάνει ένα project ανάπτυξης λογισμικού στη C, με συγκεκριμένο χρόνο παράδοσης, παραδίδει και παρουσιάζει τον κώδικα προφορικά

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

Αυτοαξιολόγηση (προαιρετική) με ασκήσεις στο e-class.

 

(6) ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

  • Τσελίκης Γ. Σ., Τσελίκας Ν. Δ. (2023) C: Από τη Θεωρία στην Εφαρμογή, 4η έκδοση.
  • Χατζηγιαννάκης Νίκος Μ (2017): Η γλώσσα C σε βάθος, 5η έκδοση, Εκδόσεις Κλειδάριθμος.
  • Schildt Herbert (2000): Οδηγός της C, 3η έκδοση, Εκδόσεις Γκιούρδας.
  • Κακαρόντζας Γ., Στάμελος Ι. (2023): Μηχανική Λογισμικού, 1η έκδοση, Εκδόσεις Κλειδάριθμος.
  • Ian Sommerville (2008): Bασικές Αρχές Τεχνολογίας Λογισμικού, 8η έκδοση, Εκδόσεις Κλειδάριθμος.
  • Σταμέλος Ιωάννης και Κολοφωτιάς Βάιος (2013). Αντικειμενοστρεφής Ανάλυση: Περιπτώσεις Χρήσης. Σημειώσεις, Ανοικτά Ακαδημαϊκά Μαθήματα στο Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης.
  • Υπουργείο Παιδείας και Πολιτισμού (2006). Σχεδίαση Λογικών Διαγραμμάτων. Σημειώσεις Μαθήματος Πληροφορικής Δευτεροβάθμιας Εκπαίδευσης. Κύπρος.