Topic outline

  • Γενικά

  • Διδάσκοντες - Βοηθοί Διδασκαλίας

    • Δημήτρης Φωτάκης, Αναπλ. Καθηγητής ()
    • Δώρα Σούλιου, Ε.ΔΙ.Π ()


    Επικοινωνία και Πληροφορίες

    • Μπορείτε να απευθύνετε τις ερωτήσεις σας στη διεύθυνση:


    Βοηθοί Διδασκαλίας

    • Αλβέρτος Καλαβάσης, Υ.Δ. ()
    • Δημήτρης Κελέσης, Υ.Δ. ()
    • Παναγιώτης Πατσιλινάκος, Υ.Δ. ()
    • Ελένη Ψαρουδάκη, Υ.Δ. ()


    Βοηθοί Γραπτών Ασκήσεων

    • Στέλιος Δρακονταειδής
    • Μάριος Μερτζανίδης
    • Αλκιβιάδης Μέρτζιος
    • Παναγιώτης Ράπτης
    • Θοδωρής Τσιλιβής
    • Γιώργος Χιονάς


    Ώρες Γραφείου Διδασκόντων

    • Δημήτρης Φωτάκης: Πέμπτη 16:00 - 17:00, στο γραφείο 1.1.10, (Παλιό) Κτίριο Ηλεκτρολόγων.
    • Δώρα Σούλιου: : θα ανακοινωθούν.

    • Πρόγραμμα Διαλέξεων


      Οι διαλέξεις του μαθήματος γίνονται κάθε Δευτέρα 15:00 - 17:00 και κάθε Πέμπτη 17:00 - 19:00, στο Αμφ. 1, στο νέο κτήριο της ΣΗΜΜΥ. 

      Οι πρώτες δύο διαλέξεις του μαθήματος θα γίνουν τη Δευτέρα 11/10, 15:00 - 17:00, και την Πέμπτη 14/10, 17:00 - 19:00, διαδικτυακά (μέσω Webex).

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

      • Webex link για τις αναμεταδόσεις κάθε Δευτέρα, 15:00 - 17:00.
      • Webex link για τις αναμεταδόσεις κάθε Πέμπτη, 17:00 - 19:00

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


      • Υλικό


        Σημειώσεις - Συμπληρωματικό Υλικό


        Προτεινόμενες Ασκήσεις (με τις λύσεις τους) και Παραδείγματα

        • 1η σειρά: Ασυμπτωτικός συμβολισμός, αναδρομικές σχέσεις, ταξινόμηση.
        • 2η σειρά: Άπληστοι αλγόριθμοι, δυναμικός προγραμματισμός.
        • 3η σειρά: Αλγόριθμοι γραφημάτων, Ελάχιστο Συνδετικό Δέντρο.
        • 4η σειρά: Συντομότερα Μονοπάτια, Μέγιστη Ροή, Αναγωγές.
        • 5η σειρά: Παραδείγματα αναγωγών (διαφάνειες).

        Βιβλιογραφία

        • Thomas Cormen, Charles Leiserson, Ronald Rivest and Cliff Stein: Introduction to Algorithms, 3rd edition, MIT Press, 2009.
        • J. Kleinberg, E. Tardos: Algorithm Design, Addison-Wesley, 2005.
        • S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani: Algorithms, MacGraw-Hill, 2006 (Μπορείτε να βρείτε draft έκδοση του βιβλίου αυτού εδώ).
        • J. Edmonds. How to Think About Algorithms. Cambridge University Press, 2008.
        • J. Erickson. Algorithms, 1st edition, 2019. 
        • G. Brassard, P. Bratley: Algorithmics: Theory and Practice, Prentice-Hall, 1988. 
        • Sara Baase, Allen Van Gelder, Computer Algorithms: Introduction to Design and Analysis, 3rd edition, Addison Wesley Longman, 2000.
        • Alfred V. Aho, John E. Hopcroft, The Design and Analysis of Computer Algorithms, Addison-Wesley Series in Computer Science and Information Processing, 1974.
        • Dexter C. Kozen, The Design and Analysis of Algorithms, Springer, 1991.
        • A. Levitin: Ανάλυση και Σχεδίαση Αλγορίθμων, Εκδόσεις Τζιόλα, 2007.
        • G. J. E. Rawlings: Αλγόριθμοι: Ανάλυση και Σύγκριση, Εκδόσεις Κριτική, 2004.

        Βιντεοσκοπημένες Διαλέξεις - Ιστοσελίδες Παλαιότερων Ετών

        • Διαλέξεις



          • Γραπτές Ασκήσεις - Προγραμματιστικές Ασκήσεις


            • Θα ανακοινωθούν τρεις (3) σειρές γραπτών ασκήσεων και τρεις (3) σειρές προγραμματιστικών ασκήσεων. 
            • Οι γραπτές ασκήσεις υποβάλλονται στη σελίδα του μαθήματος, στο helios. Δεν γίνεται δεκτή η παράδοση ασκήσεων με e-mail.
            • Οι προγραμματιστικές ασκήσεις υποβάλλονται (source code) στον grader, και αξιολογούνται ηλεκτρονικά. Για την υποβολή, θα χρησιμοποιήσετε το login name με το οποίο έχετε κάνει enroll στο μάθημα. Τα προγράμματά σας πρέπει να είναι σε C/C++, να διαβάζουν την είσοδο από το standard input και να τυπώνουν την έξοδο στο standard output. Μια υποβολή θεωρείται επιτυχής (και συνεχίζει στο στάδιο της αξιολόγησης) αν "περάσει" επιτυχώς τα επιλεγμένα test cases για το αντίστοιχο ερώτημα. Η αξιολόγηση γίνεται με αντίστοιχα (κοινά για όλους, αλλά διαφορετικά από αυτά που ελέγχονται κατά την υποβολή) test cases, μετά την λήξη της προθεσμίας. Με κάθε άσκηση, θα δίνεται και ένας αριθμός test cases (με τις απαντήσεις τους), τα οποία μπορείτε να χρησιμοποιήσετε για προκαταρκτικό έλεγχο των λύσεων σας.
            • Συνεργασία επιτρέπεται και μάλιστα ενθαρρύνεται (εάν γίνεται σωστά, π.χ. αφού αφιερώσετε ικανό χρόνο ατομικής προσπάθειας), αλλά τελικά κάθε φοιτητής πρέπει να διατυπώσει μόνος του τη λύση. Πανομοιότυπες διατυπώσεις θα εκλαμβάνονται ως αντιγραφή και δεν θα προσμετράται ο βαθμός τους, ενώ πιθανόν να υπάρξουν συνέπειες για όλες τις σειρές ασκήσεων.

            Εκφωνήσεις Γραπτών Ασκήσεων

            Εκφωνήσεις Προγραμματιστικών Ασκήσεων



            • Επιλογή Δια Ζώσης Παρακολούθησης