Το μάθημα στοχεύει σε μια ολοκληρωμένη εισαγωγή των σπουδαστών σε θεμελιώδεις έννοιες και μεθόδους της Πληροφορικής. Αποτελείται από τις παρακάτω ενότητες.
**Θεωρία.** Υπολογισιμότητα και πολυπλοκότητα. Αποδοτικότητα αλγορίθμων. Μοντελοποίηση υπολογισμού: αυτόματα, μηχανές Turing, μηχανές τυχαίας προσπέλασης (RAM). Τυπικές γλώσσες και γραμματικές. Λογική για την επιστήμη των υπολογιστών. Αλγόριθμοι: τεχνικές και στρατηγικές (διαίρει-και-κυρίευε, άπληστη μέθοδος δυναμικός προγραμματισμός), αριθμητικοί υπολογισμοί (ΜΚΔ, ύψωση σε δύναμη, πολλαπλασιασμός ακεραίων και πινάκων), αλγόριθμοι γράφων και δικτύων (συντομότερες διαδρομές, ελάχιστα συνδετικά δένδρα), αλγόριθμοι συμβολοσειρών (κωδικοποίηση, συμπίεση, αναγνώριση).
**Διαχείριση δεδομένων.** Εισαγωγή στις βάσεις και τα μοντέλα δεδομένων. Το μοντέλο οντοτήτων-συσχετίσεων. Σχεσιακό μοντέλο και σχεσιακή άλγεβρα. Εισαγωγή στη γλώσσα SQL. Εισαγωγή στη σχεδίαση και ανάπτυξη εφαρμογών. Σύγχρονες τάσεις: ροές δεδομένων, κατανεμημένες βάσεις δεδομένων, μοντέλο υπολογισμού map-reduce.
**Τεχνητή νοημοσύνη.** Εισαγωγή στην τεχνητή νοημοσύνη: ιστορικά στοιχεία, τεστ του Turing, σύγχρονη τεχνητή νοημοσύνη και εφαρμογές, ορολογία και περιοχές τεχνητής νοημοσύνης. Επίλυση προβλημάτων με μεθόδους τεχνητής νοημοσύνης: αναπαράσταση προβλημάτων σε γράφους, αναζήτηση λύσης, αλγόριθμοι εύρεσης λύσης (κατά βάθος, κατά πλάτος, επαναληπτική εκβάθυνση), ευριστικοί αλγόριθμοι εύρεσης λύσης (hill climbing, best first, branch and bound, A\*), αλγόριθμοι για παίγνια (min-max, alpha-beta). Συμβολική τεχνητή νοημοσύνη: από τη λογική στην τεχνητή νοημοσύνη, τυπική αναπαράσταση γνώσης, γράφοι γνώσης, αυτόματη συλλογιστική. Μηχανική μάθηση: ανάλυση δεδομένων, ταξινόμηση και πρόβλεψη, perceptrons, γραμμική παλινδρόμηση, ταξινόμηση με ομαδοποίηση.