@di.uoa.gr
email σας αυστηρά)Διαβάσετε προσεκτικά τις οδηγίες (κοινές για όλες τις εργασίες).
Στο μάθημα χρησιμοποιείται ο editor VS Code (χωρίς να απαγορεύεται η χρήση
άλλων editors), καθώς και τα εργαλεία gcc
, make
, git
και valgrind
.
Παράδειγμα δομής ενός C project, για χρήση στις πρώτες 2 ενότητες του μαθήματος. Επιδεικνύει modules, Makefiles και tests, καθώς και τη χρήση των ADTs που διδάσκονται στο μάθημα.
Αντιγράφεται αυτόματα μέσα στο Documents
directory του υπολογιστή σας από το script εγκατάστασης
(εναλλακτικά κάντε git clone).
Για να το χρησιμοποιήσετε:
sample-project
directory από το VS Code : File
/ Open Folder
/ <sample-project>
Ctrl-Shift-B
(διαφάνειες)
ή τρέχοντας make
στο αντίστοιχο directory.Σημείωση: το script εγκατάστασης δημιουργεί και ένα δεύτερο directory c-programs
, αυτό
δεν χρησιμοποιείται στο μάθημα (αφορά την Εισαγωγή στον Προγραμματισμό).
Ο βασικός κώδικας που χρησιμοποιείται στις διαλέξεις της τρίτης ενότητας του μαθήματος. Περιέχει υλοποιήσεις από όλους τους ADTs που διδάσκονται στο μάθημα.
Η βασική ύλη του μαθήματος περιλαμβάνεται στις διαφάνειες των διαλέξεων και τον κώδικα που διδάσκεται στο μάθημα. Τα παρακάτω βασικά συγγράμματα χρησιμοποιούνται βοηθητικά στο μάθημα.
Robert Sedgewick: Αλγόριθμοι σε C, Εκδόσεις Κλειδάριθμος, 2006. [Εύδοξος]
Thomas A. Standish: Data Structures, Algorithms and Software Principles in C, Addison-Wesley. 1995.
Robert Sedgewick: Αλγόριθμοι σε C, Εκδόσεις Κλειδάριθμος, 2006. [Εύδοξος] (προτεινόμενο)
Michael T. Goodrich, Roberto Tamassia: Δομές Δεδομένων & Αλγόριθμοι σε JAVA, Εκδόσεις Δίαυλος, 2013. [Εύδοξος]
Bruno R. Preiss: Δομές Δεδομένων και Αλγόριθμοι με Αντικειμενοστρεφή Σχεδιαστικά Μορφήματα στη C++, Εκδόσεις Πεδίο, 2016. [Εύδοξος]
Ν. Μισυρλής: Δομές Δεδομένων με C. [Εύδοξος]