Premium
Εκπαιδευτές
Αραμπατζής Δημήτρης,
Δρ. ΕΜΠ
Γεώργιος Μπάρδης,
Δρ. ΕΜΠ, CCNA Certified
Διάρκεια
12 - 15 Εβδομάδες
Kόστος
430
Περισσότερες Πληροφορίες
Μπορείτε να δείτε ένα δέιγμα του μαθήματος εδω
Εισαγωγή
Το σεμινάριο "Εισαγωγή στη Γλώσσα Προγραμματισμού C" διοργανώνεται από την ειδικευμένη εταιρεία υψηλής τεχνολογίας Digital Academy που δημιουργήθηκε από την Ομάδα Εισηγητών του Εργαστηρίου Τεχνολογίας Πολυμέσων του ΕΜΠ. Η γλώσσα προγραμματισμού C είναι η ευρύτερα χρησιμοποιούμενη γλώσσα παγκοσμίως. Έχει δημιουργηθεί τουλάχιστον πριν από 30 χρόνια και έχει αποδείξει διαχρονικά τη μεγάλη δύναμή της και τις εξαιρετικές επιδόσεις της. Είναι γλώσσα προγραμματισμού, η οποία είναι ταυτόχρονα πολύ κοντά στην υπολογιστική μηχανή και στην ανθρώπινη νοοτροπία. Η καλή κατανόηση της C ανοίγει τον δρόμο στην γρήγορη κατανόηση και εξοικείωση με τις περισσότερες, αν όχι όλες, γλώσσες προγραμματισμού. Εξάλλου αποτελεί τη βάση και αφετηρία για τις υπόλοιπες mainstream γλώσσες προγραμματισμού, όπως C++, C# , Java, MATLAB κ.α.
Θεματικές Ενότητες
Το σεμινάριο δομείται σε 10 θεματικές ενότητες:
- Εισαγωγικά: Η έννοια της μεταγλώττισης , η γραφή κυρίων προγραμμάτων (main) της C, η διαδικασία μετατροπής κώδικα (source code) σε εκτελέσιμο πρόγραμμα (executable). Απλές διαδικασίες εισόδου/εξόδου (input/output). Είδη βασικών μεταβλητών στην C, εκτύπωση αυτών και σχετικές λογικές και αριθμητικές πράξεις. Συνθήκες στη C.
- Επαναληπτικοί βρόγχοι, μια πρώτη προσέγγιση: Απλό for loop. Απλό while loop . Διαδοχική ανάγνωση από πληκτρολόγιο. Πρώτη εισαγωγή με παραδείγματα στην έννοια των πινάκων και των αναδρομικών διαδικασιών. Η έννοια της ενδογενούς (built –in) συνάρτησης στη C. Ένα πρώτο σύνολο ενδογενών συναρτήσεων.
- Περαιτέρω εμβάθυνση σε επαναληπτικούς βρόγχους και συνδυασμός αυτών με συνθήκες. Διπλό for loop, διπλό while loop και συνδυασμός αυτών. Πολλαπλοί εμφωλευμένοι επαναληπτικοί βρόγχοι. Παραδείγματα.
- Δημιουργία ιδίων συναρτήσεων στη C. Η έννοια της ορατότητας μεταβλητών και συναρτήσεων. Παραδείγματα και εφαρμογές.
- H έννοια της μνήμης στον υπολογιστή. Δείκτες (pointers) στη C. Σχέση δεικτών και συναρτήσεων (Information Sharing). Παραδείγματα.
- Περαιτέρω ανάλυση και παραδείγματα σχετικά με τους δείκτες. Εισαγωγή στη δυναμική εκχώρηση μνήμης. Απελευθέρωση pointers.
- Διαχείριση αρχείων, ανάγνωση από αυτά και εγγραφή σε αρχείο. Πίνακες και δείκτες.
- Αναδρομικές δομές (συνάρτηση που καλεί τον εαυτό της). Τεχνικές ταξινόμησης και άλλα σχετικά παραδείγματα.
- Εισαγωγή στην έννοια των δομών (structures) και ενώσεων (unions).
- Εφαρμογές με χρήση ολοκληρωμένων προγραμμάτων που συνδυάζουν τα προηγούμενα.
Μεθοδολογία
Σύμφωνα με το εκπαιδευτικό μας πρόγραμμα, η ύλη κατανέμεται σε 10 εκπαιδευτικές ενότητες και ολοκληρώνεται με μία τελική εργασία διαρκείας δύο εβδομάδων. Το πρόγραμμα χρησιμοποιεί την τελευταία έκδοση του ελεύθερου λογισμικού (open source) Moodle, το οποίο βασίζεται στην προγραμματιστική πλατφόρμα PhP. Τα ηλεκτρονικά μαθήματα φιλοξενούνται σε ιδιόκτητους servers ενσωματώνοντας τεχνολογίες αιχμής όπως: Επεξεργαστής 2 x Intel Pentium XEON hyperthreading, Μνήμη 32 GB DDR RAM, Σκληροί Δίσκοι IBM SCSI U320 HDDs @ 15000 rpm Raptors HardWare RAID 5. Η κεντρική διασύνδεση με το Internet πραγματοποιείται μέσω του ΕΔΕΤ (Εθνικό Δίκτυο Έρευνας και Τεχνολογίας) και είναι της τάξης του 1 Gbps (το ΕΔΕΤ έχει 2Χ622 Mbps σύνδεση με το INTERNET - Πανευρωπαϊκό Ερευνητικό Διαδίκτυο GEANT).
Μετά το σεμινάριο
Ένας καλός γνώστης της C μπορεί να ασχοληθεί επαγγελματικά, επιστημονικά, είτε ερευνητικά στα εξής:
- Επιστημονικό προγραμματισμό.
- Ανάπτυξη Λειτουργικών συστημάτων.
- Προγραμματισμό σε Unix και Linux.
- Παραμετροποίηση δικτύων και προγραμματισμός σε αυτά (Networking).
- Επιτάχυνση διαδικασιών και προγραμμάτων με προσθήκη κώδικα C.
- Ειδική επεξεργασία και οργάνωση δεδομένων και άλλα πολλά.
Σκοπός του σεμιναρίου
Σκοπός του σεμιναρίου:
Σκοπός αυτού του εκπαιδευτικού σεμιναρίου είναι να δώσει στον ενδιαφερόμενο τις απαραίτητες γνώσεις και εφόδια πάνω στον προγραμματισμό με τη χρήση της γλώσσας C.
Το παρόν σεμινάριο προορίζεται τόσο για άτομα που δεν έχουν προγραμματιστική εμπειρία, όσο και για άτομα που θέλουν να εμπλουτίσουν τις γνώσεις τους εμβαθύνοντας σε μία γλώσσα προγραμματισμού ευρέως διαδεδομένη στο χώρο της επιστήμης και της εργασίας. Επιπλέον, το σεμινάριο σκοπεύει να αναπτύξει την προγραμματιστική νοοτροπία και να προσφέρει τις απαραίτητες βάσεις που είναι απαραίτητες για να ανταπεξέλθει κάποιος στην κατανόηση και εκμάθηση σχεδόν οποιασδήποτε γλώσσας προγραμματισμού.
Τέλος, το σεμινάριο σκοπεύει να εκπαιδεύσει τον ενδιαφερόμενο στην ανάπτυξη πρακτικών εφαρμογών, χρησιμοποιώντας τη γλώσσα C και σχετικές προγραμματιστικές τεχνικές.