Περιγραφή θέματος

  • Γενικά

  • Διδάσκοντες

    • Στάθης Ζάχος ()
    • Γεώργιος Γκούμας ()
    • Δημήτρης Τσουμάκος ()
    • Δημήτρης Φωτάκης ()
    • Μάριος Κόνιαρης ()
    • Πέτρος Ποτίκας ()
    • Δώρα Σούλιου ()


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

    • Γεώργιος Γκούμας: θα ανακοινωθούν.
    • Δημήτρης Τσουμάκος: Παρασκευή 11.30 - 12.30, Γρ. 2.1.9, (Παλαιό) Κτήριο Ηλεκτρολόγων. 
    • Δημήτρης Φωτάκης: Πέμπτη 16:00 - 17:00, στο γραφείο 1.1.10, (Παλαιό) Κτήριο Ηλεκτρολόγων.
    • Μάριος Κόνιαρης: Πέμπτη 14:00 - 15:00,  Κτίριο Υπολογιστικού Κέντρου, Α’ όροφος, γρ. 1.13.
    • Πέτρος Ποτίκας: Τετάρτη 11:00 - 12:00, στο γραφείο 1.1.30, (Παλαιό) Κτήριο Ηλεκτρολόγων.
    • Δώρα Σούλιου: Παρασκευή 13:00 - 14:00, στο γραφείο 1.1.30, (Παλαιό) Κτήριο Ηλεκτρολόγων.

    • Υλικό

      Γενικές Πληροφορίες

      • Περιγραφή του μαθήματος, πρόγραμμα εργαστηρίου και διαδικαστικά θέματα: ενημερωτικό φυλλάδιο και αντίστοιχες διαφάνειες.
      • Οι διαλέξεις του μαθήματος γίνονται κάθε Παρασκευή, 12:45 - 15:30, στα Αμφιθέατρα 1, 3 και 5, στο Νέο Κτήριο της Σχολής ΗΜΜΥ.
      • Το εργαστήριο του μαθήματος γίνεται στα PCLAB, στον 1ο όροφο του Νέου Κτηρίου της Σχολής ΗΜΜΥ. Κάθε φοιτητής παρακολουθεί 2 ώρες εργαστηρίου κάθε εβδομάδα.  
      • Ιστοσελίδα ερωτήσεων και απαντήσεων σχετικά με το μάθημα και το εργαστήριο του ακαδ. έτους 2020-2021 (κατηγορία progintro).
      • Βιντεοσκοπημένες διαλέξεις του ακαδημαϊκού έτους 2020-2021.  

      Διαφάνειες

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

      (τελευταία ενημέρωση: 25/9/2022)

      Σημειώσεις

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

        Ιστοσελίδες Παλαιοτέρων Ετών

        Links στην ιστοσελίδα του μαθήματος για τα ακαδημαϊκά έτη: 2021-222020-212019-202018-192017-182016-172015-162014-152013-142012-132011-122010-112009-102008-092007-082006-072005-062004-052003-042002-032001-02.

        Θέματα Εξετάσεων Παλαιοτέρων Ετών



        • Εργαστήριο

          Γενικά 


          • Tο εργαστήριο του μαθήματος γίνεται στα PCLAB, στον 1ο όροφο του Νέου Κτηρίου της Σχολής ΗΜΜΥ. Κάθε φοιτητής απασχολείται στο εργαστήριο 2 ώρες κάθε εβδομάδα. Το εργαστήριο γίνεται σε 3 βάρδιες, σύμφωνα με το παρακάτω πρόγραμμα:

            • Δευτέρα 12:45 - 14:30: Ονόματα φοιτητών: Α - Ι.
            • Τετάρτη 08:45 - 10:30: Ονόματα φοιτητών: Κ - Ν. 
            • Πέμπτη 15:15 - 17:00: Ονόματα φοιτητών: Ξ - Ω.

          • Φροντίστε να προμηθευτείτε κωδικό για το εργαστήριο μέσω του get-your-account.

          • Για να δουλέψετε τις εργαστηριακές ασκήσεις από το σπίτι:
            • Αν έχετε Windows, πιθανώς θα χρειαστείτε το πρόγραμμα PuTTY
            • Αν έχετε Linux ή MacOS πληκτρολογήστε σε Terminal: ssh pi22b600@novice.softlab.ntua.gr ή ssh -oHostKeyAlgorithms=+ssh-rsa pi22b600@novice.softlab.ntua.gr (προφανώς βάλτε το δικό σας login!)
            • Και στις δύο περιπτώσεις, ίσως χρειαστεί να ρυθμίσετε το encoding (ISO-8859-7).
            • Η υλοποίηση του PZhelp είναι διαθέσιμη από το GitHub. Κατεβάστε το αρχείο pzhelp και αποθηκεύστε το στον ίδιο κατάλογο με τα προγράμματά σας.

          Οδηγίες


          Ασκήσεις



        • Διαλέξεις

          Διάλεξη 30/9/2022

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

          Διάλεξη 7/10/2022

          • Σύντομη εισαγωγή στην Πληροφορική
          • Δομή του προγράμματος
          • Συντακτικά διαγράμματα
          • Δηλώσεις μεταβλητών
          • Τι σημαίνει ορθό πρόγραμμα
          • Ανάθεση τιμής σε μεταβλητή
          • Έξοδος στην οθόνη
          • Είσοδος από το πληκτρολόγιο

          Διάλεξη 14/10/2022

          • Είσοδος από το πληκτρολόγιο
          • Αριθμητικές παραστάσεις
          • Λογικές παραστάσεις
          • Σύνταξη παραστάσεων
          • Λογικά διαγράμματα ροής
          • Δομές ελέγχου
          • Σύνθετη εντολή
          • Εντολή if
          • Εντολή switch
          • Εντολή FOR / for

          Διάλεξη 21/10/2022

          • Εντολή FOR / for
          • Εντολή while
          • Εντολή dowhile
          • Εντολές break και continue
          • Κενή εντολή
          • Δομή του προγράμματος ξανά
          • Σταθερές
          • Συνώνυμα τύπων
          • Διαδικασίες

          Διάλεξη 4/11/2022

          • Διαδικασίες (επανάληψη)
          • Συναρτήσεις
          • Δομημένος προγραμματισμός
          • Βαθμιαία συγκεκριμενοποίηση
          • Παρουσίαση και συντήρηση
          • Μορφοποίηση εξόδου
          • Ανακατεύθυνση
          • Τακτικοί τύποι και τύποι απαρίθμησης
          • Πίνακες
            • Γραμμική αναζήτηση
            • Δυαδική αναζήτηση

          Διάλεξη 11/11/2022

          • Δυαδική αναζήτηση (επανάληψη)
          • Πολυδιάστατοι πίνακες
            • Πολλαπλασιασμός πινάκων
            • Μαγικά τετράγωνα
          • Εξαγωγή ψηφίων και μετατροπή σε άλλο σύστημα αρίθμησης
          • Αναδρομή
            • Συνάρτηση παραγοντικού
            • Αριθμοί Fibonacci
            • Μέγιστος κοινός διαιρέτης
            • Συνάρτηση παρόμοια με του Ackermann
            • Αμοιβαία αναδρομή
          • Αριθμητικοί υπολογισμοί
            • Αριθμητικά σφάλματα
            • Εύρεση τετραγωνικής ρίζας
            • Προκαθορισμένες συναρτήσεις
            • Τριγωνομετρικές συναρτήσεις

          Διάλεξη 18/11/2022

          • Αριθμητικοί υπολογισμοί (επανάληψη)
          • Υπολογισμός δύναμης με επαναλαμβανόμενο τετραγωνισμό
          • Από το PZhelp στη C++
            • Τύποι δεδομένων
            • Πρόγραμμα και υποπρογράμματα
            • Ανάθεση
            • Βρόχος for
            • Είσοδος και έξοδος
          • Δείκτες
            • Πέρασμα παραμέτρων με αναφορά
            • Δείκτες αντί περάσματος με αναφορά
            • Πίνακες και δείκτες

          Διάλεξη 25/11/2022

          • Επεξεργασία κειμένου
            • Παραδείγματα: Διάβασμα και επεξεργασία χαρακτήρων και ακεραίων
            • Παράδειγμα: Μέτρηση χαρακτήρων και γραμμών
            • Παράδειγμα: Μέτρηση λέξεων
            • Παράδειγμα: Συχνότητες εμφάνισης μήκους λέξεων
            • Παράδειγμα: Μετατροπή μεταξύ μικρών και κεφαλαίων γραμμάτων
            • Παράδειγμα: Αντιστροφή χαρακτήρων κάθε γραμμής
            • Παράδειγμα: Εύρεση εμφάνισης λέξης-κλειδιού
          • Συμβολοσειρές

          Διάλεξη 2/12/2022

          • Ταξινόμηση
            • Με εισαγωγή (insertion sort)
            • Με επιλογή (selection sort)
            • Με τη μέθοδο της φυσαλίδας (bubble sort)
            • Με συγχώνευση (merge sort)
            • Με διαμέριση (quick sort)
          • Ορθότητα

          Διάλεξη 9/12/2022

          • Ορθότητα
          • Σύνθετοι τύποι δεδομένων
            • Δομές (struct)
            • Ενώσεις (union)
            • Αρχεία κειμένου και δυαδικά αρχεία
          • Πολυπλοκότητα
          • Αφηρημένοι τύποι δεδομένων
            • Εισαγωγή στα αντικείμενα και τις κλάσεις της C++
            • Στοίβες, υλοποίηση με πίνακα

          Διάλεξη 16/12/2022

          • Διαχείριση της μνήμης
            • Δυναμική παραχώρηση μνήμης
            • Σύνθετες δυναμικές μεταβλητές
          • Δομές δεδομένων
            • Συνδεδεμένες λίστες
            • Στοίβες, υλοποίηση με συνδεδεμένη λίστα
            • Ουρές, υλοποίηση με συνδεδεμένη λίστα
            • Γραμμικές λίστες

          Διάλεξη 13/1/2023

          Διάλεξη 20/1/2023