diff --git a/Makefile b/Makefile index d985d61..473c075 100644 --- a/Makefile +++ b/Makefile @@ -73,7 +73,7 @@ $(BUILD)/llms.txt: $(CHAPTERS) glossary.md $(BUILD)/questions.md tools/llms.py t .PHONY: all fetch lint check-code exercises check clean fetch: mkdir -p sources/slides/2026 sources/hw/2023 sources/hw/2024 sources/hw/2025 - for f in lec00 lec01 lec02 lec03 lec04 lec05 lec06 lec07 lec08 lec09 lec10; do curl -fsSL -o sources/slides/2026/$$f.pdf https://progintro.github.io/assets/pdf/$$f.pdf; done + for f in lec00 lec01 lec02 lec03 lec04 lec05 lec06 lec07 lec08 lec09 lec10 lec11; do curl -fsSL -o sources/slides/2026/$$f.pdf https://progintro.github.io/assets/pdf/$$f.pdf; done gh release download 2025 -R $(REPO) -D sources/slides -p 'lec*.pdf' -p make.pdf --skip-existing gh release download 2025 -R $(REPO) -D sources/hw/2025 -p 'hw*.pdf' -p stergios.pdf --skip-existing gh release download 2024 -R $(REPO) -D sources/hw/2024 -p 'hw*.pdf' --skip-existing diff --git a/README.md b/README.md index 82831f4..57caf9a 100644 --- a/README.md +++ b/README.md @@ -325,7 +325,7 @@ chatbot ή agent το [`llms-full.txt`](llms-full.txt) (όλος ο οδηγός Ο οδηγός γράφτηκε από τις διαφάνειες των διαλέξεων του 2025-26 ([progintro.github.io](https://progintro.github.io/)) και ενημερώνεται με τις διαφάνειες -του 2026-27 καθώς δημοσιεύονται (ως τώρα: Διαλέξεις 0–10), τις +του 2026-27 καθώς δημοσιεύονται (ως τώρα: Διαλέξεις 0–11), τις [σημειώσεις](https://progintro.github.io/notes/) του μαθήματος, τα [εργαστήρια](https://progintro.github.io/lab-material/) και τα θέματα εξετάσεων και τις εργασίες προηγούμενων ετών. Οι ασκήσεις έχουν υποδείξεις αλλά όχι λύσεις. diff --git a/chapters/11-pointers-recursion/README.md b/chapters/11-pointers-recursion/README.md index 2b5a5a0..2e9fe80 100644 --- a/chapters/11-pointers-recursion/README.md +++ b/chapters/11-pointers-recursion/README.md @@ -3,9 +3,9 @@ layout: chapter chapter: 11 lecture: 11 title: "Δείκτες και Αναδρομή" -date: 2025-11-07 +date: 2026-11-06 part: C -slides: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf +slides: https://progintro.github.io/assets/pdf/lec11.pdf prev: 10-arrays next: 12-pointers-arrays topics: [pointers, pointer-arithmetic, memory-model, arrays, recursion, integer-representation] @@ -602,11 +602,12 @@ int main(int argc, char **argv) { ## Διάβασμα -- **Διαφάνειες:** [Διάλεξη 11](https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf), +- **Διαφάνειες:** [Διάλεξη 11](https://progintro.github.io/assets/pdf/lec11.pdf) (2026-27), σελ. 1–50. Μνήμη και διευθύνσεις σελ. 5–11· δείκτες, `sizeof` και `NULL` σελ. 12–19· αποαναφορά και μη έγκυροι δείκτες σελ. 20–24· πράξεις με δείκτες σελ. 25–28· δείκτες και πίνακες σελ. 29–35· παραδείγματα με πίνακες σελ. 36–42· - αναδρομή σελ. 43–48. + αναδρομή σελ. 43–48. Οι διαφάνειες του 2025-26 έχουν την ίδια αρίθμηση: + [Διάλεξη 11 (2025)](https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf). - **Σημειώσεις:** η διάλεξη μαζί με την επόμενη καλύπτει τις σελίδες 73–103 των σημειώσεων του κ. Σταματόπουλου: - [Κεφάλαιο 5: Δείκτες και πίνακες](https://progintro.github.io/notes/chapters/05-pointers-arrays/), diff --git a/questions/slides/slides-lec11-access-by-address.md b/questions/slides/slides-lec11-access-by-address.md index 3d2a603..0d9d124 100644 --- a/questions/slides/slides-lec11-access-by-address.md +++ b/questions/slides/slides-lec11-access-by-address.md @@ -4,8 +4,8 @@ kind: slides title: "Πρόσβαση σε μεταβλητή μόνο μέσω της διεύθυνσής της" source: title: "Διάλεξη 11, διαφάνεια 20" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11] topics: [pointers] difficulty: 1 diff --git a/questions/slides/slides-lec11-array-pointer-trace.md b/questions/slides/slides-lec11-array-pointer-trace.md index 4cc74d3..1c3fd9c 100644 --- a/questions/slides/slides-lec11-array-pointer-trace.md +++ b/questions/slides/slides-lec11-array-pointer-trace.md @@ -4,8 +4,8 @@ kind: slides title: "Αναφορά σε στοιχεία πίνακα μέσω δείκτη" source: title: "Διάλεξη 11, διαφάνειες 29–30" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11] topics: [pointer-arithmetic, pointers, arrays] difficulty: 1 diff --git a/questions/slides/slides-lec11-assign-through-pointers.md b/questions/slides/slides-lec11-assign-through-pointers.md index b2e3369..0524c6d 100644 --- a/questions/slides/slides-lec11-assign-through-pointers.md +++ b/questions/slides/slides-lec11-assign-through-pointers.md @@ -4,8 +4,8 @@ kind: slides title: "Αναθέσεις μέσω δεικτών" source: title: "Διάλεξη 11, διαφάνεια 24" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11] topics: [pointers] difficulty: 1 diff --git a/questions/slides/slides-lec11-atoi-pitfalls.md b/questions/slides/slides-lec11-atoi-pitfalls.md index 8cb2551..0bfbdf2 100644 --- a/questions/slides/slides-lec11-atoi-pitfalls.md +++ b/questions/slides/slides-lec11-atoi-pitfalls.md @@ -4,8 +4,8 @@ kind: slides title: "Τι μπορεί να πάει στραβά με την atoi" source: title: "Διάλεξη 11, διαφάνεια 42" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11] topics: [strings, input-validation, integer-representation] difficulty: 2 diff --git a/questions/slides/slides-lec11-atoi.md b/questions/slides/slides-lec11-atoi.md index 48be955..a29ad70 100644 --- a/questions/slides/slides-lec11-atoi.md +++ b/questions/slides/slides-lec11-atoi.md @@ -4,8 +4,8 @@ kind: slides title: "Η δική μας atoi" source: title: "Διάλεξη 11, διαφάνειες 41–42" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11, 10] topics: [strings, arrays, functions] difficulty: 2 diff --git a/questions/slides/slides-lec11-average.md b/questions/slides/slides-lec11-average.md index 483b78d..af5da28 100644 --- a/questions/slides/slides-lec11-average.md +++ b/questions/slides/slides-lec11-average.md @@ -4,8 +4,8 @@ kind: slides title: "Μέσος όρος πίνακα 100 ακεραίων" source: title: "Διάλεξη 11, διαφάνειες 37–38" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11, 10] topics: [arrays, functions] difficulty: 1 diff --git a/questions/slides/slides-lec11-factorial-calls.md b/questions/slides/slides-lec11-factorial-calls.md index 53ff41e..766e212 100644 --- a/questions/slides/slides-lec11-factorial-calls.md +++ b/questions/slides/slides-lec11-factorial-calls.md @@ -4,8 +4,8 @@ kind: slides title: "Πόσες αναδρομικές κλήσεις κάνει το factorial" source: title: "Διάλεξη 11, διαφάνεια 46" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11] topics: [recursion] difficulty: 1 diff --git a/questions/slides/slides-lec11-factorial-negative.md b/questions/slides/slides-lec11-factorial-negative.md index 51959f2..e46b584 100644 --- a/questions/slides/slides-lec11-factorial-negative.md +++ b/questions/slides/slides-lec11-factorial-negative.md @@ -4,8 +4,8 @@ kind: slides title: "Αρνητικό όρισμα στο αναδρομικό παραγοντικό" source: title: "Διάλεξη 11, διαφάνεια 46" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11] topics: [recursion, undefined-behavior] difficulty: 2 diff --git a/questions/slides/slides-lec11-factorial-overflow.md b/questions/slides/slides-lec11-factorial-overflow.md index 5fbe99b..41c88f6 100644 --- a/questions/slides/slides-lec11-factorial-overflow.md +++ b/questions/slides/slides-lec11-factorial-overflow.md @@ -4,8 +4,8 @@ kind: slides title: "Αρνητικό παραγοντικό" source: title: "Διάλεξη 11, διαφάνεια 46" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11] topics: [integer-representation, recursion] difficulty: 1 diff --git a/questions/slides/slides-lec11-factorial.md b/questions/slides/slides-lec11-factorial.md index c573270..b21b851 100644 --- a/questions/slides/slides-lec11-factorial.md +++ b/questions/slides/slides-lec11-factorial.md @@ -4,8 +4,8 @@ kind: slides title: "Το παραγοντικό αναδρομικά σε C" source: title: "Διάλεξη 11, διαφάνειες 44–45" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11] topics: [recursion, functions, command-line-args] difficulty: 1 diff --git a/questions/slides/slides-lec11-find.md b/questions/slides/slides-lec11-find.md index 95955d3..d643848 100644 --- a/questions/slides/slides-lec11-find.md +++ b/questions/slides/slides-lec11-find.md @@ -4,8 +4,8 @@ kind: slides title: "Θέση στοιχείου σε πίνακα ή -1" source: title: "Διάλεξη 11, διαφάνειες 39–40" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11, 10] topics: [arrays, functions, searching] difficulty: 1 diff --git a/questions/slides/slides-lec11-pointer-sizes.md b/questions/slides/slides-lec11-pointer-sizes.md index 93c6a2d..08f0547 100644 --- a/questions/slides/slides-lec11-pointer-sizes.md +++ b/questions/slides/slides-lec11-pointer-sizes.md @@ -4,8 +4,8 @@ kind: slides title: "Το μέγεθος δεικτών διαφορετικών τύπων" source: title: "Διάλεξη 11, διαφάνεια 18" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11] topics: [pointers, types] difficulty: 1 diff --git a/questions/slides/slides-lec11-print-world.md b/questions/slides/slides-lec11-print-world.md index f5bcf24..d1695e7 100644 --- a/questions/slides/slides-lec11-print-world.md +++ b/questions/slides/slides-lec11-print-world.md @@ -4,8 +4,8 @@ kind: slides title: "Πώς τυπώνω μόνο το World" source: title: "Διάλεξη 11, διαφάνειες 34–35" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec11.pdf - years: [2025] + url: https://progintro.github.io/assets/pdf/lec11.pdf + years: [2025, 2026] chapters: [11] topics: [pointers, strings, arrays] difficulty: 1 diff --git a/sources/extract/lec11.yaml b/sources/extract/lec11.yaml index e7700c6..9ca977e 100644 --- a/sources/extract/lec11.yaml +++ b/sources/extract/lec11.yaml @@ -1,4 +1,6 @@ lecture: 11 +year: 2026-27 # updated from the 2025-26 deck (50 pages) on 2026-11-07; same page numbers +slides: https://progintro.github.io/assets/pdf/lec11.pdf pages: 50 outline: - {pages: "1", section: "(τίτλος)"} @@ -34,6 +36,7 @@ pointers: - {page: 49, text: "Pointer tutorial [4]: https://www.programiz.com/c-programming/c-pointers"} takeaways_slide: null # p. 47 (definition of recursion) and p. 49 (reading) are not takeaways slides issues: + - "2026-27 deck vs 2025-26 (both 50 pages, same page numbers, no content changes). pp. 3-4 add painting captions, and the memory diagram on p. 16 now puts the &c label on Byte 150 (in 2025-26 it pointed at Byte 148); the chapter already places c at 150. The «μεταβλητή x» slip on p. 16 is still there." - "Read tool could not render the PDF (no poppler for it); pages were rendered with pdftoppm -r 110 and read as PNGs. Link URLs recovered with pdftohtml -xml (xref warning, links intact)." - "p. 2: announcement 'Η Εργασία #1 έρχεται την επόμενη εβδομάδα!' (course policy, not put in the chapter)." - "p. 8-11, 15, 21, 27: memory diagrams draw the int 42 with its value in the last byte (103), i.e. big-endian order; the chapter notes this and points to chapter 12 (endianness)." diff --git a/sources/manifest.yaml b/sources/manifest.yaml index 5bc7852..977896d 100644 --- a/sources/manifest.yaml +++ b/sources/manifest.yaml @@ -32,7 +32,7 @@ lectures: - {n: 8, slug: 08-control-flow-2, date: 2026-10-26, part: B, slides: lec08.pdf, url: "https://progintro.github.io/assets/pdf/lec08.pdf", title: "Ροή Ελέγχου #2", notes: [03-control-flow], labs: [lab03]} - {n: 9, slug: 09-input, date: 2026-10-30, part: B, slides: lec09.pdf, url: "https://progintro.github.io/assets/pdf/lec09.pdf", title: "Δεδομένα Εισόδου", notes: [01-first-programs, 09-io], labs: [lab04]} - {n: 10, slug: 10-arrays, date: 2026-11-02, part: C, slides: lec10.pdf, url: "https://progintro.github.io/assets/pdf/lec10.pdf", title: "Πίνακες", notes: [05-pointers-arrays], labs: [lab06]} - - {n: 11, slug: 11-pointers-recursion, date: 2025-11-07, part: C, slides: lec11.pdf, title: "Δείκτες και Αναδρομή", notes: [04-functions, 05-pointers-arrays], labs: [lab05, lab06]} + - {n: 11, slug: 11-pointers-recursion, date: 2026-11-06, part: C, slides: lec11.pdf, url: "https://progintro.github.io/assets/pdf/lec11.pdf", title: "Δείκτες και Αναδρομή", notes: [04-functions, 05-pointers-arrays], labs: [lab05, lab06]} - {n: 12, slug: 12-pointers-arrays, date: 2025-11-10, part: C, slides: lec12.pdf, title: "Δείκτες και Πίνακες", notes: [05-pointers-arrays], labs: [lab06]} - {n: 13, slug: 13-memory, date: 2025-11-14, part: C, slides: lec13.pdf, title: "Μνήμη", notes: [06-memory-strings], labs: [lab07]} - {n: 14, slug: 14-scope-strings, date: 2025-11-21, part: C, slides: lec14.pdf, title: "Εμβέλεια, Μνήμη και Συμβολοσειρές", notes: [04-functions, 06-memory-strings], labs: [lab08]}