130 likes | 258 Views
ΜΑΘ-3122 ( 10 6) Εισαγωγή στους ΗΥ. Εαρινό Εξάμηνο 2010. Εισαγωγή. Διδάσκων: Ξενοφών Ζαμπούλης ( zabulis @ ics.forth.gr ), Επισκέπτης Καθηγητής Γραφείο: H304 - Τηλέφωνο: 2810 391696, 393842 Ώρες γραφείου: Τρίτη 1-2 & Πέμπτη 3-4 zabulis@ics.forth.gr
E N D
ΜΑΘ-3122 (106)Εισαγωγή στους ΗΥ Εαρινό Εξάμηνο 2010
Εισαγωγή • Διδάσκων: Ξενοφών Ζαμπούλης (zabulis@ics.forth.gr), Επισκέπτης Καθηγητής • Γραφείο: H304 - Τηλέφωνο: 2810 391696, 393842 • Ώρες γραφείου: Τρίτη 1-2 & Πέμπτη 3-4 • zabulis@ics.forth.gr • Web site μαθήματος:http://www.csd.uoc.gr/~math106 • Διδακτικό Βιβλίο: • Η τέχνη και η επιστήμη της C, Ε. Roberts, εκδόσεις ΚΛΕΙΔΑΡΙΘΜΟΣ • Οδηγός της C, Herbert Schildt, Εκδόσεις Γκιούρδας • Η Γλώσσα Προγραμματισμού C, Kernighan & Ritchie, Εκδόσεις Κλειδάριθμος
Εισαγωγή: Βαθμολόγηση και Οργάνωση • Το μάθημα θα έχει: • 4 σειρές ασκήσεων (Α) και 4 παραδώσεις/εξετάσεις • 1 προαιρετική εργασία • Εργαστήρια (E) • Πρόοδος (Π) • Τελικό (Τ) • Τύπος υπολογισμού τελικού βαθμού • Τελικός Βαθμός = 0.3 ∙ A + 0.7∙Τ ή0.3 ∙ A + 0.2∙Π + 0.5∙Τ • Πρέπει να πάρετε τουλάχιστον πάνω από, 5 στις ασκήσεις και 4.5 στο τελικό για να περάσετε • Στο τελικό επιτρέπεται μόνο η χρήση του βιβλίου • Στο τελικό και πρόοδο επιτρέπεται να έχετε μόνο το δικό σας βιβλίο
Εισαγωγή: Πρόγραμμα • Πρόγραμμα Μαθήματος • Τρίτη 2-3 (ΑΜΦ. ΣΠ) και Πέμπτη 11-1 (ΑΜΦ. ΣΠ) • Πρόγραμμα Εργαστηρίων (3-4 τμήματα)
Εισαγωγή: Ασκήσεις • Διαβάθμιση ως προς την δυσκολία - Απλά και πιο σύνθετα (δύσκολα) ερωτήματα • Παραδίδονται μέσω της submit - εμπρόθεσμα • Καθυστέρηση κατά την κατάθεση παίρνει το 50% του βαθμού και γίνεται δεκτή σε ειδικές περιπτώσεις • Πρέπει να τρέχουν στην πλατφόρμα του τμήματος (Linux/Windows μηχανήματα) • Εξετάζονται από τους βοηθούς μετά από ραντεβού κλεισμένο ηλεκτρονικά στην ιστοσελίδα • Εξέταση: Ερωτήσεις κώδικα – τρέξιμο άσκησης • Θα υπάρχουν ερωτήματα bonus με δυνατότητα βαθμολόγησης πάνω από 100%
Εισαγωγή: Φροντηστήρια • Για να βοηθήσουν όσους έχουν δυσκολίες • Για να βοηθήσουν σε εξάσκηση • Σε κάθε φροντηστήριο θα λύνονται ασκήσεις • Θα επιλύονται απορίες σχετικά με την C • Οι βοηθοί θα σας βοηθήσουν • Επίλυση της άσκησης • Λύση κάθε απορίας για την C • Είναι Προαιρετικά και δεν θα υπολογίζονται στον τελικό βαθμό
Εισαγωγή: Περί Αντιγραφής Τι είναι: • Αντιγραφή κώδικα ή μέρους αυτού από άλλη πηγή (συμφοιτητή, διαδίκτυο, κάποιον τρίτο, κτλ) • Αντιγραφή της ιδέας ενός αλγορίθμου • Αντιγραφή κειμένου ή μέρους αυτού κατά την διάρκεια εξέτασης • Αυτόματη ανίχνευση • Συνέπειες: • Μηδενισμός της άσκησης, διαγωνίσματος κτλ. σε όλα τα μέρη που εμπλέκονται στην αντιγραφή • Ενημέρωση του τμήματος σχετικά • Όποιος αντιγράφει στον προγραμματισμό θα αντιγράφει συνέχεια • Το μάθημα είναι η βάση για τα περισσότερα μαθήματα του τμήματος • Μην αφήνετε τους άλλους να αντιγράψουν από εσάς • Κλειδώστε τις περιοχές σας • chmod 700 mydir • chmod 600 myfile
Εισαγωγή: Σκοπός • Εκμάθηση της γλώσσας C • Μια από τις πιο σημαντικές γλώσσες : • Έχει στοιχεία υψηλού επιπέδου • Μπορεί να «αγγίξει» τον υπολογιστή (χαμηλού επιπέδου χαρακτηριστικά) • Παράγει «αποτελεσματικά – αποδοτικά προγράμματα» • Μπορεί να τρέξει σε διαφορετικούς υπολογιστές • Σημαντικό βήμα για την εκμάθηση άλλων γλωσσών (λ.χ. C++, Java) • Χειρισμός βρόχων, συναρτήσεων, πινάκων, δεικτών, δομών δεδομένων, αρχείων
Εισαγωγή: Σκοπός • Εκμάθηση της γλώσσας C • Προγραμματισμός – Αλγοριθμική σκέψη • Εκμάθηση/Κατανόηση σημαντικών εννοιών • Επίλυση προβλημάτων (αλγόριθμος) • Προγραμματισμός αλγορίθμων • Από τον αλγόριθμο στο πρόγραμμα • Διόρθωση/Κατανόηση/Αλλαγή προγράμματος • Εκμάθηση τρόπου γραψίματος για να είναι εύκολη η ανανέωση και η επαναχρησιμοποίηση των προγραμμάτων μας • Βάσεις για επαγγελματικές δεξιότητες
Εισαγωγή: Εργαλεία • Σε LINUX • gcc, γλωσσομεταφραστής της C • ddd, xxgdb, debugger της C (εύρεση λαθών) • Editors : Emacs, vi, vim, gvim, pico, xcoral για την συγγραφή προγραμμάτων • Σε Windows • wubi: Εγκατάσταση Linux (Ubuntu, Kubuntu) μέσω Windows (http://wubi-installer.org/) • Περιβάλλοντα προγραμματισμού της C, όπως Microsoft Visual Studio και Dev-C++,wx-devcpp (http://www.bloodshed.net/) (http://wxdsgn.sourceforge.net/) • cygwin ή MinGW (http://www.mingw.org/), για προγραμματισμόκαι μεταγλώττιση • Συμβουλή: • Στήστε ένα καλό περιβάλλον προγραμματισμού στο σπίτι σας
Εισαγωγή: Βοήθεια! • Άμεση Βοήθεια - Κατά τις ώρες των εργαστηρίων • Ηλεκτρονική Λίστα: math106-list@csd.uoc.gr • Μήνυμα: majordomo@csd.uoc.gr, χωρίς subject με κείμενο «subscribe math106-list» • Στην ηλεκτρονική λίστα του μαθήματος • Στις ώρες γραφείου
Εισαγωγή: Συμβουλές • Ρωτήστε, ενημερωθείτε, διαβάστε, ζητήστε βοήθεια • Βοήθεια δεν προσπαθώ • Εκμεταλλευτείτε τα εργαστήρια • Ο προγραμματισμός μαθαίνεται μόνο με προγραμματισμό ~ οδήγηση - κολύμβηση -μπάσκετ • Υπομονή, επιμονή, προσπάθεια • Η εξάσκηση (διάβασμα και προγραμματισμός) θα σας κάνει δυνατούς • Καλός προγραμματιστής ~ γραμμές κώδικα που έχει γράψει
Εισαγωγή: Για την επόμενη φορά • Θυμηθείτε το περιβάλλον στο Unix • Δοκιμάστε να τρέξετε και διαβάστε τα εγχειρίδια για τα gcc • Κλειδώστε τις περιοχές σας • Μάθετε έναν editor της προτίμησής σας • Εγκαταστήστε κάποιο περιβάλλον προγραμματισμού στον υπολογιστή σας