University of Cypruscslogo

University of Cyprus Department of Computer Science

Fall 2018

ΕΠΛ 131: Αρχές Προγραμματισμού Ι


Αρχή | Συμβόλαιο | Χρήσιμο υλικό | Ανακοινώσεις

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

Οι διαλέξεις, τα εργαστήρια, οι ασκήσεις και οι ανακοινώσεις του μαθήματος θα αναρτώνται στο Moodle.

Περιγραφή Μαθήματος

Η ανάπτυξη δεξιοτήτων στην επίλυση προβλημάτων, με αλγοριθμικό τρόπο, και η θεμελίωση της αλγοριθμικής σκέψης, τόσο σε επίπεδο αρχών προγραμματισμού, όσο και σε επίπεδο μίας υψηλής επιπέδου γλώσσας προγραμματισμού (Java).

Διαδικαστικές Πληροφορίες

Διδάσκων: Δρ. Ελπίδα Κεραυνού-Παπαηλιού

  • Γραφείο: ΘΕΕ 01 117

  • Τηλέφωνο: 22-892694

  • Email: elpida@

  • Ώρες γραφείου:

  • Διαλέξεις: Δευτέρα - Πέμπτη, 09:00-10:30, ΧΩΔ01 109 & Δευτέρα - Πέμπτη, 10:30-12:00, ΘΕΕ01 146

  • Φροντιστήρια: Τετάρτη, 09:00-10:00, ΧΩΔ01 108 & Τετάρτη, 10:00-11:00, ΧΩΔ01 006

Υπεύθυνος εργαστηρίων:

Δρ. Παύλος Αντωνίου

  • Γραφείο: ΘΕΕ 01, Β109

  • Τηλέφωνο: 22-893927

  • Email: paul.antoniou@

  • Εργαστήρια: Δευτέρα - Πέμπτη, 12:30-14:30, 14:30-16:30, ΘΕΕ01 103

  • Ώρες γραφείου:

Δρ. Πύρρος Μπράτσκας

  • Γραφείο: ΘΕΕ 01, Β107

  • Τηλέφωνο: 22-893930

  • Email: bratskas@

  • Εργαστήρια: Δευτέρα - Πέμπτη, 12:30-14:30, 14:30-16:30, ΘΕΕ01 B103

  • Ώρες γραφείου:


Τρόπος Διδασκαλίας

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


Προαπαιτούμενα μαθήματος

Κανένα.


Στόχοι

Βασικός στόχος του μαθήματος είναι η απόκτηση ικανότητας επίλυσης διαφόρων προβλημάτων με προγραμματισμό.

Συγκεκριμένα:

  • Μάθηση μεθόδου λύσης προβλημάτων μέσω προγραμματισμού.
  • Η απόκτηση επιδεξιοτήτων στην επίλυση προβλημάτων με διαδικασιακό τρόπο και η θεμελίωση της αλγοριθμικής σκέψης.
  • Η θεμελίωση βασικών αρχών προγραμματισμού, αλγοριθμικών τεχνικών και δομών προγραμμάτων.
  • Η σχεδίαση, υλοποίηση, δοκιμή και αποσφαλμάτωση αρθρωτών προγραμμάτων.
  • Η κατανόηση των σημαντικών εννοιών της αφαιρετικότητας προγράμματος και αφαιρετικότητας δεδομένων.
  • Εφαρμογή των βασικών αρχών μέσω της γλώσσας προγραμματισμού Java.

Βιβλιογραφία

Εγχειρίδιο Μαθήματος

  • R. Sedgewick and K. Wayne, Introduction to Programming in Java: An Interdisciplinary Approach, Addison Wesley, 2008.

Οι σημειώσεις του μαθήματος (διαφάνειες) θα είναι διαθέσιμες στην ιστοσελίδα του μαθήματος.


Αξιολόγηση/Βαθμολογία

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

Προγραμματιστικές Ασκήσεις και Διαγνωστικά

30%

Ενδιάμεση Γραπτή Εξέταση

20%

Τελική Γραπτή Εξέταση

50%

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


Εξετάσεις

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

Προγραμματιστικές Ασκήσεις

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

Κάθε πρόγραμμα  υποβάλλεται σε ηλεκτρονική μορφή μέσω της ιστοσελίδας του μαθήματος. Επιπρόσθετα, το πρόγραμμα, η τεκμηρίωσή του, και το script των δοκιμών υποβάλλονται σε έντυπη μορφή. Η ανταλλαγή απόψεων πάνω στις πρακτικές ασκήσεις συνιστάται. Τονίζεται, όμως, ότι η αντιγραφή κώδικα, ή η παροχή κώδικα προς αντιγραφή, ή η τροποποίηση των αποτελεσμάτων της δοκιμής του κώδικα, αποτελούν πράξεις δόλου που στην καλύτερη περίπτωση οδηγούν σε μηδενισμό.

Διαγνωστικά

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


Fall 2018