Διδάσκων: Μιχάλης Πλεξουσάκης, Γ-118, Λευκό Κτήριο. E-mail: plex [at] tem uoc gr

Ώρες γραφείου: Δευτέρα 9:00-11:00, Τετάρτη 13:00-15:00

Σκοπός του μαθήματος «Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές» είναι η παρουσίαση των βασικών αρχών προγραμματισμού με τη γλώσσα C. Το μάθημα αυτό απευθύνεται σε πρωτοετείς φοιτητές του Τμήματος Εφαρμοσμένων Μαθηματικών με μικρή εμπειρία στον προγραμματισμό, αλλά με κάποια βασική κατανόηση της δομής και λειτουργίας ενός ηλεκτρονικού υπολογιστή. Οι διαλέξεις φιλοδοξούν να καλύψουν το μεγαλύτερο μέρος της γλώσσας και να δημιουργήσουν μια στέρεη βάση πάνω στην οποία οι ακροατές να μπορούν να αναπτύξουν περαιτέρω τις δεξιότητες προγραμματισμού. Στις πρώτες διαλέξεις γίνεται μια σύντομη αναδρομή της ιστορίας των υπολογιστών, της δομής και λειτουργίας ενός σύγχρονου υπολογιστή, καθώς και της έννοιας του αλγορίθμου, της στρατηγικής δηλαδή για την επίλυση ενός προβλήματος με τη βοήθεια ενός υπολογιστή. Επιπλέον, γίνεται μια σύντομη επισκόπηση του λειτουργικού συστήματος Linux, το οποίο χρησιμοποιούν οι υπολογιστές των εργαστηρίων του Τμήματος και ενός απλού κειμενογράφου (editor) για τη συγγραφή προγραμμάτων.

Ώρες διαλέξεων: Δευτέρα, Τετάρτη 11:00 - 13:00 (Αμφ. Β), Παρασκευή 11:00 - 13:00 (ΡΑ-101, Λευκό Κτήριο)

Ώρες εργαστηρίων: Τρίτη 13:00-15:00, Τετάρτη 15:00-17:00, Πέμπτη 11:00-13:00, 15:00-17:00, Παρασκευή 11:00-13:00. Όλα τα εργαστήρια στην αίθουσα Η-205.

Popularity of computer programming languages

Η γλώσσα προγραμματισμού C, αν και αναπτύχθηκε πρίν από 40 και πλέον χρόνια, αποτελεί ακόμα και σήμερα μια από τις δημοφιλέστερες γλώσσες προγραμματισμού (δείτε τον πίνακα στα δεξιά). Διακρίνεται για την οικονομία του συντακτικού της, τις μοντέρνες δομές ελέγχου και τον πλούτο των τύπων δεδομένων και τελεστών της. Αυτά τα χαρακτηριστικά, καθώς και άλλα που θα δούμε στη συνέχεια, καθιστούν την C ελκυστική για την λύση υπολογιστικών προβλημάτων και τον προγραμματισμό επιστημονικών και τεχνικών εφαρμογών. Το μάθημα ΤΕΜ-101 φιλοδοξεί να παρουσιάσει εκείνα τα χαρακτηριστικά της γλώσσας που θα επιτρέψουν στον ακροατή να γράψει χρήσιμα προγράμματα γρήγορα. Αυτό σημαίνει ότι δίνεται μεγάλη σημασία τόσο στην παρουσιάση των εννοιών της γλώσσας όσο και στην ανάπτυξη αλγορίθμων για την επίλυση υπολογιστικών προβλημάτων. Η παρουσία, επομένως, του ακροατή στα εργαστήρια του μαθήματος κρίνεται απαραίτητη. Άλλο τόσο χρήσιμη είναι και η έγκαιρη κατανόηση του γεγονότος ότι ο μόνος τρόπος να μάθει κανείς να προγραμματίζει είναι γράφοντας προγράμματα.

Διδακτικό υλικό

Για τις ανάγκες του μαθήματος θα χρησιμοποιηθεί το βιβλίο «Η γλώσσα προγραμματισμού C» των Brian W. Kernighan και Dennis Μ. Ritchie (ο δεύτερος συγγραφέας είναι ο δημιουργός της C). Η C είναι μικρή γλώσσα προγραμματισμού, σε σχέση με το πλήθος των δομών και τύπων δεδομένων της, και η εκμάθησή της εξυπηρετείται καλύτερα από ένα σύντομο βιβλίο όπως αυτό των Kernighan και Ritchie (μόνο 272 σελίδες!). Η βιβλιογραφία βρίθει κυριολεκτικά με βιβλία για την εκμάθηση της γλώσσας και στο διαδίκτυο μπορεί να βρεί κανείς χιλιάδες οδηγούς εκμάθησης (tutorials). Ο αναγνώστης ίσως βρεί χρήσιμο και το βιβλίο του Eric S. Roberts «Η τέχνη και η επιστήμη της C», εκδόσεις Κλειδάριθμος, το οποίο χρησιμοποιείται επίσης ευρέως για τη διδασκαλία της C σε εισαγωγικά μαθήματα προγραμματισμού. Προσωπικές σημειώσεις του διδάσκοντα, οι οποίες θα αναρτώνται σε αυτήν εδώ την ιστοσελίδα, θα καλύψουν περαιτέρω θέματα.

Εισαγωγή στους Η/Υ - Σημειώσεις »

Εισαγωγή στο λειτουργικό σύστημα Linux - Σημειώσεις »

Υπόδειγμα εργαστηριακής άσκσης.

Πρότυπο προγράμματος C

Υλικό για τα εργαστήρια εβδομάδας 25-29/10

Υλικό για τα εργαστήρια εβδομάδας 02-05/11

Υλικό για τα εργαστήρια εβδομάδας 06-10/12

2η Εργαστηριακή Άσκηση. Ημερομηνία παράδοσης 29/11/2010. Για την δοκιμή του προγράμματός σας μπορείτε να χρησιμοποιήσετε το αρχείο sudoku.txt.

Λύση της 2ης εργαστηριακής άσκησης.

3η Εργαστηριακή Άσκηση. Ημερομηνία παράδοσης 10/01/2010.

Το εργαστήριο της Τρίτης 14/12 αναβάλεται λόγω Γενικής Συνέλευσης φοιτητών του ΤΕΜ. Παρακαλούνται οι φοιτητές να παρακαλουθήσουν ένα από τα εργαστήρια της Τετάρτης, Πέμπτης ή Παρασκευής.

Λύσεις της 3ης εργαστηριακής άσκησης: πρώτο μέρος, δεύτερο μέρος και τρίτο μέρος.

Λύσεις Τελικού διαγωνίσματος: Θέματα Α, Θέματα Β.

Αξιολόγηση

Ο τελικός βαθμός του μαθήματος θα υπολογιστεί από τον τύπο B = 0.35 * E + 0.65 * T, όπου E είναι ο μέσος όρος των εργαστηριακών ασκήσεων, και T ο βαθμός στο τελικό διαγώνισμα. Οι εργαστηριακές ασκήσεις, με εξαίρεση μιας ή δύο, θα γίνονται στις ώρες των εργαστηρίων σε ημερομηνίες και ύλη που θα είναι γνωστές εκ των προτέρων.

Ανακοινώσεις

11-10-10 Τα εργαστήρια του μαθήματος θα γίνονται από αύριο Τρίτη 12 Οκτωβρίου στην αίθουσα H-205.

27-09-10 Τα εργαστήρια του μαθήματος θα ξεκινήσουν την Πέμπτη 30 Σεπτεμβρίου.

20-09-10 Το μάθημα της Παρασκευής 24/09 θα γίνει στην αίθουσα Λ-205.

Ημερολόγιο

11-10-10 Εντολές ανακύκλωσης (συνέχεια).

06-10-10 Σχεσιακοί και λογικοί τελεστές. Εντολές ανακύκλωσης.

04-10-10 Αριθμητικές παραστάσεις.

29-09-10 Μεταβλητές και τύποι δεδομένων (συνέχεια).

27-09-10 Οργάνωση αρχείων/καταλόγων στο Unix. Περισσότερα για το hello.c. Μεταβλητές και τύποι δεδομένων.

24-09-10 Γνωριμία με τα εργαστήρια του Τμήματος. Βασικές εντολές του Unix.

22-09-10 Εισαγωγή στο λειτουργικό σύστημα Unix. Βασικές εντολές. Το πρώτο πρόγραμμα στη C. Διαδικασία μεταγλώττισης.

20-09-10 Σύντομη ιστορία των υπολογιστών. Αλγόριθμοι και γλώσσες προγραμματισμού.