Το μάθημα στοχεύει σε μια ολοκληρωμένη εισαγωγή των σπουδαστών σε θεμελιώδεις έννοιες και μεθόδους της Πληροφορικής. Αποτελείται από τις παρακάτω ενότητες.
**Θεωρία.** Υπολογισιμότητα και πολυπλοκότητα. Αποδοτικότητα αλγορίθμων. Μοντελοποίηση υπολογισμού: αυτόματα, μηχανές Turing, μηχανές τυχαίας προσπέλασης (RAM). Τυπικές γλώσσες και γραμματικές. Λογική για την επιστήμη των υπολογιστών. Αλγόριθμοι: τεχνικές και στρατηγικές (διαίρει-και-κυρίευε, άπληστη μέθοδος δυναμικός προγραμματισμός), αριθμητικοί υπολογισμοί (ΜΚΔ, ύψωση σε δύναμη, πολλαπλασιασμός ακεραίων και πινάκων), αλγόριθμοι γράφων και δικτύων (συντομότερες διαδρομές, ελάχιστα συνδετικά δένδρα), αλγόριθμοι συμβολοσειρών (κωδικοποίηση, συμπίεση, αναγνώριση).
**Διαχείριση δεδομένων.** Εισαγωγή στις βάσεις και τα μοντέλα δεδομένων. Το μοντέλο οντοτήτων-συσχετίσεων. Σχεσιακό μοντέλο και σχεσιακή άλγεβρα. Εισαγωγή στη γλώσσα SQL. Εισαγωγή στη σχεδίαση και ανάπτυξη εφαρμογών. Σύγχρονες τάσεις: ροές δεδομένων, κατανεμημένες βάσεις δεδομένων, μοντέλο υπολογισμού map-reduce.
**Τεχνητή νοημοσύνη.** Εισαγωγή στην τεχνητή νοημοσύνη: ιστορικά στοιχεία, τεστ του Turing, σύγχρονη τεχνητή νοημοσύνη και εφαρμογές, ορολογία και περιοχές τεχνητής νοημοσύνης. Επίλυση προβλημάτων με μεθόδους τεχνητής νοημοσύνης: αναπαράσταση προβλημάτων σε γράφους, αναζήτηση λύσης, αλγόριθμοι εύρεσης λύσης (κατά βάθος, κατά πλάτος, επαναληπτική εκβάθυνση), ευριστικοί αλγόριθμοι εύρεσης λύσης (hill climbing, best first, branch and bound, A*), αλγόριθμοι για παίγνια (min-max, alpha-beta). Συμβολική τεχνητή νοημοσύνη: από τη λογική στην τεχνητή νοημοσύνη, τυπική αναπαράσταση γνώσης, γράφοι γνώσης, αυτόματη συλλογιστική. Μηχανική μάθηση: ανάλυση δεδομένων, ταξινόμηση και πρόβλεψη, perceptrons, γραμμική παλινδρόμηση, ταξινόμηση με ομαδοποίηση.
- Διδάσκων: Γεώργιος Αλεξανδρίδης
- Διδάσκων: Ευστάθιος Ζάχος
- Διδάσκων: Βασιλικη Καντερε
- Διδάσκων: Αριστείδης Παγουρτζής
- Διδάσκων: Θεοδώρα Σούλιου
- Διδάσκων: Γεώργιος Στάμου
Διδακτικές Μονάδες : 5
Φόρτος Εργασίας : theory 4, lab 0
Γλώσσα : el, en
Μαθησιακά Αποτελέσματα : Μέχρι το τέλος αυτού του μαθήματος, οι φοιτητές θα είναι σε θέση να:
-Κατανοήσουν τις έννοιες των αλφαβήτων, των συμβολοσειρών, των γλωσσών και των γραμματικών.
-Σχεδιάσουν και αναλύσουν πεπερασμένα αυτόματα (DFA και NFA) για την αναγνώριση γλωσσών.
-Μετατρέψουν μεταξύ κανονικών εκφράσεων και πεπερασμένων αυτομάτων.
-Ελαχιστοποιήσουν πεπερασμένα αυτόματα.
-Αποδείξουν εάν μια γλώσσα είναι κανονική ή μη κανονική χρησιμοποιώντας εργαλεία όπως το λήμμα άντλησης και τις ιδιότητες κλεισίματος.
-Περιγράψουν και κατασκευάσουν γραμματικές χωρίς συμφραζόμενα (CFGs).
-Κατανοήσουν ανοιχτά προβλήματα όπως το P έναντι του NP και τις επιπτώσεις τους.
-Κατασκευάσουν τυπικές αποδείξεις που σχετίζονται με αυτόματα, γλώσσες και υπολογισμούς.
-Μάθουν πώς να αναλύουν αλγόριθμους.
-Εκφράζουν την πολυπλοκότητα χρόνου σε ασυμπτωτικό συμβολισμό.
-Μάθουν πώς να επιχειρηματολογούν για την ορθότητα των αλγορίθμων.
-Ενημερωθούν για βασικές αλγοριθμικές στρατηγικές και τεχνικές σχεδιασμού αλγορίθμων (διαίρει και βασίλευε, μέθοδοι Greedy, δυναμικός προγραμματισμός).
-Κατανοήσουν αριθμητικούς αλγόριθμους για τον υπολογισμό του ΜΚΔ, δυνάμεις ακεραίων, πολλαπλασιασμό Karatsuba.
-Να εξοικειωθούν με τις εισαγωγικές έννοιες της τεχνητής νοημοσύνης.
-Να κατανοήσουν τη λειτουργία αλγορίθμων ΤΝ όπως εύρεσης λύσης (κατά βάθος, κατά πλάτος, επαναληπτική εκβάθυνση), ευριστικοί αλγόριθμοι εύρεσης λύσης (hill climbing, best first, branch and bound, A*.