1. Γενικές πληροφορίες
| Πότε: | Δευτέρα-Τετάρτη 09:00-11:00 |
| Πού: | Αμφιθέατρο Γ', Κτήρια Κνωσού |
| Λίστα μαθήματος: | hy100-list@csd.uoc.gr |
| Σελίδα μαθήματος: | http://www.csd.uoc.gr/~hy100 |
Το μάθημα αποτελεί μια εισαγωγή στην Επιστήμη των Υπολογιστών. Σκοπός του είναι οι φοιτητές να αναπτύξουν ικανότητες λύσης προβλημάτων, αλγοριθμικό τρόπο σκέψης καθώς και να αποκτήσουν τις βασικές προγραμματιστικές ικανότητες που χρειάζονται στις μετέπειτα σπουδές τους. Οι στόχοι του μαθήματος είναι:
- Θα μελετήσουμε διάφορα απλά υπολογιστικά προβλήματα, και κάποιους από τους αλγόριθμους που τα λύνουν, και θα αναλύσουμε κάθε λύση.
- Θα μάθουμε δομημένο και συναρτησιακό προγραμματισμό σε γλώσσα C, και θα αναπτύξουμε διάφορα προγράμματα βασισμένα στους παραπάνω αλγόριθμους.
- Θα μάθουμε για διάφορους τύπους δεδομένων, την οργάνωσή και αποθήκευσή τους στη μνήμη, καθώς και τρόπους για τη διαχείρηση της μνήμης από το πρόγραμμα.
2. Φόρτος μαθήματος
Ο φόρτος εργασίας του μαθήματος περιλαμβάνει:
- Δύο διαλέξεις την εβδομάδα. Η παρακολούθηση των διαλέξεων δεν είναι υποχρεωτική, αλλά συστήνεται έντονα.
- Θα δοθούν πέντε ή έξι σειρές γραπτών ασκήσεων για το σπίτι, με σκοπό να βελτιώσουν την κατανόηση της ύλης. Οι ασκήσεις είναι σχεδιασμένες συμπίπτουν με τις σχετικές διαλέξεις, και είναι αυστηρά ατομικές, με αναμενόμενο φόρτο 1-2 ώρες ανά γραπτή άσκηση.
- Θα δοθούν αντίστοιχες εργαστηριακές ασκήσεις, κατά μέσο όρο εβδομαδιαίες. Όλες οι ασκήσεις θα είναι προγραμματιστικές σε γλώσσα C, αυστηρά ατομικές, με αναμενόμενο προγραμματιστικό φόρτο 3-5 ώρες ανά εργαστήριο.
- Διαγώνισμα προόδου στο μέσο του εξαμήνου. Η ύλη για την πρόοδο περιλαμβάνει το περιεχόμενο των μέχρι τότε διαλέξεων.
- Τελικό διαγώνισμα. Το τελικό διαγώνισμα θα περιλαμβάνει ολόκληρη την ύλη.
3. Βαθμολογία
| Γραπτές ασκήσεις: | 2 βαθμοί |
| Προγραμματιστικές ασκήσεις: | 3 βαθμοί |
| Πρόοδος: | 2 βαθμοί |
| Τελική εξέταση: | 3 βαθμοί |
- Προϋπόθεση για τη βάση στο μάθημα είναι το 50% στην τελική εξέταση.
- Οι εργαστηριακές ασκήσεις θα εξετάζονται προφορικά με παρουσίαση του κώδικα στους βοηθούς του μαθήματος.
4. Επιπλέον βιβλιογραφία
Τα παρακάτω δεν είναι υποχρεωτικά. Τα μαθήματα θα ακολουθήσουν περίπου τη δομή του βιβλίου για το μεγαλύτερο μέρος του εξαμήνου.
-
Οδηγός της C, Herbert Schildt, Εκδόσεις Γκιούρδας
Teach Yourself C, Herbert Schildt, McGraw-Hill Osborne Media, 3rd Edition, 1997, ISBN: 0078823110 -
Η Γλώσσα Προγραμματισμού C, Brian W. Kernighan, Dennis M. Ritchie, Εκδόσεις Κλειδάριθμος
The C Programming Language, Brian W. Kernighan, Dennis M. Ritchie 2nd edition, Prentice Hall Software Series, 1988, ISBN: 0131103628 - C: από τη Θεωρία στην Εφαρμογή, Γ. Σ. Τσελίκης - Ν. Δ. Τσελίκας, ISBN: 978-960-93-1961-4
- C - How to Program, Harvey Deitel, Paul Deitel, Prentice Hall, 4th edition, 2003, ISBN: 0131426443
- A Book on C, Al Kelley and Ira Pohl, Addison-Wesley, 4th edition, 1997, ISBN: 0201183994
- C Programming: A Modern Approach, Kim N. King, W.W. Norton & Company, 1996, ISBN: 0393969452
- Expert C Programming, Peter van der Linden, Prentice Hall, 1994, ISBN: 0131774298
- The UNIX Programming Environment, Brian W. Kernighan, Rob Pike, Prentice Hall, 1984, ISBN: 013937681X
- Algorithms in C (parts 1-5), Robert Sedgewick, Addison-Wesley, 3rd edition, 2001, ISBN: 0201756080
- The Art and Science of C: A Library-based Introduction to Computer Science, Eric S. Roberts, Addison-Wesley, 1995, ISBN: 0-201-54322-2
- The Pragmatic Programmer: From Journeyman to Master, Andrew Hunt, David Thomas, Addison-Wesley, 1999, ISBN: 020161622X
- The Practice of Programming, Brian W. Kernighan, Rob Pike, Addison-Wesley, 1999, ISBN: 020161586X