Τεχνικές Προγραμματισμού

Σύντομη περιγραφή προγράμματος

Το Επιμορφωτικό Πρόγραμμα «Τεχνικές Προγραμματισμού» αποσκοπεί στην εξοικείωση των συμμετεχόντων με τις βασικές αρχές και τεχνικές του προγραμματισμού Η/Υ καθώς και με την Aλγοριθμική επίλυση προβλημάτων. Έννοιες και Θέματα που θα αναπτυχθούν είναι: 1) Δομή του προγράμματος, σύνταξη και σημασιολογία, αριθμητικές και λογικές παραστάσεις, 2) Δομές ελέγχου: διακλαδώσεις, βρόχοι, 3) Δομημένος προγραμματισμός: διαδικασίες, συναρτήσεις, 4) Πίνακες, γραμμική αναζήτηση, δυαδική αναζήτηση, πολυδιάστατοι πίνακες, 5) Επανάληψη ή αναδρομή, 6) Δυναμική διαχείριση της μνήμης, 7) Διαφορετικοί μέθοδοι ταξινόμησης και πολυπλοκότητά τους, 8) Σύνθετοι τύποι δεδομένων: συμβολοσειρές (strings), δομές, αρχεία (files), 9) Επεξεργασία κειμένου, 10) Πολυπλοκότητα, 11) Αφηρημένοι τύποι δεδομένων, συνδεδεμένες λίστες, στοίβες, ουρές, γραφήματα, δυαδικά δέντρα (διάσχιση), 12) Αντικειμενοστραφής προγραμματισμός: κλάσεις, αντικείμενα, κληρονομικότητα, 13) Βασικές αλγοριθμικές τεχνικές επεξεργασίας γραφημάτων.

Η γλώσσα προγραμματισμού που θα διδαχθεί είναι η C++. Θα δοθεί μια σειρά πρακτικών προβλημάτων από τις περιοχές της μηχανικής μάθησης και της ανάλυσης δεδομένων προς επίλυση. Οι λύσεις θα υποβάλλονται σε αυτόματο σύστημα βαθμολόγησης (grader) και θα παρουσιάζονται σε συναντήσεις με βοηθούς διδασκαλίας με σκοπό την επίλυση αποριών και αδυναμιών.

Video παρουσίασης προγράμματος

Σκοπός Προγράμματος

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

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

Στόχοι Προγράμματος

Το προτεινόμενο πρόγραμμα έχει σκοπό ο εκπαιδευόμενος:
να κατανοήσει πώς να μοντελοποιεί ένα πρόβλημα, πώς να το επιλύει αλγοριθμικά, και πώς να κωδικοποιεί αποδοτικά τη λύση σε γλώσσα προγραμματισμού C++.
να εξοικειωθεί με τις τεχνικές του δομημένου και του αντικειμενοστραφούς προγραμματισμού και να μάθει να αναπτύσσει σύνθετα προγράμματα σε καθένα από τα δύο είδη.
να μάθει να υλοποιεί και να χρησιμοποιεί δομές δεδομένων για την αποδοτική επίλυση υπολογιστικών προβλημάτων.
να μπορεί να κάνει συντήρηση και αποσφαλμάτωση κώδικα.

Εκπαιδευτικές ενότητες Προγράμματος

1η ΕΝΟΤΗΤΑ: Σύντομη Εισαγωγή στην πληροφορική

2η ΕΝΟΤΗΤΑ: Δομή του προγράμματος, Συντακτικά Διαγράμματα, Δηλώσεις Μεταβλητών, Ανάθεση τιμής, Είσοδος-Έξοδος

3η ΕΝΟΤΗΤΑ: Δομές Ελέγχου. Εντολές επανάληψης (for, while, do … while) – Εντολές break
και continue

4η ΕΝΟΤΗΤΑ: Σταθερές, μεταβλητές, Τύποι δεδομένων, Είσοδος-έξοδος, Μορφοποίηση εξόδου

5η ΕΝΟΤΗΤΑ: Διαδικασίες, συναρτήσεις, Πέρασμα παραμέτρων, Δομημένος προγραμματισμός

6η ΕΝΟΤΗΤΑ: Πίνακες, Αναζήτηση (γραμμική – δυαδική), Πολυδιάστατοι πίνακες

7η ΕΝΟΤΗΤΑ: Αναδρομή, Αριθμητικοί υπολογισμοί, Επεξεργασία κειμένου (Παραδείγματα)

8η ΕΝΟΤΗΤΑ: Αλγόριθμοι Ταξινόμησης – Υλοποίηση και Υπολογισμός Πολυπλοκότητας
(insertion sort, selection sort, bubble sort, merge sort, quick sort)

9η ΕΝΟΤΗΤΑ: Σύνθετοι τύποι δεδομένων (Δομές (struct), Ενώσεις (union), Αρχεία κειμένου
και Δυαδικά αρχεία)

10η ΕΝΟΤΗΤΑ: Χρόνος εκτέλεσης προγραμμάτων, αποδοτικότητα, Αποδοτικότητα αλγορίθμων, Πολυπλοκότητα

11η ΕΝΟΤΗΤΑ: Εισαγωγή στη C++. Αφηρημένοι τύποι δεδομένων (κλάσεις και αντικείμενα
της C++, στοίβες – υλοποίηση με πίνακα)

12η ΕΝΟΤΗΤΑ: Διαχείριση της μνήμης (Δυναμική παραχώρηση μνήμης, Σύνθετες Δυναμικές
Μεταβλητές)

13η ΕΝΟΤΗΤΑ: Δομές δεδομένων (Συνδεδεμένες λίστες, Υλοποίηση στοίβας και ουράς με
συνδεδεμένη λίστα, Γραμμικές λίστες)

14η ΕΝΟΤΗΤΑ: Δομές δεδομένων (Γράφοι, Δυαδικά δένδρα, Δυαδικά δέντρα αναζήτησης)

15η ΕΝΟΤΗΤΑ: C++ templates, Function Templates, Class Templates

16η ΕΝΟΤΗΤΑ: Αντικειμενοστρεφής προγραμματισμός (Κληρονομικότητα, κλάσεις και
εμβέλεια, πολλαπλή κληρονομικότητα, επισκίαση μεθόδων, εικονικές μέθοδοι,
πολυμορφισμός)

Το πρόγραμμα ολοκληρώνεται με τη συμπλήρωση ερωτηματολογίων σε σχέση με την ποιότητα των σπουδών για τους σκοπούς της αξιολόγησης του ΚΕΔΙΒΙΜ και για στατιστικούς σκοπούς.

Ωρολόγιο Πρόγραμμα Μαθημάτων

Το ωρολόγιο πρόγραμμα θα είναι διαθέσιμο προσεχώς.

Δεξιότητες που στοχεύει το πρόγραμμα να αποκτηθούν

Μέσω του προγράμματος οι εκπαιδευόμενοι:

θα αποκτήσουν την ικανότητα ανάπτυξης / συγγραφής αποδοτικού και εύκολα συντηρήσιμου λογισμικού-προγράμματος.

Θα μπορούν να κατανοήσουν την έννοια του αποδοτικού αλγορίθμου τόσο θεωρητικά όσο και πρακτικά (μέσα από παραδείγματα).

Θα μάθουν να χρησιμοποιούν μεθόδους ελέγχου (testing) για να βρίσκουν και να διορθώνουν σημασιολογικά λάθη των προγραμμάτων.

Επιπλέον, θα κατανοούν τις βασικές αρχές ανάπτυξης λογισμικού καθώς και του κύκλου του λογισμικού.

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

Ελάχιστες προϋποθέσεις συμμετοχής καταρτιζόμενων

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

Επιστημονικός Υπεύθυνος

Εκπαιδευτές

Πολιτική Διδάκτρων (Γενικοί όροι)

Πριν προχωρήσετε στην πληρωμή των διδάκτρων βεβαιωθείτε ότι έχετε διαβάσει τους ΕΙΔΙΚΟΥΣ ΟΡΟΥΣ (εάν υπάρχουν) του προγράμματος που έχετε επιλέξει.

Γενικά, τα δίδακτρα καταβάλλονται σε δύο δόσεις (εκτός εάν αναφέρεται διαφορετικά στους ΕΙΔΙΚΟΥΣ ΟΡΟΥΣ στο τέλος της παρούσας ενότητας):

50% με την ολοκλήρωση της εγγραφής
και 50% κατόπιν ενημέρωσης από τη Γραμματεία
πριν το τέλος των μαθημάτων

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

Τα δίδακτρα πληρώνονται με τραπεζική κατάθεση στον παρακάτω τραπεζικό λογαριασμό του Ε.Λ.Κ.Ε. Ε.Μ.Π στην ΕΘΝΙΚΗ ΤΡΑΠΕΖΑ ΤΗΣ ΕΛΛΑΔΟΣ:

IBAN: GR0901100800000008001170649
Αρ. Λογ.: 080/011706-49
BIC: ETHNGRAA

αναγράφοντας ως αιτιολογία κατάθεσης το Ονοματεπώνυμό σας και τον Τίτλο του Προγράμματος που θα παρακολουθήσετε.

Ειδικοί όροι:

Αίτηση προεγγραφής στο πρόγραμμα:
Τεχνικές Προγραμματισμού

Παρακαλούμε, συμπληρώστε όλα τα παρακάτω πεδία:

Πρoσωπικά στοιχεία




Επιθυμείτε την έκδοση Απόδειξης ή Τιμολογίου;




Στοιχεία Επικοινωνίας




Σπουδές (επισυνάψτε αντίγραφο του τίτλου σπουδών σας)




Αποδοχή προϋποθέσεων προγράμματος




Σύντομο Βιογραφικό Σημείωμα (στα ελληνικά)






Αποδοχή πολιτικών Κ.Ε.ΔΙ.ΒΙ.Μ. του Ε.Μ.Π.


Απλοποιημένη αίτηση προεγγραφής

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

(Στην έκδοση του website για κινητά-tablet, έχει απενεργοποιηθεί η ανάρτηση συνημμένων εγγράφων για διευκόλυνσή σας).

Αίτηση προεγγραφής στο πρόγραμμα:
Τεχνικές Προγραμματισμού

Παρακαλούμε, συμπληρώστε όλα τα παρακάτω πεδία:

Πρoσωπικά στοιχεία




Επιθυμείτε την έκδοση Απόδειξης ή Τιμολογίου;




Στοιχεία Επικοινωνίας




Σπουδές




Αποδοχή προϋποθέσεων προγράμματος






Αποδοχή πολιτικών Κ.Ε.ΔΙ.ΒΙ.Μ. του Ε.Μ.Π.


Κοινοποιήστε το πρόγραμμα επιμόρφωσης στα κοινωνικά δίκτυα

Τεχνικές Προγραμματισμού

ΑΝΑΚΟΙΝΩΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΟΣ

Για το συγκεκριμένο πρόγραμμα επιμόρφωσης δεν υπάρχουν ανακοινώσεις. Για οποιαδήποτε πληροφορία μπορείτε
να απευθυνθείτε στη γραμματεία
του ΚΕ.ΔΙ.ΒΙ.Μ. του ΕΜΠ με email, στο: kedivim@mail.ntua.gr

Ολοκληρωμένοι κύκλοι προγράμματος επιμόρφωσης

Δεν έχουν ολοκληρωθεί προηγούμενοι κύκλοι.