ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 428: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΣΤΗΜΑΤΩΝ

Ακαδημαϊκό Έτος 2007-2008, Εαρινό Εξάμηνο

Συμβόλαιο Μαθήματος

ΠΕΡΙΓΡΑΦΗ

Το μάθημα διδάσκει βασικές και προχωρημένες έννοιες Προγραμματισμού Συστημάτων. Ο στόχος είναι να μάθει ο φοιτητής να έχει πρόσβαση, από ένα Πρόγραμμα Εφαρμογής, στης ρουτίνες (βιβλιοθήκες / μονάδες) ενός Λειτουργικού Συστήματος. Για την πρακτική εξάσκηση, και την υλοποίηση προγραμμάτων, θα χρησιμοποιηθεί η γλώσσα προγραμματισμού C, στο Λειτουργικό Σύστημα Unix/Linux.

Το μάθημα αξιολογείται με 7 μονάδες ECTS. Για να παρακολουθήσετε το μάθημα θα πρέπει να έχετε παρακολουθήσει επιτυχώς όλα τα πιο κάτω μαθήματα:
• ΕΠΛ132 – Αρχές Προγραμματισμού ΙΙ
• ΕΠΛ222 – Λειτουργικά Συστήματα
• ΕΠΛ231 – Δομές Δεδομένων & Αλγόριθμοι

ΔΙΑΛΕΞΕΙΣ ΚΑΙ ΕΡΓΑΣΤΗΡΙΟ

Διαλέξεις: Δευτέρα και Πέμπτη, 13:30 – 15:00, ΧΩΔ-01 #106
Εργαστήρια: Τετάρτη, 16:00-17:30, ΘΕΕ-001 #B121

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

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


ΣΤΟΧΟΙ

• Εκμάθηση βασικών και προχωρημένων τεχνικών διαχείρισης και προγραμματισμού στο Λειτουργικό Σύστημα Unix.
• Εκμάθηση προχωρημένων τεχνικών προγραμματισμού και βιβλιοθηκών της γλώσσας C.

ΠΕΡΙΕΧΟΜΕΝΟ

• Βασικές και προχωρημένες εντολές του Λειτουργικού Συστήματος Unix και χρήση εργαλείων ωφελιμότητας.
• Προγραμματισμός στο κέλυφος.
• Χαμηλού επιπέδου Είσοδος/Έξοδος (Αρχεία και Συστήματα Αρχείων και Καταλόγων)
• Διεργασίες και Σήματα
• Δια-Διεργασιακή Επικοινωνία
• Προγραμματισμός Δικτύου (Υποδοχών) και μοντέλων Πελάτης – Εξυπηρέτης.
• Πολυνηματικός Προγραμματισμός
• Ασφάλεια Λογισμικού Συστημάτων


ΑΞΙΟΛΟΓΗΣΗ

Η επίδοση των φοιτητών θα αξιολογείται συνεχώς με βάση γραπτές εξετάσεις, ασκήσεις και παρουσιάσεις. Η αναλογία ως προς τον τελικό βαθμό είναι η εξής:
• 40% Τελική Εξέταση
• 20% Ενδιάμεση Εξέταση
• 40% Ασκήσεις
– 10% Προγραμματιστικές Ασκήσεις
– 20% Project – Υλοποίηση Μεγάλου Συστήματος
– 10% Παρουσίαση κάποιας γλώσσας ή βιβλιοθήκης με έμφαση στο προγραμματισμό συστημάτων.

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


ΒΙΒΛΙΟΓΡΑΦΙΑ

Εκτός από τις σημειώσεις διαλέξεων, για επιπλέον πληροφορίες συνίσταται η χρήση του πιο κάτω βιβλίου:
1. Advanced Programming in the UNIX® Environment, Second Edition, Richard Stevens, Stephen A. Rago, Addison-Wesley, 2005.

Άλλα βοηθητικά βιβλία:
2. Unix Systems Programming: Communication, Concurrency and Threads, Second Edition, Prentice Hall, 2003.



Συμβόλαιο

 

University of Cyprus, Department of Computer Science, © 2008