Ιστοσελίδα Μαθήματος ΤΕΜ-101: Εισαγωγή στους Η/Υ

Χειμερινό Εξάμηνο 2012/2013

 

Διδάσκων:  Χαρμανδάρης Ευάγγελος

email: vagelis@tem.uoc.gr

 

Ώρες Διαλέξεων:  Τρίτη 9:00-11:00, Παρασκευή 11:00-13:00

Ώρες Εργαστηρίου:  (6 Ομάδες) Δευτέρα, 11:00-13:00, Τετάρτη-Παρασκευή 15:00-17:00, Πέμπτη 09:00-11:00, 13:00-15:00.

Ώρες Γραφείου:  Τρίτη 11:00-13:00, Παρασκευή 13:00-15:00

 

ΤΕΛΙΚΟΙ ΒΑΘΜΟΙ ΕΡΓΑΣΤΗΡΙΩΝ

 

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

Η εγγραφή στα εργαστήρια γίνεται μέσα από την παρακάτω ιστοσελίδα:

Doodle - Εργαστήριο ΤΕΜ-101 

Προσοχή: Υπάρχουν 6 ομάδες εργαστηρίων για τις παρακάτω ώρες:

Δευτέρα 11:00-13:00 (1 ομάδα), Τετάρτη — Παρασκευή 15:00-17:00 (3 ομάδες) και Πέμπτη: 09:00-11:00, 13:00-15:00 (2 ομάδες) . Κάθε φοιτητής/τρια συμπληρώνει το όνομά του/της και το ΑΜ σε ΜΟΝΟ ένα δίωρο.  Υπάρχει μέγιστος αριθμός 25 ατόμων ανά δίωρο.

Οι βοηθοί μαζί με τα αντίστοιχα email είναι:

1) Δευτέρα   11:00-13:00, Καλύβας Φίλιππος,
kalyvas@tem.uoc.gr

2) Τετάρτη   15:00-17:00, Σγόντζος Κωνσταντίνος,
sgontzos@tem.uoc.gr

3) Πέμπτη    09:00-11:00, Χριστινάκης Γεώργιος,
gchristinak@tem.uoc.gr

4) Πέμπτη    13:00-15:00, Ισλάκογλου Γρηγόριος,
islakoglou@tem.uoc.gr

5) Πέμπτη    15:00-17:00, Αρνίτταλη Μαρία,
maria.arnittali@gmail.com

6) Παρασκευή 15:00-17:00, Αβραμίδου Παρασκευή,
avraamidou@tem.uoc.gr

 

Ύλη του Μαθήματος

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

· Η κατανόηση της λειτουργίας ενός ηλεκτρονικού υπολογιστή και της έννοιας του αλγορίθμου,

· Η εκμάθηση της γλώσσας προγραμματισμού C και

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

 

Το μάθημα αποτελείται από δύο μέρη:

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

 

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

 

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

· The C Programming Language των Brian W. Kernighan και Dennis Μ. Ritchie.

· Παρουσιάσεις με τη μορφή διαφανειών (slides).

· Η βιβλιογραφία βρίθει κυριολεκτικά με βιβλία για την εκμάθηση της γλώσσας και στο διαδίκτυο μπορεί να βρει κανείς χιλιάδες οδηγούς εκμάθησης (tutorials). Ο αναγνώστης ίσως βρει χρήσιμο και το βιβλίο του Eric S. Roberts «Η τέχνη και η επιστήμη της C», εκδόσεις Κλειδάριθμος, το οποίο χρησιμοποιείται επίσης ευρέως για τη διδασκαλία της C σε εισαγωγικά μαθήματα προγραμματισμού.

· Εισαγωγή στο Λειτουργικό Σύστημα Linux

.

Διδασκαλία  - Αξιολόγηση

Για τις διδακτικές ανάγκες του μαθήματος θα χρησιμοποιηθούν οι σημειώσεις και φυλλάδια, σε μορφή slides,  τα οποία θα μοιράζονται σε τακτά χρονικά διαστήματα. 

 

Η αξιολόγηση θα βασιστεί κατά κύριο λόγο στη συμμετοχή, στις εργαστηριακές ασκήσεις, και στο τελικό διαγώνισμα. Θα δοθούν 3-4 σειρές εργαστηριακών ασκήσεων οι οποίες είναι υποχρεωτικές. Στις εργαστηριακές ασκήσεις θα γίνεται μελέτη και υλοποίηση αλγορίθμων διαφορετικών προβλημάτων χρησιμοποιώντας τη γλώσσας προγραμματισμού C. Η  παράδοση των εργαστηριακών ασκήσεων είναι υποχρεωτική για όλους τους πρωτοετείς φοιτητές. Επίσης θα υπάρχει και προφορική εξέταση των εργαστηριακών ασκήσεων. Φοιτητές μεγαλυτέρων ετών μπορούν να κρατήσουν παλαιότερο βαθμό εργαστηρίου με δήλωσή τους στο διδάσκοντα.

 

Ο τελικός βαθμός προκύπτει ως εξής: B = 0.35 * E + 0.65 * T, όπου E είναι ο μέσος όρος των εργαστηριακών ασκήσεων, και T ο βαθμός στο τελικό διαγώνισμα. Οι εργαστηριακές ασκήσεις, με εξαίρεση μιας ή δύο, θα γίνονται στις ώρες των εργαστηρίων σε ημερομηνίες και ύλη που θα είναι γνωστές εκ των προτέρων. Προσοχή: Ο βαθμός πρέπει να είναι > = 5 τόσο στις ασκήσεις όσο και στη τελική εξέταση. Επίσης αν η διαφορά μεταξύ των δύο βαθμών (Β και Ε) είναι μεγαλύτερη των 3 μονάδων θα υπάρχει η δυνατότητα για επιπλέον προφορική εξέταση. Σε αντίθετη περίπτωση ο τελικός βαθμός θα είναι ο μικρότερος μεταξύ των δύο βαθμών.

 

Ηλεκτρονική Λίστα Αλληλογραφίας

Ενημέρωση σχετικά με το μάθημα (για τις σειρές ασκήσεων, ημερομηνίες εξετάσεων, κ.τ.λ.) γίνεται από την ηλεκτρονική λίστα αλληλογραφίας. Για να γραφτείτε στην ηλεκτρονική λίστα αλληλογραφίας του μαθήματος στείλτε email με κενό θέμα και περιεχόμενο subscribe em101-list στην διεύθυνση majordomo@tem.uoc.gr. Στην συνέχεια θα σας σταλεί ένα email στο οποίο θα χρειαστεί να απαντήσετε χρησιμοποιώντας κάποιο συγκεκριμένο μήνυμα για επιβεβαίωση. Για να εγγραφείτε στην λίστα πρέπει να χρησιμοποιήσετε την ηλεκτρονική διεύθυνση που σας παρέχεται από το Πανεπιστήμιο Κρήτης (για παράδειγμα username@tem.uoc.gr ή username@math.uoc.gr).

 

 

Σημειώσεις του Μαθήματος (English)

· Πρόγραμμα Διδασκαλίας — Ημερολόγιο του Μαθήματος

· Κεφάλαιο 1: Εισαγωγή  —  Ιστορικά Στοιχεία

· Κεφάλαιο 2: Hardware  —  Λειτουργικά Συστήματα

 

 

Σειρές Εργαστηριακών Ασκήσεων

· Σειρά Ασκήσεων 1

· Σειρά Ασκήσεων 2

· Σειρά Ασκήσεων 3

 

Παραδείγματα Προγραμμάτων

· Πρότυπο προγράμματος C: Sample.c

· Παραδείγματα προγραμμάτων 1: Samples_1 (Hello World, Factorial, Count Lines)  

· Παραδείγματα προγραμμάτων 2: Samples_2 (Operations with Matrices)

· Ταξινόμηση: Samples_3 (Selection Sort)

· Δείκτες (Pointers): Samples_4 (Pointers)

 

Διδακτέα Ύλη:

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

 

· «Η Γλώσσα Προγραμματισμού C» των B. Kernighan και D. RitchieΚεφ. 1,  Κεφ. 2,  Κεφ. 3 (3.1—3.7), Κεφ. 4 (4.1—4.6, 4.8—4.10, 4.11.1), Κεφ. 7 (7.1—7.4)

· «Η τέχνη και η επιστήμη της C», του E. Roberts: Κεφ. 1-5, Κεφ. 6 (6.2, 6.4),  Κεφ. 9 (9.2, 9.4), Κεφ. 10 (Εισαγωγή), Κεφ. 11 (11.1—11.3, 11.6), Κεφ. 12, Κεφ. 13 (13.1—13.4)

 

 

Δημοσιεύσεις — Άρθρα

· 20th Century Top algorithms (SIAM News 2000)

 

Σύνδεσμοι στο Διαδίκτυο

· Brief History of Computers