1. Γενικές πληροφορίες
Πότε: | Τρίτη-Πέμτη 10:00-12:00 |
Πού: | Αμφιθέατρο B (Σ.Ο.) |
Ώρες γραφείου: | Δευτέρα 14:15-16:00, Γραφείο K-327. |
Λίστα μαθήματος: | hy100-list@csd.uoc.gr |
Σελίδα μαθήματος: | http://www.csd.uoc.gr/~hy100 |
Το μάθημα αποτελεί μια εισαγωγή στην Επιστήμη των Υπολογιστών. Σκοπός του είναι οι φοιτητές να αναπτύξουν ικανότητες λύσης προβλημάτων, αλγοριθμικό τρόπο σκέψης καθώς και να αποκτήσουν τις βασικές προγραμματιστικές ικανότητες που χρειάζονται στις μετέπειτα σπουδές τους. Οι στόχοι του μαθήματος είναι:
- Θα μελετήσουμε διάφορα απλά υπολογιστικά προβλήματα, και κάποιους από τους αλγόριθμους που τα λύνουν, και θα αναλύσουμε κάθε λύση.
- Θα μάθουμε δομημένο και συναρτησιακό προγραμματισμό σε γλώσσα C, και θα αναπτύξουμε διάφορα προγράμματα βασισμένα στους παραπάνω αλγόριθμους.
- Θα μάθουμε για διάφορους τύπους δεδομένων, την οργάνωσή και αποθήκευσή τους στη μνήμη, καθώς και τρόπους για τη διαχείριση της μνήμης από το πρόγραμμα.
2. Φόρτος μαθήματος
Ο φόρτος εργασίας του μαθήματος περιλαμβάνει:
- Δύο διαλέξεις την εβδομάδα. Η παρακολούθηση των διαλέξεων δεν είναι υποχρεωτική, αλλά συστήνεται έντονα.
- Σειρές γραπτών και προγραμματιστικών ασκήσεων για το σπίτι, με σκοπό να βελτιώσουν την κατανόηση της ύλης. Όλες οι ασκήσεις θα είναι προγραμματιστικές σε γλώσσα C. Οι ασκήσεις είναι σχεδιασμένες να συμπίπτουν με τις σχετικές διαλέξεις, και είναι αυστηρά ατομικές.
- Διαγώνισμα προόδου στο μέσο του εξαμήνου. Η ύλη για την πρόοδο περιλαμβάνει τις μέχρι τότε διαλέξεις.
- Τελικό διαγώνισμα. Το τελικό διαγώνισμα θα περιλαμβάνει ολόκληρη την ύλη.
3. Βαθμολογία
Ασκήσεις: | 4 βαθμοί |
Πρόοδος: | 2 βαθμοί |
Τελική εξέταση (ή επαναληπτική εξέταση): | 4 βαθμοί |
- Προϋπόθεση για τη βάση στο μάθημα είναι το 50% στην τελική εξέταση.
4. Επιπλέον βιβλιογραφία
Τα παρακάτω δεν είναι υποχρεωτικά. Τα μαθήματα θα ακολουθήσουν περίπου τη δομή του βιβλίου για το μεγαλύτερο μέρος του εξαμήνου.
- Modern C, Jens Gustedt, 2019
-
Οδηγός της 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