Ο οδηγός μελέτης του μαθήματος Εισαγωγή στον Προγραμματισμό (Κ04) του Τμήματος Πληροφορικής και Τηλεπικοινωνιών του ΕΚΠΑ, με ένα κεφάλαιο για κάθε διάλεξη του 2025-26. Κάθε κεφάλαιο περιέχει:
Ολόκληρος ο οδηγός (PDF) Ολόκληρος ο οδηγός (Markdown) Τράπεζα ασκήσεων Γλωσσάριο GitHub
| # | Κεφάλαιο | Θέματα | Ασκήσεις | |
|---|---|---|---|---|
| 0 | Καλημέρα Κόσμε! | Εισαγωγή στο μάθημα, Υπολογιστές και αναπαράσταση πληροφορίας, Μεταγλώττιση και σύνδεση (gcc) | 13 | |
| 1 | Η Γραμμή Εντολών | Υπολογιστές και αναπαράσταση πληροφορίας, Unix / Linux, αρχεία και δικαιώματα, Γραμμή εντολών (shell), Μεταγλώττιση και σύνδεση (gcc) | 22 |
| # | Κεφάλαιο | Θέματα | Ασκήσεις | |
|---|---|---|---|---|
| 2 | Μνήμη και Μεταβλητές | Υπολογιστές και αναπαράσταση πληροφορίας, Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Μεταβλητές και δηλώσεις, Τύποι δεδομένων, Αναπαράσταση ακεραίων, υπερχείλιση, Είσοδος / έξοδος (printf, scanf, getchar) | 27 | |
| 3 | Συναρτήσεις | Συναρτήσεις, Τύποι δεδομένων, Μεταβλητές και δηλώσεις, Αναπαράσταση ακεραίων, υπερχείλιση, Είσοδος / έξοδος (printf, scanf, getchar), Μεταγλώττιση και σύνδεση (gcc) | 16 |
| # | Κεφάλαιο | Θέματα | Ασκήσεις | |
|---|---|---|---|---|
| 4 | Git και Τελεστές | Git και GitHub, Τελεστές και παραστάσεις, Τελεστές bit, Προτεραιότητα και προσεταιριστικότητα, Τύποι δεδομένων, Ορίσματα γραμμής εντολών (argc / argv) | 22 |
| # | Κεφάλαιο | Θέματα | Ασκήσεις | |
|---|---|---|---|---|
| 5 | Τελεστές και Εντολές | Τελεστές και παραστάσεις, Τελεστές bit, Προτεραιότητα και προσεταιριστικότητα, Τύποι δεδομένων, Εντολές, if / else / switch | 14 | |
| 6 | Εντολές και Ροή Ελέγχου | Εντολές, if / else / switch, Βρόχοι (while, for, do-while), Ροή ελέγχου (break, continue, goto) | 34 | |
| 7 | Επίλυση Προβλημάτων | Επίλυση προβλημάτων, Βρόχοι (while, for, do-while), Καλές πρακτικές, Επεξεργαστές κειμένου και IDEs, Git και GitHub | 7 | |
| 8 | Ροή Ελέγχου #2 | Βρόχοι (while, for, do-while), Ροή ελέγχου (break, continue, goto), if / else / switch, Αναπαράσταση ακεραίων, υπερχείλιση | 12 | |
| 9 | Δεδομένα Εισόδου | Είσοδος / έξοδος (printf, scanf, getchar), Έλεγχος και ανάγνωση εισόδου, Αριθμοί κινητής υποδιαστολής, Καλές πρακτικές | 40 |
| # | Κεφάλαιο | Θέματα | Ασκήσεις | |
|---|---|---|---|---|
| 10 | Πίνακες | Πίνακες, Είσοδος / έξοδος (printf, scanf, getchar), Έλεγχος και ανάγνωση εισόδου, Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Συμβολοσειρές, Συναρτήσεις, Αναζήτηση (σειριακή, δυαδική), Απροσδιόριστη συμπεριφορά | 34 | |
| 11 | Δείκτες και Αναδρομή | Δείκτες, Αριθμητική δεικτών, Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Πίνακες, Αναδρομή, Αναπαράσταση ακεραίων, υπερχείλιση | 36 | |
| 12 | Δείκτες και Πίνακες | Πίνακες, Πολυδιάστατοι πίνακες, Δείκτες, Αριθμητική δεικτών, Ορίσματα γραμμής εντολών (argc / argv), Δυναμική δέσμευση μνήμης (malloc / free), Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός) | 31 | |
| 13 | Μνήμη | Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Δυναμική δέσμευση μνήμης (malloc / free), Συναρτήσεις, Αναδρομή, Δείκτες, Πολυδιάστατοι πίνακες, Απροσδιόριστη συμπεριφορά | 22 | |
| 14 | Εμβέλεια, Μνήμη και Συμβολοσειρές | Εμβέλεια και χρόνος ζωής, Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Συμβολοσειρές, Δείκτες, Αριθμητική δεικτών, Προτεραιότητα και προσεταιριστικότητα, Ορίσματα γραμμής εντολών (argc / argv) | 30 | |
| 15 | Πολυπλοκότητα και Προεπεξεργαστής | Πολυπλοκότητα αλγορίθμων, Προεπεξεργαστής (#include,, Αναδρομή, Συμβολοσειρές, Μεταγλώττιση και σύνδεση (gcc) | 26 |
| # | Κεφάλαιο | Θέματα | Ασκήσεις | |
|---|---|---|---|---|
| 16 | Επίλυση Προβλημάτων #2 | Επίλυση προβλημάτων, Πολυπλοκότητα αλγορίθμων, Πίνακες, Δείκτες, Πολυδιάστατοι πίνακες, Δυναμική δέσμευση μνήμης (malloc / free), Αναδρομή, Τελεστές bit | 26 | |
| 17 | Δυαδική Αναζήτηση και Ταξινόμηση | Αναζήτηση (σειριακή, δυαδική), Ταξινόμηση, Πολυπλοκότητα αλγορίθμων, Αναδρομή, Δείκτες | 21 | |
| 18 | Ταξινόμηση και Δεδομένα Εισόδου #2 | Ταξινόμηση, Πολυπλοκότητα αλγορίθμων, Αναδρομή, Είσοδος / έξοδος (printf, scanf, getchar), Συμβολοσειρές, Αρχεία (fopen, fread, fwrite), Ανακατεύθυνση και σωληνώσεις (pipes) | 28 | |
| 19 | Δομές | Δομές (struct, typedef), Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Δείκτες, Δυναμική δέσμευση μνήμης (malloc / free) | 21 | |
| 20 | Προχωρημένες Δομές | Δομές (struct, typedef), Απαριθμήσεις, ενώσεις, πεδία bit, Συνδεδεμένες λίστες, Δέντρα, Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός) | 20 | |
| 21 | Λίστες και Δέντρα | Συνδεδεμένες λίστες, Δέντρα, Δομές (struct, typedef), Δείκτες, Δυναμική δέσμευση μνήμης (malloc / free), Αναδρομή, Πολυπλοκότητα αλγορίθμων, Γράφοι και αναζήτηση (BFS / DFS) | 13 | |
| 22 | Δέντρα | Δέντρα, Αναδρομή, Γράφοι και αναζήτηση (BFS / DFS), Συνδεδεμένες λίστες, Πολυπλοκότητα αλγορίθμων, Αναζήτηση (σειριακή, δυαδική), Δομές (struct, typedef) | 29 |
| # | Κεφάλαιο | Θέματα | Ασκήσεις | |
|---|---|---|---|---|
| 23 | Οργάνωση Κώδικα | Οργάνωση κώδικα σε πολλαπλά αρχεία, Μεταγλώττιση και σύνδεση (gcc), Συναρτήσεις, Προεπεξεργαστής (#include,, Δείκτες, make και Makefiles | 6 | |
| 24 | Προχωρημένα Θέματα | Οργάνωση κώδικα σε πολλαπλά αρχεία, Μεταγλώττιση και σύνδεση (gcc), Συναρτήσεις, Δείκτες σε συναρτήσεις, Τύποι δεδομένων, Αριθμοί κινητής υποδιαστολής, Αποσφαλμάτωση (gdb, valgrind), Καλές πρακτικές | 1 | |
| 25 | Επίλυση Προβλημάτων #3 | Επίλυση προβλημάτων, Πολυπλοκότητα αλγορίθμων, Ταξινόμηση, Αναζήτηση (σειριακή, δυαδική), Αναδρομή, Δυναμικός προγραμματισμός, Αποσφαλμάτωση (gdb, valgrind), Δυναμική δέσμευση μνήμης (malloc / free) | 17 |
| # | Κεφάλαιο | Θέματα | Ασκήσεις | |
|---|---|---|---|---|
| Α | How to Make? (προσκεκλημένη διάλεξη) | make και Makefiles, Μεταγλώττιση και σύνδεση (gcc), Οργάνωση κώδικα σε πολλαπλά αρχεία | 5 |
Ο οδηγός είναι γραμμένος ώστε να τον διαβάζουν εύκολα και εργαλεία AI. Δώστε σε ένα
chatbot ή agent το llms-full.txt (όλος ο οδηγός σε ένα αρχείο), ή
το Markdown ενός κεφαλαίου (σύνδεσμος στο τέλος κάθε κεφαλαίου), και ζητήστε του για
παράδειγμα:
exam-2025-jan-q2 και δώσε μου υποδείξεις, όχι λύση.»Το llms.txt είναι το ευρετήριο για agents, και το
questions.json όλη η τράπεζα ασκήσεων σε JSON.
Προσοχή: οι εργασίες του μαθήματος είναι ατομικές. Δείτε τον κώδικα τιμής του μαθήματος για το τι επιτρέπεται.
Ο οδηγός γράφτηκε από τις διαφάνειες των διαλέξεων του 2025-26 (progintro.github.io), τις σημειώσεις του μαθήματος, τα εργαστήρια και τα θέματα εξετάσεων και τις εργασίες προηγούμενων ετών. Οι ασκήσεις έχουν υποδείξεις αλλά όχι λύσεις.
Βρήκατε λάθος; Ανοίξτε ένα issue ή κάντε
ένα pull request στο αντίστοιχο chapters/*/README.md ή questions/*/*.md.