diff --git a/Makefile b/Makefile index fe4ee44..8f52811 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; 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; 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 d32254e..ad37925 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–3), τις +του 2026-27 καθώς δημοσιεύονται (ως τώρα: Διαλέξεις 0–4), τις [σημειώσεις](https://progintro.github.io/notes/) του μαθήματος, τα [εργαστήρια](https://progintro.github.io/lab-material/) και τα θέματα εξετάσεων και τις εργασίες προηγούμενων ετών. Οι ασκήσεις έχουν υποδείξεις αλλά όχι λύσεις. diff --git a/chapters/02-memory-variables/README.md b/chapters/02-memory-variables/README.md index edf227b..0153df8 100644 --- a/chapters/02-memory-variables/README.md +++ b/chapters/02-memory-variables/README.md @@ -775,7 +775,7 @@ tab και `\\` μια `\`. ### Σχετικές ασκήσεις από άλλα κεφάλαια - **[Α3.8](../../questions/exams/exam-2024-sep-q1.md)** Η συνάρτηση about: Εξέταση Σεπτεμβρίου 2024, Θέμα 1 · ★☆☆ · programming · `exam-2024-sep-q1` -- **[Α3.3](../../questions/slides/slides-lec03-power-outage.md)** Διακοπή ρεύματος και μνήμη: Διάλεξη 3: Συναρτήσεις, διαφάνεια 3 · ★☆☆ · multiple-choice · `slides-lec03-power-outage` +- **[Α3.3](../../questions/slides/slides-lec03-power-outage.md)** Διακοπή ρεύματος και μνήμη: Διάλεξη 3 (2025-26): Συναρτήσεις, διαφάνεια 3 · ★☆☆ · multiple-choice · `slides-lec03-power-outage` - **[Α6.23](../../questions/exams/exam-2023-fall-ex15-q2.md)** Τυπώνοντας τον Πίνακα ASCII: Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #15, Θέμα 2 · ★★☆ · programming · `exam-2023-fall-ex15-q2` - **[Α6.16](../../questions/exams/exam-2023-fall-ex6-q1.md)** Μέγιστος Κοινός Διαιρέτης: Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #6 (Crypto Themed), Θέμα 1 · ★☆☆ · programming · `exam-2023-fall-ex6-q1` - **[Α6.18](../../questions/exams/exam-2025-sep-q1.md)** Mystery: Εξέταση Σεπτεμβρίου 2025, Θέμα 1 · ★☆☆ · trace · `exam-2025-sep-q1` diff --git a/chapters/03-functions/README.md b/chapters/03-functions/README.md index 953e84d..c4db730 100644 --- a/chapters/03-functions/README.md +++ b/chapters/03-functions/README.md @@ -670,7 +670,7 @@ Pi is approximately: 3.141583 - **[Α3.1](../../questions/slides/slides-lec03-function-call.md)** Τιμή μετά από κλήση συνάρτησης: Διάλεξη 3: Συναρτήσεις, διαφάνεια 37 · ★☆☆ · trace · `slides-lec03-function-call` - **[Α3.2](../../questions/slides/slides-lec03-int-size.md)** Πόσα bytes είναι ένας int;: Διάλεξη 3: Συναρτήσεις, διαφάνεια 9 · ★☆☆ · short-answer · `slides-lec03-int-size` -- **[Α3.3](../../questions/slides/slides-lec03-power-outage.md)** Διακοπή ρεύματος και μνήμη: Διάλεξη 3: Συναρτήσεις, διαφάνεια 3 · ★☆☆ · multiple-choice · `slides-lec03-power-outage` +- **[Α3.3](../../questions/slides/slides-lec03-power-outage.md)** Διακοπή ρεύματος και μνήμη: Διάλεξη 3 (2025-26): Συναρτήσεις, διαφάνεια 3 · ★☆☆ · multiple-choice · `slides-lec03-power-outage` - **[Α3.4](../../questions/slides/slides-lec03-pyth.md)** Πυθαγόρειο θεώρημα (pyth.c): Διάλεξη 3: Συναρτήσεις, διαφάνεια 41 · ★☆☆ · programming · `slides-lec03-pyth` - **[Α3.5](../../questions/slides/slides-lec03-leibniz-pi.md)** Προσέγγιση του π με τη σειρά Leibniz: Διάλεξη 3: Συναρτήσεις, διαφάνεια 44 · ★★☆ · programming · `slides-lec03-leibniz-pi` - **[Α3.6](../../questions/slides/slides-lec03-overflow.md)** Υπερχείλιση ακεραίων: Διάλεξη 3: Συναρτήσεις, διαφάνεια 8 · ★★☆ · trace · `slides-lec03-overflow` @@ -685,9 +685,9 @@ Pi is approximately: 3.141583 ### Σχετικές ασκήσεις από άλλα κεφάλαια -- **[Α4.4](../../questions/slides/slides-lec04-grade-program.md)** Υπολογισμός βαθμολογίας πρωτοετών: Διάλεξη 4: Git και Τελεστές, διαφάνεια 8 · ★☆☆ · programming · `slides-lec04-grade-program` -- **[Α4.5](../../questions/slides/slides-lec04-max-conditional.md)** Συνάρτηση max με τον τελεστή συνθήκης: Διάλεξη 4: Git και Τελεστές, διαφάνεια 31 · ★☆☆ · programming · `slides-lec04-max-conditional` -- **[Α4.8](../../questions/slides/slides-lec04-operators-as-functions.md)** Τελεστές ως συναρτήσεις: Διάλεξη 4: Git και Τελεστές, διαφάνειες 21 και 25 · ★☆☆ · short-answer · `slides-lec04-operators-as-functions` +- **[Α4.4](../../questions/slides/slides-lec04-grade-program.md)** Υπολογισμός βαθμολογίας πρωτοετών: Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 8 · ★☆☆ · programming · `slides-lec04-grade-program` +- **[Α4.5](../../questions/slides/slides-lec04-max-conditional.md)** Συνάρτηση max με τον τελεστή συνθήκης: Διάλεξη 4: Git και Τελεστές, διαφάνεια 23 · ★☆☆ · programming · `slides-lec04-max-conditional` +- **[Α4.8](../../questions/slides/slides-lec04-operators-as-functions.md)** Τελεστές ως συναρτήσεις: Διάλεξη 4: Git και Τελεστές, διαφάνειες 15 και 19 · ★☆☆ · short-answer · `slides-lec04-operators-as-functions` - **[Α5.7](../../questions/slides/slides-lec05-ternary-max.md)** Συνάρτηση max με τον τελεστή συνθήκης: Διάλεξη 5: Τελεστές και Εντολές, διαφάνεια 13 · ★☆☆ · programming · `slides-lec05-ternary-max` - **[Α6.20](../../questions/exams/exam-2023-dec-q1.md)** Κάντο όπως ο Βιετά: Κατατακτήριες Δεκεμβρίου 2023, Θέμα 1 · ★★☆ · programming · `exam-2023-dec-q1` - **[Α6.21](../../questions/exams/exam-2023-fall-ex10-q2.md)** Ασημένιο Κλάσμα: Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #10, Θέμα 2 · ★★☆ · programming · `exam-2023-fall-ex10-q2` diff --git a/chapters/04-git-operators/README.md b/chapters/04-git-operators/README.md index 4d81f4f..b9a3007 100644 --- a/chapters/04-git-operators/README.md +++ b/chapters/04-git-operators/README.md @@ -3,9 +3,9 @@ layout: chapter chapter: 4 lecture: 4 title: "Git και Τελεστές" -date: 2025-10-13 +date: 2026-10-12 part: A -slides: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf +slides: https://progintro.github.io/assets/pdf/lec04.pdf prev: 03-functions next: 05-operators-statements topics: [git, operators, bitwise, precedence, types, command-line-args] @@ -571,12 +571,12 @@ int max(int a, int b) { ## Διάβασμα -- **Διαφάνειες:** [Διάλεξη 4](https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf), σελ. 1–44. Pair programming: σελ. 5–7· πρόγραμμα βαθμολογίας και `argc`/`argv`/`atoi`: σελ. 8–10, 38· version control και git: σελ. 11–19· τελεστές: σελ. 20–37· προτεραιότητα και προσεταιριστικότητα: σελ. 39–41. +- **Διαφάνειες:** [Διάλεξη 4](https://progintro.github.io/assets/pdf/lec04.pdf) (2026-27), σελ. 1–36. Version control και git: σελ. 5–13· τελεστές: σελ. 14–29· το πρόγραμμα βαθμολογίας ξανά: σελ. 30· προτεραιότητα και προσεταιριστικότητα: σελ. 31–33. Το pair programming παρουσιάζεται φέτος στη [Διάλεξη 3](https://progintro.github.io/assets/pdf/lec03.pdf), σελ. 38–40. Το πρόγραμμα βαθμολογίας με τα `argc`/`argv`/`atoi` και δύο ερωτήσεις για bitwise τελεστές υπάρχουν μόνο στις διαφάνειες του 2025-26: [Διάλεξη 4 (2025)](https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf), σελ. 8–10 και 29–30. - **Σημειώσεις:** [Κεφάλαιο 2: Μεταβλητές, τύποι, τελεστές και παραστάσεις](https://progintro.github.io/notes/chapters/02-types-operators/), ενότητα «Εντολές αντικατάστασης, τελεστές και παραστάσεις» (K04, σελ. 34–43). Οι διαφάνειες συνιστούν να έχετε καλύψει τις σημειώσεις του κ. Σταματόπουλου μέχρι τη σελίδα 43, δηλαδή ολόκληρη αυτή την ενότητα. - **Εργαστήριο:** [Εργαστήριο 1](https://progintro.github.io/lab-material/labs/lab01/): «Βήμα 6: Git και GitHub» (λογαριασμός, κλειδί SSH, `git config`) και «Άσκηση 1: Το πρώτο σας repository (info.txt)». - **Βιβλίο:** K&R, §2.5–§2.12, όπως προτείνουν οι σημειώσεις. - **Άλλα:** - - Wikipedia (σελ. 5): [Software development](https://en.wikipedia.org/wiki/Software_development), [Computer programmer](https://en.wikipedia.org/wiki/Computer_programmer), [Source code](https://en.wikipedia.org/wiki/Source_code), [Code review](https://en.wikipedia.org/wiki/Code_review) + - Wikipedia (Διάλεξη 3, σελ. 38): [Software development](https://en.wikipedia.org/wiki/Software_development), [Computer programmer](https://en.wikipedia.org/wiki/Computer_programmer), [Source code](https://en.wikipedia.org/wiki/Source_code), [Code review](https://en.wikipedia.org/wiki/Code_review) - Wikipedia: [Git](https://en.wikipedia.org/wiki/Git), [Arity](https://en.wikipedia.org/wiki/Arity), [Comma operator](https://en.wikipedia.org/wiki/Comma_operator), [Value (lvalues και rvalues)](https://en.wikipedia.org/wiki/Value_(computer_science)) - [Type conversion in C](https://www.geeksforgeeks.org/type-conversion-c/), [List of operators](https://www.tutorialspoint.com/cprogramming/c_operators.htm), [Precedence and associativity (cppreference)](https://en.cppreference.com/w/c/language/operator_precedence) - Προαιρετικά: [Git Cheat Sheet](https://education.github.com/git-cheat-sheet-education.pdf), [Git Tutorial](https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners) @@ -656,16 +656,16 @@ int max(int a, int b) { ### Ζέσταμα: από τις διαφάνειες (Α4.1–Α4.10) -- **[Α4.1](../../questions/slides/slides-lec04-cafebeef.md)** Η τιμή του 0xbeef | 0xcafe0000: Διάλεξη 4: Git και Τελεστές, διαφάνεια 30 · ★☆☆ · multiple-choice · `slides-lec04-cafebeef` -- **[Α4.2](../../questions/slides/slides-lec04-git-cycle.md)** Ο κύκλος clone, add, commit, push, pull: Διάλεξη 4: Git και Τελεστές, διαφάνειες 15-18 · ★☆☆ · tooling · `slides-lec04-git-cycle` -- **[Α4.3](../../questions/slides/slides-lec04-grade-adjustment.md)** Κανόνας αναπροσαρμογής βαθμού ασκήσεων: Διάλεξη 4: Git και Τελεστές, διαφάνεια 8 · ★☆☆ · programming · `slides-lec04-grade-adjustment` -- **[Α4.4](../../questions/slides/slides-lec04-grade-program.md)** Υπολογισμός βαθμολογίας πρωτοετών: Διάλεξη 4: Git και Τελεστές, διαφάνεια 8 · ★☆☆ · programming · `slides-lec04-grade-program` -- **[Α4.5](../../questions/slides/slides-lec04-max-conditional.md)** Συνάρτηση max με τον τελεστή συνθήκης: Διάλεξη 4: Git και Τελεστές, διαφάνεια 31 · ★☆☆ · programming · `slides-lec04-max-conditional` -- **[Α4.6](../../questions/slides/slides-lec04-msb.md)** Απομόνωση του πιο σημαντικού bit: Διάλεξη 4: Git και Τελεστές, διαφάνεια 29 · ★☆☆ · multiple-choice · `slides-lec04-msb` -- **[Α4.7](../../questions/slides/slides-lec04-operator-arity.md)** Τι τύπου τελεστές είναι;: Διάλεξη 4: Git και Τελεστές, διαφάνειες 25-28 και 31 · ★☆☆ · short-answer · `slides-lec04-operator-arity` -- **[Α4.8](../../questions/slides/slides-lec04-operators-as-functions.md)** Τελεστές ως συναρτήσεις: Διάλεξη 4: Git και Τελεστές, διαφάνειες 21 και 25 · ★☆☆ · short-answer · `slides-lec04-operators-as-functions` -- **[Α4.9](../../questions/slides/slides-lec04-precedence.md)** Προτεραιότητα και προσεταιριστικότητα: Διάλεξη 4: Git και Τελεστές, διαφάνεια 39 · ★☆☆ · trace · `slides-lec04-precedence` -- **[Α4.10](../../questions/slides/slides-lec04-cast-division.md)** Τι επιστρέφει το (double)3/4;: Διάλεξη 4: Git και Τελεστές, διαφάνεια 32 · ★★☆ · trace · `slides-lec04-cast-division` +- **[Α4.1](../../questions/slides/slides-lec04-cafebeef.md)** Η τιμή του 0xbeef | 0xcafe0000: Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 30 · ★☆☆ · multiple-choice · `slides-lec04-cafebeef` +- **[Α4.2](../../questions/slides/slides-lec04-git-cycle.md)** Ο κύκλος clone, add, commit, push, pull: Διάλεξη 4: Git και Τελεστές, διαφάνειες 9-12 · ★☆☆ · tooling · `slides-lec04-git-cycle` +- **[Α4.3](../../questions/slides/slides-lec04-grade-adjustment.md)** Κανόνας αναπροσαρμογής βαθμού ασκήσεων: Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 8 · ★☆☆ · programming · `slides-lec04-grade-adjustment` +- **[Α4.4](../../questions/slides/slides-lec04-grade-program.md)** Υπολογισμός βαθμολογίας πρωτοετών: Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 8 · ★☆☆ · programming · `slides-lec04-grade-program` +- **[Α4.5](../../questions/slides/slides-lec04-max-conditional.md)** Συνάρτηση max με τον τελεστή συνθήκης: Διάλεξη 4: Git και Τελεστές, διαφάνεια 23 · ★☆☆ · programming · `slides-lec04-max-conditional` +- **[Α4.6](../../questions/slides/slides-lec04-msb.md)** Απομόνωση του πιο σημαντικού bit: Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 29 · ★☆☆ · multiple-choice · `slides-lec04-msb` +- **[Α4.7](../../questions/slides/slides-lec04-operator-arity.md)** Τι τύπου τελεστές είναι;: Διάλεξη 4: Git και Τελεστές, διαφάνειες 19-22 και 23 · ★☆☆ · short-answer · `slides-lec04-operator-arity` +- **[Α4.8](../../questions/slides/slides-lec04-operators-as-functions.md)** Τελεστές ως συναρτήσεις: Διάλεξη 4: Git και Τελεστές, διαφάνειες 15 και 19 · ★☆☆ · short-answer · `slides-lec04-operators-as-functions` +- **[Α4.9](../../questions/slides/slides-lec04-precedence.md)** Προτεραιότητα και προσεταιριστικότητα: Διάλεξη 4: Git και Τελεστές, διαφάνεια 31 · ★☆☆ · trace · `slides-lec04-precedence` +- **[Α4.10](../../questions/slides/slides-lec04-cast-division.md)** Τι επιστρέφει το (double)3/4;: Διάλεξη 4: Git και Τελεστές, διαφάνεια 24 · ★★☆ · trace · `slides-lec04-cast-division` ### Εργαστήριο (Α4.11) diff --git a/questions/README.md b/questions/README.md index 07dfcbb..efdc91f 100644 --- a/questions/README.md +++ b/questions/README.md @@ -132,7 +132,7 @@ - **[Α3.1](../questions/slides/slides-lec03-function-call.md)** Τιμή μετά από κλήση συνάρτησης: Διάλεξη 3: Συναρτήσεις, διαφάνεια 37 · ★☆☆ · trace · `slides-lec03-function-call` - **[Α3.2](../questions/slides/slides-lec03-int-size.md)** Πόσα bytes είναι ένας int;: Διάλεξη 3: Συναρτήσεις, διαφάνεια 9 · ★☆☆ · short-answer · `slides-lec03-int-size` -- **[Α3.3](../questions/slides/slides-lec03-power-outage.md)** Διακοπή ρεύματος και μνήμη: Διάλεξη 3: Συναρτήσεις, διαφάνεια 3 · ★☆☆ · multiple-choice · `slides-lec03-power-outage` +- **[Α3.3](../questions/slides/slides-lec03-power-outage.md)** Διακοπή ρεύματος και μνήμη: Διάλεξη 3 (2025-26): Συναρτήσεις, διαφάνεια 3 · ★☆☆ · multiple-choice · `slides-lec03-power-outage` - **[Α3.4](../questions/slides/slides-lec03-pyth.md)** Πυθαγόρειο θεώρημα (pyth.c): Διάλεξη 3: Συναρτήσεις, διαφάνεια 41 · ★☆☆ · programming · `slides-lec03-pyth` - **[Α3.5](../questions/slides/slides-lec03-leibniz-pi.md)** Προσέγγιση του π με τη σειρά Leibniz: Διάλεξη 3: Συναρτήσεις, διαφάνεια 44 · ★★☆ · programming · `slides-lec03-leibniz-pi` - **[Α3.6](../questions/slides/slides-lec03-overflow.md)** Υπερχείλιση ακεραίων: Διάλεξη 3: Συναρτήσεις, διαφάνεια 8 · ★★☆ · trace · `slides-lec03-overflow` @@ -161,16 +161,16 @@ ### Ζέσταμα: από τις διαφάνειες (Α4.1–Α4.10) -- **[Α4.1](../questions/slides/slides-lec04-cafebeef.md)** Η τιμή του 0xbeef | 0xcafe0000: Διάλεξη 4: Git και Τελεστές, διαφάνεια 30 · ★☆☆ · multiple-choice · `slides-lec04-cafebeef` -- **[Α4.2](../questions/slides/slides-lec04-git-cycle.md)** Ο κύκλος clone, add, commit, push, pull: Διάλεξη 4: Git και Τελεστές, διαφάνειες 15-18 · ★☆☆ · tooling · `slides-lec04-git-cycle` -- **[Α4.3](../questions/slides/slides-lec04-grade-adjustment.md)** Κανόνας αναπροσαρμογής βαθμού ασκήσεων: Διάλεξη 4: Git και Τελεστές, διαφάνεια 8 · ★☆☆ · programming · `slides-lec04-grade-adjustment` -- **[Α4.4](../questions/slides/slides-lec04-grade-program.md)** Υπολογισμός βαθμολογίας πρωτοετών: Διάλεξη 4: Git και Τελεστές, διαφάνεια 8 · ★☆☆ · programming · `slides-lec04-grade-program` -- **[Α4.5](../questions/slides/slides-lec04-max-conditional.md)** Συνάρτηση max με τον τελεστή συνθήκης: Διάλεξη 4: Git και Τελεστές, διαφάνεια 31 · ★☆☆ · programming · `slides-lec04-max-conditional` -- **[Α4.6](../questions/slides/slides-lec04-msb.md)** Απομόνωση του πιο σημαντικού bit: Διάλεξη 4: Git και Τελεστές, διαφάνεια 29 · ★☆☆ · multiple-choice · `slides-lec04-msb` -- **[Α4.7](../questions/slides/slides-lec04-operator-arity.md)** Τι τύπου τελεστές είναι;: Διάλεξη 4: Git και Τελεστές, διαφάνειες 25-28 και 31 · ★☆☆ · short-answer · `slides-lec04-operator-arity` -- **[Α4.8](../questions/slides/slides-lec04-operators-as-functions.md)** Τελεστές ως συναρτήσεις: Διάλεξη 4: Git και Τελεστές, διαφάνειες 21 και 25 · ★☆☆ · short-answer · `slides-lec04-operators-as-functions` -- **[Α4.9](../questions/slides/slides-lec04-precedence.md)** Προτεραιότητα και προσεταιριστικότητα: Διάλεξη 4: Git και Τελεστές, διαφάνεια 39 · ★☆☆ · trace · `slides-lec04-precedence` -- **[Α4.10](../questions/slides/slides-lec04-cast-division.md)** Τι επιστρέφει το (double)3/4;: Διάλεξη 4: Git και Τελεστές, διαφάνεια 32 · ★★☆ · trace · `slides-lec04-cast-division` +- **[Α4.1](../questions/slides/slides-lec04-cafebeef.md)** Η τιμή του 0xbeef | 0xcafe0000: Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 30 · ★☆☆ · multiple-choice · `slides-lec04-cafebeef` +- **[Α4.2](../questions/slides/slides-lec04-git-cycle.md)** Ο κύκλος clone, add, commit, push, pull: Διάλεξη 4: Git και Τελεστές, διαφάνειες 9-12 · ★☆☆ · tooling · `slides-lec04-git-cycle` +- **[Α4.3](../questions/slides/slides-lec04-grade-adjustment.md)** Κανόνας αναπροσαρμογής βαθμού ασκήσεων: Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 8 · ★☆☆ · programming · `slides-lec04-grade-adjustment` +- **[Α4.4](../questions/slides/slides-lec04-grade-program.md)** Υπολογισμός βαθμολογίας πρωτοετών: Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 8 · ★☆☆ · programming · `slides-lec04-grade-program` +- **[Α4.5](../questions/slides/slides-lec04-max-conditional.md)** Συνάρτηση max με τον τελεστή συνθήκης: Διάλεξη 4: Git και Τελεστές, διαφάνεια 23 · ★☆☆ · programming · `slides-lec04-max-conditional` +- **[Α4.6](../questions/slides/slides-lec04-msb.md)** Απομόνωση του πιο σημαντικού bit: Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 29 · ★☆☆ · multiple-choice · `slides-lec04-msb` +- **[Α4.7](../questions/slides/slides-lec04-operator-arity.md)** Τι τύπου τελεστές είναι;: Διάλεξη 4: Git και Τελεστές, διαφάνειες 19-22 και 23 · ★☆☆ · short-answer · `slides-lec04-operator-arity` +- **[Α4.8](../questions/slides/slides-lec04-operators-as-functions.md)** Τελεστές ως συναρτήσεις: Διάλεξη 4: Git και Τελεστές, διαφάνειες 15 και 19 · ★☆☆ · short-answer · `slides-lec04-operators-as-functions` +- **[Α4.9](../questions/slides/slides-lec04-precedence.md)** Προτεραιότητα και προσεταιριστικότητα: Διάλεξη 4: Git και Τελεστές, διαφάνεια 31 · ★☆☆ · trace · `slides-lec04-precedence` +- **[Α4.10](../questions/slides/slides-lec04-cast-division.md)** Τι επιστρέφει το (double)3/4;: Διάλεξη 4: Git και Τελεστές, διαφάνεια 24 · ★★☆ · trace · `slides-lec04-cast-division` ### Εργαστήριο (Α4.11) diff --git a/questions/slides/slides-lec03-power-outage.md b/questions/slides/slides-lec03-power-outage.md index bea2be6..5e887f0 100644 --- a/questions/slides/slides-lec03-power-outage.md +++ b/questions/slides/slides-lec03-power-outage.md @@ -3,7 +3,7 @@ id: slides-lec03-power-outage kind: slides title: "Διακοπή ρεύματος και μνήμη" source: - title: "Διάλεξη 3: Συναρτήσεις, διαφάνεια 3" + title: "Διάλεξη 3 (2025-26): Συναρτήσεις, διαφάνεια 3" url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec03.pdf years: [2025] chapters: [3, 2] diff --git a/questions/slides/slides-lec04-cafebeef.md b/questions/slides/slides-lec04-cafebeef.md index b1a07a8..de42f3f 100644 --- a/questions/slides/slides-lec04-cafebeef.md +++ b/questions/slides/slides-lec04-cafebeef.md @@ -3,7 +3,7 @@ id: slides-lec04-cafebeef kind: slides title: "Η τιμή του 0xbeef | 0xcafe0000" source: - title: "Διάλεξη 4: Git και Τελεστές, διαφάνεια 30" + title: "Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 30" url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf years: [2025] chapters: [4] diff --git a/questions/slides/slides-lec04-cast-division.md b/questions/slides/slides-lec04-cast-division.md index 304264e..f55d76a 100644 --- a/questions/slides/slides-lec04-cast-division.md +++ b/questions/slides/slides-lec04-cast-division.md @@ -3,9 +3,9 @@ id: slides-lec04-cast-division kind: slides title: "Τι επιστρέφει το (double)3/4;" source: - title: "Διάλεξη 4: Git και Τελεστές, διαφάνεια 32" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf - years: [2025] + title: "Διάλεξη 4: Git και Τελεστές, διαφάνεια 24" + url: https://progintro.github.io/assets/pdf/lec04.pdf + years: [2025, 2026] chapters: [4] topics: [operators, types, precedence] difficulty: 2 diff --git a/questions/slides/slides-lec04-git-cycle.md b/questions/slides/slides-lec04-git-cycle.md index 69fc68a..604c1e1 100644 --- a/questions/slides/slides-lec04-git-cycle.md +++ b/questions/slides/slides-lec04-git-cycle.md @@ -3,9 +3,9 @@ id: slides-lec04-git-cycle kind: slides title: "Ο κύκλος clone, add, commit, push, pull" source: - title: "Διάλεξη 4: Git και Τελεστές, διαφάνειες 15-18" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf - years: [2025] + title: "Διάλεξη 4: Git και Τελεστές, διαφάνειες 9-12" + url: https://progintro.github.io/assets/pdf/lec04.pdf + years: [2025, 2026] chapters: [4] topics: [git] difficulty: 1 diff --git a/questions/slides/slides-lec04-grade-adjustment.md b/questions/slides/slides-lec04-grade-adjustment.md index 242ff3f..336fe61 100644 --- a/questions/slides/slides-lec04-grade-adjustment.md +++ b/questions/slides/slides-lec04-grade-adjustment.md @@ -3,7 +3,7 @@ id: slides-lec04-grade-adjustment kind: slides title: "Κανόνας αναπροσαρμογής βαθμού ασκήσεων" source: - title: "Διάλεξη 4: Git και Τελεστές, διαφάνεια 8" + title: "Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 8" url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf years: [2025] chapters: [4] diff --git a/questions/slides/slides-lec04-grade-program.md b/questions/slides/slides-lec04-grade-program.md index 86cd0ba..df1d287 100644 --- a/questions/slides/slides-lec04-grade-program.md +++ b/questions/slides/slides-lec04-grade-program.md @@ -3,7 +3,7 @@ id: slides-lec04-grade-program kind: slides title: "Υπολογισμός βαθμολογίας πρωτοετών" source: - title: "Διάλεξη 4: Git και Τελεστές, διαφάνεια 8" + title: "Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 8" url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf years: [2025] chapters: [4, 3] diff --git a/questions/slides/slides-lec04-max-conditional.md b/questions/slides/slides-lec04-max-conditional.md index fa32aba..93bfd8e 100644 --- a/questions/slides/slides-lec04-max-conditional.md +++ b/questions/slides/slides-lec04-max-conditional.md @@ -3,9 +3,9 @@ id: slides-lec04-max-conditional kind: slides title: "Συνάρτηση max με τον τελεστή συνθήκης" source: - title: "Διάλεξη 4: Git και Τελεστές, διαφάνεια 31" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf - years: [2025] + title: "Διάλεξη 4: Git και Τελεστές, διαφάνεια 23" + url: https://progintro.github.io/assets/pdf/lec04.pdf + years: [2025, 2026] chapters: [4, 3] topics: [operators, functions] difficulty: 1 diff --git a/questions/slides/slides-lec04-msb.md b/questions/slides/slides-lec04-msb.md index ed72b34..01a7cf3 100644 --- a/questions/slides/slides-lec04-msb.md +++ b/questions/slides/slides-lec04-msb.md @@ -3,7 +3,7 @@ id: slides-lec04-msb kind: slides title: "Απομόνωση του πιο σημαντικού bit" source: - title: "Διάλεξη 4: Git και Τελεστές, διαφάνεια 29" + title: "Διάλεξη 4 (2025-26): Git και Τελεστές, διαφάνεια 29" url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf years: [2025] chapters: [4] diff --git a/questions/slides/slides-lec04-operator-arity.md b/questions/slides/slides-lec04-operator-arity.md index 9b4ec46..7812710 100644 --- a/questions/slides/slides-lec04-operator-arity.md +++ b/questions/slides/slides-lec04-operator-arity.md @@ -3,9 +3,9 @@ id: slides-lec04-operator-arity kind: slides title: "Τι τύπου τελεστές είναι;" source: - title: "Διάλεξη 4: Git και Τελεστές, διαφάνειες 25-28 και 31" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf - years: [2025] + title: "Διάλεξη 4: Git και Τελεστές, διαφάνειες 19-22 και 23" + url: https://progintro.github.io/assets/pdf/lec04.pdf + years: [2025, 2026] chapters: [4] topics: [operators, bitwise] difficulty: 1 diff --git a/questions/slides/slides-lec04-operators-as-functions.md b/questions/slides/slides-lec04-operators-as-functions.md index 1fbd4d2..652ecbc 100644 --- a/questions/slides/slides-lec04-operators-as-functions.md +++ b/questions/slides/slides-lec04-operators-as-functions.md @@ -3,9 +3,9 @@ id: slides-lec04-operators-as-functions kind: slides title: "Τελεστές ως συναρτήσεις" source: - title: "Διάλεξη 4: Git και Τελεστές, διαφάνειες 21 και 25" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf - years: [2025] + title: "Διάλεξη 4: Git και Τελεστές, διαφάνειες 15 και 19" + url: https://progintro.github.io/assets/pdf/lec04.pdf + years: [2025, 2026] chapters: [4, 3] topics: [operators, functions] difficulty: 1 diff --git a/questions/slides/slides-lec04-precedence.md b/questions/slides/slides-lec04-precedence.md index 32124a7..c3d7f59 100644 --- a/questions/slides/slides-lec04-precedence.md +++ b/questions/slides/slides-lec04-precedence.md @@ -3,9 +3,9 @@ id: slides-lec04-precedence kind: slides title: "Προτεραιότητα και προσεταιριστικότητα" source: - title: "Διάλεξη 4: Git και Τελεστές, διαφάνεια 39" - url: https://github.com/progintro/progintro.github.io/releases/download/2025/lec04.pdf - years: [2025] + title: "Διάλεξη 4: Git και Τελεστές, διαφάνεια 31" + url: https://progintro.github.io/assets/pdf/lec04.pdf + years: [2025, 2026] chapters: [4] topics: [precedence, operators] difficulty: 1 diff --git a/sources/extract/lec04.yaml b/sources/extract/lec04.yaml index 4f325db..d750c6f 100644 --- a/sources/extract/lec04.yaml +++ b/sources/extract/lec04.yaml @@ -1,48 +1,47 @@ lecture: 4 -pages: 44 +year: 2026-27 # updated from the 2025-26 deck (44 pages) on 2026-10-12; see the first issue for the page mapping +slides: https://progintro.github.io/assets/pdf/lec04.pdf +pages: 36 outline: - - {pages: "1-4", section: "Pair programming"} # title, announcements, recap, agenda - - {pages: "5-7", section: "Pair programming"} - - {pages: "8-9", section: "Πρόγραμμα υπολογισμού βαθμολογίας"} # in Παραδείγματα - - {pages: "10", section: "Ορίσματα της main: argc, argv και atoi"} - - {pages: "11-12", section: "Version control"} - - {pages: "13-19", section: "Git και GitHub"} - - {pages: "15-18", section: "Ο κύκλος του git βήμα προς βήμα"} # in Παραδείγματα - - {pages: "20", section: "Κατηγοριοποίηση των τελεστών"} - - {pages: "21-22", section: "Τελεστής και τελεστέος"} - - {pages: "23-24", section: "Κατηγοριοποίηση των τελεστών"} - - {pages: "25", section: "Αριθμητικοί τελεστές"} - - {pages: "26", section: "Συγκριτικοί τελεστές"} - - {pages: "27", section: "Λογικοί τελεστές"} - - {pages: "28-30", section: "Bitwise τελεστές"} - - {pages: "31", section: "Τελεστής συνθήκης"} - - {pages: "32-33", section: "Τελεστής μετατροπής και σιωπηρή μετατροπή τύπων"} - - {pages: "34", section: "Τελεστής ανάθεσης"} - - {pages: "35", section: "Συνδυαστικοί τελεστές ανάθεσης"} - - {pages: "36", section: "Τελεστές αύξησης και μείωσης"} - - {pages: "37", section: "Τελεστής παράθεσης"} - - {pages: "38", section: "Πρόγραμμα υπολογισμού βαθμολογίας"} # revisited before precedence - - {pages: "39-41", section: "Προτεραιότητα και προσεταιριστικότητα"} - - {pages: "42-44", section: "Προτεραιότητα και προσεταιριστικότητα"} # Kahoot, next time, closing + - {pages: "1-4", section: "Version control"} # title, announcements (N/A), recap, agenda + - {pages: "5-6", section: "Version control"} + - {pages: "7-13", section: "Git και GitHub"} + - {pages: "9-12", section: "Ο κύκλος του git βήμα προς βήμα"} # in Παραδείγματα + - {pages: "14", section: "Κατηγοριοποίηση των τελεστών"} + - {pages: "15-16", section: "Τελεστής και τελεστέος"} + - {pages: "17-18", section: "Κατηγοριοποίηση των τελεστών"} + - {pages: "19", section: "Αριθμητικοί τελεστές"} + - {pages: "20", section: "Συγκριτικοί τελεστές"} + - {pages: "21", section: "Λογικοί τελεστές"} + - {pages: "22", section: "Bitwise τελεστές"} + - {pages: "23", section: "Τελεστής συνθήκης"} + - {pages: "24-25", section: "Τελεστής μετατροπής και σιωπηρή μετατροπή τύπων"} + - {pages: "26", section: "Τελεστής ανάθεσης"} + - {pages: "27", section: "Συνδυαστικοί τελεστές ανάθεσης"} + - {pages: "28", section: "Τελεστές αύξησης και μείωσης"} + - {pages: "29", section: "Τελεστής παράθεσης"} + - {pages: "30", section: "Πρόγραμμα υπολογισμού βαθμολογίας"} # revisited before precedence + - {pages: "31-33", section: "Προτεραιότητα και προσεταιριστικότητα"} + - {pages: "34-36", section: "Προτεραιότητα και προσεταιριστικότητα"} # Kahoot, next time, closing pointers: - - {page: 5, text: "Wikipedia: Software development, Computer programmer, Source code, Code review (links in the pair programming definition)"} - - {page: 6, text: "Jeff Dean quote (https://www.brainyquote.com/authors/jeff-dean-quotes)"} - - {page: 9, text: "Comment in the grade program: https://progintro.github.io (grading rules)"} - - {page: 13, text: "Wikipedia: Git (https://en.wikipedia.org/wiki/Git)"} - - {page: 13, text: "GitHub: https://github.com/"} - - {page: 15, text: "git clone git@github.com:progintro/hw0-barbouni-2005.git; SSH key and configuration as in Φυλλάδιο 1 του εργαστηρίου (lab01, Βήμα 6)"} - - {page: 23, text: "Wikipedia: Arity (https://en.wikipedia.org/wiki/Arity)"} - - {page: 37, text: "Wikipedia: Comma operator (https://en.wikipedia.org/wiki/Comma_operator)"} - - {page: 43, text: "Σημειώσεις κ. Σταματόπουλου: όλα μέχρι τη σελίδα 43 (K04)"} - - {page: 43, text: "Type conversion (https://www.geeksforgeeks.org/type-conversion-c/)"} - - {page: 43, text: "List of operators (https://www.tutorialspoint.com/cprogramming/c_operators.htm)"} - - {page: 43, text: "lvalues and rvalues (https://en.wikipedia.org/wiki/Value_(computer_science))"} - - {page: 43, text: "Precedence and associativity (https://en.cppreference.com/w/c/language/operator_precedence)"} - - {page: 43, text: "Προαιρετικό: Git Cheat Sheet (https://education.github.com/git-cheat-sheet-education.pdf)"} - - {page: 43, text: "Προαιρετικό: Git Tutorial (https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners)"} - - {page: 43, text: "Jeff and Sanjay (https://www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge)"} + - {page: 7, text: "Wikipedia: Git (https://en.wikipedia.org/wiki/Git)"} + - {page: 7, text: "GitHub: https://github.com/"} + - {page: 9, text: "git clone git@github.com:progintro/hw0-2026-barbouni-2005.git; SSH key and configuration as in Φυλλάδιο 0 του εργαστηρίου"} + - {page: 17, text: "Wikipedia: Arity (https://en.wikipedia.org/wiki/Arity)"} + - {page: 29, text: "Wikipedia: Comma operator (https://en.wikipedia.org/wiki/Comma_operator)"} + - {page: 35, text: "Σημειώσεις κ. Σταματόπουλου: όλα μέχρι τη σελίδα 43 (K04)"} + - {page: 35, text: "Type conversion (https://www.geeksforgeeks.org/type-conversion-c/)"} + - {page: 35, text: "List of operators (https://www.tutorialspoint.com/cprogramming/c_operators.htm)"} + - {page: 35, text: "lvalues and rvalues (https://en.wikipedia.org/wiki/Value_(computer_science))"} + - {page: 35, text: "Precedence and associativity (https://en.cppreference.com/w/c/language/operator_precedence)"} + - {page: 35, text: "Προαιρετικό: Git Cheat Sheet (https://education.github.com/git-cheat-sheet-education.pdf)"} + - {page: 35, text: "Προαιρετικό: Git Tutorial (https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners)"} + - {page: 35, text: "Jeff and Sanjay (https://www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge)"} + - {page: 5, text: "2025-26 deck only (pair programming, now Διάλεξη 3 2026-27 pp. 38-39): Wikipedia: Software development, Computer programmer, Source code, Code review"} + - {page: 9, text: "2025-26 deck only (grade program): comment with https://progintro.github.io (grading rules)"} takeaways_slide: null issues: + - "2026-27 deck vs 2025-26 (44 pages): the title drops 'Live Coding'; pair programming (2025 pp. 5-7) moved to lecture 3 (2026 pp. 38-40); the grade program with argc/argv/atoi (2025 pp. 8-10) and the bitwise questions (2025 pp. 29-30, slides-lec04-msb and slides-lec04-cafebeef) were removed; the clone example is now hw0-2026-barbouni-2005 and points to Φυλλάδιο 0. Page mapping: 2025 pp. 1-4 = 2026 pp. 1-4, 2025 pp. 11-28 = 2026 pp. 5-22, 2025 pp. 31-44 = 2026 pp. 23-36. The chapter keeps the removed material; the four questions from removed slides cite the 2025-26 deck. Page numbers in the issues below are 2025-26." - "No explicit key-takeaways slide; the red callouts (p. 20 'Don't forget to add your files', p. 27 zero = false, p. 32 truncation not rounding, p. 40 use parentheses) were treated as takeaways." - "p. 2 announces that 'η Εργασία' (hw0) comes out that day; not a concept, omitted. p. 3 recap and p. 4 agenda are not separate sections." - "p. 7 (volunteers) and p. 8-9 are live coding; the grade program on p. 9/38 is 'μια περσινή λύση'. Its terminal output (79, usage message) was produced by compiling it locally, not transcribed from the slides." diff --git a/sources/manifest.yaml b/sources/manifest.yaml index afc8919..49152f4 100644 --- a/sources/manifest.yaml +++ b/sources/manifest.yaml @@ -25,7 +25,7 @@ lectures: - {n: 1, slug: 01-command-line, date: 2026-10-02, part: A, slides: lec01.pdf, url: "https://progintro.github.io/assets/pdf/lec01.pdf", title: "Η Γραμμή Εντολών", notes: [00-intro], labs: [lab01]} - {n: 2, slug: 02-memory-variables, date: 2026-10-05, part: B, slides: lec02.pdf, url: "https://progintro.github.io/assets/pdf/lec02.pdf", title: "Μνήμη και Μεταβλητές", notes: [02-types-operators], labs: [lab02, lab03]} - {n: 3, slug: 03-functions, date: 2026-10-09, part: B, slides: lec03.pdf, url: "https://progintro.github.io/assets/pdf/lec03.pdf", title: "Συναρτήσεις", notes: [04-functions], labs: [lab05]} - - {n: 4, slug: 04-git-operators, date: 2025-10-13, part: A, slides: lec04.pdf, title: "Git και Τελεστές", notes: [02-types-operators], labs: [lab01]} + - {n: 4, slug: 04-git-operators, date: 2026-10-12, part: A, slides: lec04.pdf, url: "https://progintro.github.io/assets/pdf/lec04.pdf", title: "Git και Τελεστές", notes: [02-types-operators], labs: [lab01]} - {n: 5, slug: 05-operators-statements, date: 2025-10-17, part: B, slides: lec05.pdf, title: "Τελεστές και Εντολές", notes: [02-types-operators, 03-control-flow], labs: [lab03]} - {n: 6, slug: 06-control-flow, date: 2025-10-20, part: B, slides: lec06.pdf, title: "Εντολές και Ροή Ελέγχου", notes: [03-control-flow], labs: [lab03]} - {n: 7, slug: 07-problem-solving, date: 2025-10-24, part: B, slides: lec07.pdf, title: "Επίλυση Προβλημάτων", notes: [01-first-programs], labs: [lab03]}