Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Ο οδηγός μελέτης του μαθήματος Εισαγωγή στον Προγραμματισμό (Κ04) του Τμήματος Πληροφορικής και Τηλεπικοινωνιών του ΕΚΠΑ, με ένα κεφάλαιο για κάθε διάλεξη του 2025-26. Κάθε κεφάλαιο περιέχει:

Ολόκληρος ο οδηγός (PDF) Ολόκληρος ο οδηγός (Markdown) Τράπεζα ασκήσεων Γλωσσάριο GitHub

Κεφάλαια

Μέρος Α: Εργαλεία και πρώτα βήματα

#ΚεφάλαιοΘέματαΑσκήσειςPDF
0 Καλημέρα Κόσμε! Εισαγωγή στο μάθημα, Υπολογιστές και αναπαράσταση πληροφορίας, Μεταγλώττιση και σύνδεση (gcc) 13 PDF
1 Η Γραμμή Εντολών Υπολογιστές και αναπαράσταση πληροφορίας, Unix / Linux, αρχεία και δικαιώματα, Γραμμή εντολών (shell), Μεταγλώττιση και σύνδεση (gcc) 22 PDF

Μέρος Β: Τα θεμέλια της C

#ΚεφάλαιοΘέματαΑσκήσειςPDF
2 Μνήμη και Μεταβλητές Υπολογιστές και αναπαράσταση πληροφορίας, Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Μεταβλητές και δηλώσεις, Τύποι δεδομένων, Αναπαράσταση ακεραίων, υπερχείλιση, Είσοδος / έξοδος (printf, scanf, getchar) 27 PDF
3 Συναρτήσεις Συναρτήσεις, Τύποι δεδομένων, Μεταβλητές και δηλώσεις, Αναπαράσταση ακεραίων, υπερχείλιση, Είσοδος / έξοδος (printf, scanf, getchar), Μεταγλώττιση και σύνδεση (gcc) 16 PDF

Μέρος Α: Εργαλεία και πρώτα βήματα

#ΚεφάλαιοΘέματαΑσκήσειςPDF
4 Git και Τελεστές Git και GitHub, Τελεστές και παραστάσεις, Τελεστές bit, Προτεραιότητα και προσεταιριστικότητα, Τύποι δεδομένων, Ορίσματα γραμμής εντολών (argc / argv) 22 PDF

Μέρος Β: Τα θεμέλια της C

#ΚεφάλαιοΘέματαΑσκήσειςPDF
5 Τελεστές και Εντολές Τελεστές και παραστάσεις, Τελεστές bit, Προτεραιότητα και προσεταιριστικότητα, Τύποι δεδομένων, Εντολές, if / else / switch 14 PDF
6 Εντολές και Ροή Ελέγχου Εντολές, if / else / switch, Βρόχοι (while, for, do-while), Ροή ελέγχου (break, continue, goto) 34 PDF
7 Επίλυση Προβλημάτων Επίλυση προβλημάτων, Βρόχοι (while, for, do-while), Καλές πρακτικές, Επεξεργαστές κειμένου και IDEs, Git και GitHub 7 PDF
8 Ροή Ελέγχου #2 Βρόχοι (while, for, do-while), Ροή ελέγχου (break, continue, goto), if / else / switch, Αναπαράσταση ακεραίων, υπερχείλιση 12 PDF
9 Δεδομένα Εισόδου Είσοδος / έξοδος (printf, scanf, getchar), Έλεγχος και ανάγνωση εισόδου, Αριθμοί κινητής υποδιαστολής, Καλές πρακτικές 40 PDF

Μέρος Γ: Πίνακες, δείκτες και μνήμη

#ΚεφάλαιοΘέματαΑσκήσειςPDF
10 Πίνακες Πίνακες, Είσοδος / έξοδος (printf, scanf, getchar), Έλεγχος και ανάγνωση εισόδου, Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Συμβολοσειρές, Συναρτήσεις, Αναζήτηση (σειριακή, δυαδική), Απροσδιόριστη συμπεριφορά 34 PDF
11 Δείκτες και Αναδρομή Δείκτες, Αριθμητική δεικτών, Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Πίνακες, Αναδρομή, Αναπαράσταση ακεραίων, υπερχείλιση 36 PDF
12 Δείκτες και Πίνακες Πίνακες, Πολυδιάστατοι πίνακες, Δείκτες, Αριθμητική δεικτών, Ορίσματα γραμμής εντολών (argc / argv), Δυναμική δέσμευση μνήμης (malloc / free), Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός) 31 PDF
13 Μνήμη Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Δυναμική δέσμευση μνήμης (malloc / free), Συναρτήσεις, Αναδρομή, Δείκτες, Πολυδιάστατοι πίνακες, Απροσδιόριστη συμπεριφορά 22 PDF
14 Εμβέλεια, Μνήμη και Συμβολοσειρές Εμβέλεια και χρόνος ζωής, Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Συμβολοσειρές, Δείκτες, Αριθμητική δεικτών, Προτεραιότητα και προσεταιριστικότητα, Ορίσματα γραμμής εντολών (argc / argv) 30 PDF
15 Πολυπλοκότητα και Προεπεξεργαστής Πολυπλοκότητα αλγορίθμων, Προεπεξεργαστής (#include,, Αναδρομή, Συμβολοσειρές, Μεταγλώττιση και σύνδεση (gcc) 26 PDF

Μέρος Δ: Αλγόριθμοι και δομές δεδομένων

#ΚεφάλαιοΘέματαΑσκήσειςPDF
16 Επίλυση Προβλημάτων #2 Επίλυση προβλημάτων, Πολυπλοκότητα αλγορίθμων, Πίνακες, Δείκτες, Πολυδιάστατοι πίνακες, Δυναμική δέσμευση μνήμης (malloc / free), Αναδρομή, Τελεστές bit 26 PDF
17 Δυαδική Αναζήτηση και Ταξινόμηση Αναζήτηση (σειριακή, δυαδική), Ταξινόμηση, Πολυπλοκότητα αλγορίθμων, Αναδρομή, Δείκτες 21 PDF
18 Ταξινόμηση και Δεδομένα Εισόδου #2 Ταξινόμηση, Πολυπλοκότητα αλγορίθμων, Αναδρομή, Είσοδος / έξοδος (printf, scanf, getchar), Συμβολοσειρές, Αρχεία (fopen, fread, fwrite), Ανακατεύθυνση και σωληνώσεις (pipes) 28 PDF
19 Δομές Δομές (struct, typedef), Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός), Δείκτες, Δυναμική δέσμευση μνήμης (malloc / free) 21 PDF
20 Προχωρημένες Δομές Δομές (struct, typedef), Απαριθμήσεις, ενώσεις, πεδία bit, Συνδεδεμένες λίστες, Δέντρα, Μοντέλο μνήμης (διευθύνσεις, στοίβα, σωρός) 20 PDF
21 Λίστες και Δέντρα Συνδεδεμένες λίστες, Δέντρα, Δομές (struct, typedef), Δείκτες, Δυναμική δέσμευση μνήμης (malloc / free), Αναδρομή, Πολυπλοκότητα αλγορίθμων, Γράφοι και αναζήτηση (BFS / DFS) 13 PDF
22 Δέντρα Δέντρα, Αναδρομή, Γράφοι και αναζήτηση (BFS / DFS), Συνδεδεμένες λίστες, Πολυπλοκότητα αλγορίθμων, Αναζήτηση (σειριακή, δυαδική), Δομές (struct, typedef) 29 PDF

Μέρος Ε: Οργάνωση κώδικα και προχωρημένα θέματα

#ΚεφάλαιοΘέματαΑσκήσειςPDF
23 Οργάνωση Κώδικα Οργάνωση κώδικα σε πολλαπλά αρχεία, Μεταγλώττιση και σύνδεση (gcc), Συναρτήσεις, Προεπεξεργαστής (#include,, Δείκτες, make και Makefiles 6 PDF
24 Προχωρημένα Θέματα Οργάνωση κώδικα σε πολλαπλά αρχεία, Μεταγλώττιση και σύνδεση (gcc), Συναρτήσεις, Δείκτες σε συναρτήσεις, Τύποι δεδομένων, Αριθμοί κινητής υποδιαστολής, Αποσφαλμάτωση (gdb, valgrind), Καλές πρακτικές 1 PDF
25 Επίλυση Προβλημάτων #3 Επίλυση προβλημάτων, Πολυπλοκότητα αλγορίθμων, Ταξινόμηση, Αναζήτηση (σειριακή, δυαδική), Αναδρομή, Δυναμικός προγραμματισμός, Αποσφαλμάτωση (gdb, valgrind), Δυναμική δέσμευση μνήμης (malloc / free) 17 PDF

Παραρτήματα

#ΚεφάλαιοΘέματαΑσκήσειςPDF
Α How to Make? (προσκεκλημένη διάλεξη) make και Makefiles, Μεταγλώττιση και σύνδεση (gcc), Οργάνωση κώδικα σε πολλαπλά αρχεία 5 PDF

Μελέτη με τη βοήθεια AI

Ο οδηγός είναι γραμμένος ώστε να τον διαβάζουν εύκολα και εργαλεία AI. Δώστε σε ένα chatbot ή agent το llms-full.txt (όλος ο οδηγός σε ένα αρχείο), ή το Markdown ενός κεφαλαίου (σύνδεσμος στο τέλος κάθε κεφαλαίου), και ζητήστε του για παράδειγμα:

Το llms.txt είναι το ευρετήριο για agents, και το questions.json όλη η τράπεζα ασκήσεων σε JSON.

Προσοχή: οι εργασίες του μαθήματος είναι ατομικές. Δείτε τον κώδικα τιμής του μαθήματος για το τι επιτρέπεται.

Σχετικά με τον οδηγό

Ο οδηγός γράφτηκε από τις διαφάνειες των διαλέξεων του 2025-26 (progintro.github.io), τις σημειώσεις του μαθήματος, τα εργαστήρια και τα θέματα εξετάσεων και τις εργασίες προηγούμενων ετών. Οι ασκήσεις έχουν υποδείξεις αλλά όχι λύσεις.

Βρήκατε λάθος; Ανοίξτε ένα issue ή κάντε ένα pull request στο αντίστοιχο chapters/*/README.md ή questions/*/*.md.