ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΣΥΣΤΗΜΑΤΟΣ
Χειμερινό
Εξάμηνο 2007-08
Γενικά
Στοιχεία
Κωδικός:
|
Κ24
|
Κατηγορία:
|
Κορμός
Πληροφορικής
και
Τηλεπικοινωνιών
|
Εξάμηνο:
|
Z'
|
|
|
Διαλέξεις:
|
Τετάρτη 19:00-21:00
(αίθουσα Α')
|
|
Πέμπτη 16:00-18:00 (αίθουσα
ΣΤ')
|
|
|
Έναρξη
μαθημάτων:
|
Τετάρτη 17/10/2007
|
|
|
Διδάσκων:
|
Αντώνιος
Δεληγιαννάκης
(adelidi.uoa.gr)
|
|
|
Μεταπτυχιακοί
Συνεργάτες:
|
Βασίλης
Στούμπος (stoumposdi.uoa.gr)
Αργύρης Πετρόπουλος
(archiepetropgmail.com)
Δημήτριος Κατρής (d.katrisdi.uoa.gr)
Δημήτριος Κωτσάκος
(std02041di.uoa.gr)
|
Αντικείμενο
του Μαθήματος
- Το
λειτουργικό
σύστημα Unix από
την πλευρά του
χρήστη
- Βοηθητικά
προγράμματα
του Unix
- Προγραμματισμός
σε κελύφη
- Προγραμματισμός
λειτουργιών
συστήματος σε
C για
- χειρισμό
λαθών
- δημιουργία
και
τερματισμό
διεργασιών
- αποστολή/παραλαβή
σημάτων
- είσοδο/έξοδο
χαμηλού
επιπέδου
- επικοινωνία
μεταξύ
διεργασιών
μέσω
- σωλήνων
- υποδοχών
- ουρών
μηνυμάτων
- κοινής
μνήμης και
σηματοφόρων
- δημιουργία,
τερματισμό
και
συγχρονισμό
νημάτων
- διαχείριση
συστήματος
αρχείων
Ηλεκτρονική
Λίστα
Για
εγγραφή στην ηλεκτρονική
λίστα του
μαθήματος
επισκεφθείτε
την ιστοσελίδα
http://www.di.uoa.gr/~mailman/listinfo/info-spro.
Η διεύθυνση
της λίστας, για
αποστολή
μηνυμάτων σ' αυτήν,
είναι: info-spro@di.uoa.gr.
Παραλαβή
μηνυμάτων από
τη λίστα
γίνεται μέσω
του
ηλεκτρονικού
ταχυδρομείου
(στη διεύθυνση
που δηλώθηκε
κατά την
εγγραφή).
Διαγραφή από
τη λίστα, αλλά
και ανάγνωση
των μηνυμάτων
που έχουν
σταλεί σ' αυτήν,
μπορεί να
γίνει επίσης
μέσω της ιστοσελίδας
της λίστας.
Μηνύματα που
είχαν σταλεί
στις αντίστοιχες
λίστες σε
παλαιότερα
εξάμηνα
μαθημάτων μπορούν
να βρεθούν
μέσω αυτής
της
ιστοσελίδας
και ακόμα
παλαιότερα
μηνύματα (προ mailman
εποχή) μέσω αυτής
της
διεύθυνσης.
(Ευχαριστίες
στον Στέφανο Σταμάτη)
ΠΑΡΑΚΑΛΟΥΝΤΑΙ
ΟΣΟΙ ΔΕΝ ΕΧΟΥΝ
ΗΔΗ ΕΓΓΡΑΦΕΙ
ΣΤΗΝ ΗΛΕΚΤΡΟΝΙΚΗ
ΛΙΣΤΑ ΤΟΥ
ΜΑΘΗΜΑΤΟΣ ΝΑ
ΤΟ ΚΑΝΟΥΝ
ΑΜΕΣΑ. ΟΣΟΙ
ΕΧΟΥΝ ΓΡΑΦΕΙ
ΜΕ ΕΜΑΙL
ΔΙΑΦΟΡΕΤΙΚΟ
ΑΠΟ ΑΥΤΟ ΤΟΥ
ΠΑΝΕΠΙΣΤΗΜΙΟΥ,
ΕΙΤΕ ΝΑ ΜΟΥ
ΣΤΕΙΛΟΥΝ ENA EMAIL ΓΙΑ ΝΑ ΜΕ
ΕΝΗΜΕΡΩΣΟΥΝ
ΓΙΑ ΤΟ EMAIL
ΤΟΥΣ ΣΤΟ
ΠΑΝΕΠΙΣΤΗΜΙΟ,
ΕΙΤΕ (ΠΡΟΤΙΜΟΤΕΡΟ)
ΝΑ ΕΓΓΡΑΦΟΥΝ
ΚΑΙ ΜΕ ΤΗ
ΔΙΕΥΘΥΝΣΗ ΤΟΥ
ΠΑΝΕΠΙΣΤΗΜΙΟΥ
ΣΤΗ ΛΙΣΤΑ.
Βιβλία
Μαθήματος
Τα
βιβλία του
μαθήματος
ορίζονται εδώ. Αν
δεν ξέρετε πώς
να
επισκεφτείτε
αυτή τη σελίδα, στείλτε
μου email από τη
διεύθυνσή σας
του
πανεπιστημίου.
Βιβλιογραφία
- Brian W. Kernighan, Rob Pike. "Το
Περιβάλλον
Προγραμματισμού
Unix", Prentice-Hall
(Ελληνική μετάφραση,
εκδόσεις
Κλειδάριθμος),
1989.
- Stephen R. Bourne. "The Unix System V
Environment", Addison-Wesley, 1987.
- W. Richard Stevens. "Advanced
Programming in the Unix Environment", 2nd edition, Addison-Wesley,
2005.
- Marc J. Rochkind. "Advanced Unix
Programming", Addison-Wesley, 2004.
- Graham Glass. "Unix for Programmers
and Users", Prentice-Hall, 1993.
- David R. Butenhof. "Programming with
POSIX Threads", Addison-Wesley, 1997.
- W. Richard Stevens. "Unix Network
Programming", Prentice-Hall, 1990.
- Keith Haviland, Dina Gray, Ben Salama.
"Unix System Programming", Addison-Wesley, 1999.
- David A. Curry. "Using C on the Unix
System", O'Reilly & Associates, 1991.
- Brian W. Kernighan, Dennis M. Ritchie.
"Η Γλώσσα Προγραμματισμού C", Prentice-Hall (Ελληνική μετάφραση, εκδόσεις Κλειδάριθμος), 1988.
- Eric S. Roberts. "Η
Τέχνη και
Επιστήμη της
C", Addison-Wesley (Ελληνική
μετάφραση,
εκδόσεις
Κλειδάριθμος),
2004.
- Harvey M. Deitel, Paul J. Deitel. "C
How to Program", 3rd edition, Prentice-Hall, 2001.
- Judy Kay, Bob Kummerfeld. "C
Programming in a Unix Environment", Addison-Wesley, 1989.
- Andrew Feibus. "Unix Quick!",
McGraw-Hill, 1991.
- Daniel Gilly. "Unix in a
Nutshell", O'Reilly & Associates, 1998.
- Brian W. Kernighan, Rob Pike. "The
Practice of Programming", Addison-Wesley, 1999.
- Διομήδης
Σπινέλλης.
"Ανάγνωση
Κώδικα - Η
Προοπτική του
Ανοικτού
Λογισμικού",
εκδόσεις
Κλειδάριθμος,
2005.
Λογισμικό
Μαθήματος
- Επίσημες
υπολογιστικές
πλατφόρμες
του μαθήματος
είναι τα
μηχανήματα
linux02.di.uoa.gr
, linux03.di.uoa.gr
, .........., linux12.di.uoa.gr
του Τμήματος,
με
λειτουργικό
σύστημα Linux.
- SSH GUI Terminal (PuTTY)
- SFTP GUI
προγράμματα
Ενδιαφέροντες
Σύνδεσμοι
- C Language Answers to Frequently Asked
Questions [TXT]
- Recommended C Style and Coding Standards [PDF]
- Vim Tutor in Greek
- Unix Programming Tools
- Unix - Frequently Asked Questions (1/7)
- Unix - Frequently Asked Questions (2/7)
- Unix - Frequently Asked Questions (3/7)
- Unix - Frequently Asked Questions (4/7)
- Unix - Frequently Asked Questions (5/7)
- Unix - Frequently Asked Questions (6/7)
- Unix - Frequently Asked Questions (7/7)
- Unix Programming FAQ
- FAQ about the awk programming language
- Unix-socket-faq
for network programming
- FAQ for threads
- Another threads FAQ
- Posix threads programming
- Knoppel
Download (Έκδοση 0.8) Οδηγίες
- The Linux Home Page at Linux Online
- Linux Programming Resources
- Σημειώσεις
του Μαθήματος
"Εισαγωγή
στον Προγραμματισμό"
(ευχαριστίες
στον κύριο
Σταματόπουλο)
Προηγούμενα
Θέματα
Εξετάσεων
(ευχαριστίες
στον κύριο
Σταματόπουλο)
1994-2000
2001-2006
Α'
Περίοδος 2007
Β'
Περίοδος 2007
Α'
Περίοδος 2008
Βαθμολογία
Γραπτή
εξέταση:
|
50%
|
Ασκήσεις:
|
50% (5%, 15%, 17% και 13%
για τις
ασκήσεις 1, 2, 3 και 4
(αντίστοιχα))
|
Για
την εξεταστική
του
Σεπτεμβρίου,
το 50% του βαθμού
καθορίζεται
από τη γραπτή
εξέταση, ενώ το
υπόλοιπο 50% από
τον καλύτερο
βαθμό ανάμεσα
στη γραπτή εξέταση
και τις
ασκήσεις. Αυτό
σημαίνει ότι
όποιος δεν
παραδώσει
ασκήσεις,
μπορεί να
προσέλθει στην
εξεταστική του
Σεπτεμβρίου,
όπου η γραπτή
εξέταση του θα
είναι με
άριστα το 10.
Ασκήσεις
Η Άσκηση 4
(ατομική
άσκηση)
βρίσκεται εδώ.
Ημερομηνία
παράδοσης
είναι στις 08/02,
στις 18:00. ΔΕΝ ΘΑ
ΓΙΝΟΥΝ ΔΕΚΤΕΣ
ΕΡΓΑΣΙΕΣ ΠΕΡΑΝ
ΑΥΤΗΣ ΤΗΣ
ΗΜΕΡΟΜΗΝΙΑΣ.
ΣΥΝΕΠΩΣ ΔΕΝ
ΙΣΧΥΕΙ Η
ΠΟΛΙΤΙΚΗ
ΚΑΘΥΣΤΕΡΗΜΕΝΗΣ
ΠΑΡΑΔΟΣΗΣ
ΕΡΓΑΣΙΩΝ ΑΠΟ
ΤΗ ΣΤΙΓΜΗ ΠΟΥ
ΔΟΘΗΚΕ
ΠΑΡΑΤΑΣΗ.
Η Άσκηση 3
βρίσκεται εδώ.
Ημερομηνία
παράδοσης
είναι στις 14/01,
στις 18:00.
Η
Άσκηση 2
βρίσκεται εδώ.
Ένα δείγμα
πιθανής πίστας
εμφανίζεται εδώ
(ΠΡΟΣΟΧΗ: Θα υπάρχει
άλλη πίστα
στην εξέταση).
Ημερομηνία
παράδοσης
είναι στις 04/12,
στις 18:00. Το
παραδοτέο tar
αρχείο να
περιέχει ένα README
αρχείο που θα
περιγράφει τις
βασικές
επιλογές σας
ως προς την
υλοποίηση της
άσκησης.
Επίσης στο README να
δηλώσετε καθαρά ποιος
από την κάθε
ομάδα
υλοποίησε την
κάθε συνάρτηση
στην άσκηση. Το
παραδοτέο να
περιέχει και
ένα Makefile για την
παραγωγή του
εκτελέσιμου.
Με την εντολή make θα
μεταγλωττίζονται
τα αρχεία, ενώ
με την εντολή make clean θα
διαγράφονται
τα εκτελέσιμα
αρχεία, καθώς
και όλα τα object
αρχεία (*.o).
Κανένα
παραδοτέο δεν
πρέπει να
περιέχει
εκτελέσιμα
ή/και .o αρχεία Όπως
πάντα, οι
ασκήσεις είναι
προσωπική
υπόθεση των
μελών της κάθε
ομάδας και δεν
νοείται
διαφορετικές
ομάδες να
έχουν όμοια
υλοποίηση σε
καίριες συναρτήσεις.
Η
Άσκηση 1
βρίσκεται εδώ.
Ημερομηνία
παράδοσης
είναι στις 7/11,
στις 18:00. Για όσους
δεν
ασχολούνται με
ποδοσφαιρικά
ζητήματα, η νίκη
σε ένα αγώνα
δίνει 3 βαθμούς,
η ισοπαλία 1
βαθμό και η ήττα
0 βαθμούς.
Υποβολή
Ασκήσεων
·
Φτιάξτε ένα tar αρχείο
με όλη τη
δουλειά σας
(Για την Άσκηση 1:
2 bash
scripts,
ένα αρχείο με
τις εντολές UNIX και
ένα README
που περιγράφει
πώς
υλοποιήσατε τα
προγράμματα στο
Bash
κέλυφος – Για
τις υπόλοιπες
ασκήσεις όλα τα
αρχεία source files, header files,
Makefile, README-file, κλπ)
και δώστε του
ένα όνομα που
ΕΥΚΟΛΑ σας
ξεχωρίζει (π.χ. AntoniosDeligiannakis.tar")
·
Το παραπάνω
αρχείο το
αντιγράφετε
στον παρακατω καταλογο:
/home/users/spro/projectX/USER-ID
όπου Χ=1,2,3,4
είναι ο
αριθμός της
άσκησης και USER-ID είναι το login όνομά
σας στον Unix Server. Για το
παραπάνω
παράδειγμα και
για την πρώτη
άσκηση η
υποβολή θα
γινόταν με την
απλή εντολή
cp AntoniosDeligiannakis.tar /home/users/spro/project1/adeli/
δεδομένου ότι
το login id
του χρήστη
είναι adeli.
Η ίδια εντολή
για τη δεύτερη
άσκηση θα ήταν
cp
AntoniosDeligiannakis.tar /home/users/spro/project2/adeli/
·
Μπορείτε να
κάνετε
πολλαπλές
υποβολές. Μόνο
η τελευταία
υποβολή
λαμβάνεται υπ
όψιν.
·
Αν ο κατάλογος
δεν υπάρχει,
τότε μάλλον
δεν έχετε
γραφτεί στη λίστα
του μαθήματος.
Η ανανέωση των
καταλόγων θα
γίνεται ανά 2
ημέρες. Όσοι
περιμένουν
μέχρι τις τελευταίες
μέρες για να
δουν ότι δεν
υπάρχει ο
κατάλογος τους
και να
γραφτούν στη
λίστα θα έχουν
ποινή στο βαθμό
της άσκησης.
Πάντα
βάζετε ενα README αρχείο με
οδηγίες για
τον εξεταστή
της άσκησης.
Διαβάστε
Προσεκτικά!
Διαδικασίες
αξιολόγησης
ασκήσεων και
"κώδικας ηθικής"