From c076dc851e6b5944179fbbab840f7673d83d524f Mon Sep 17 00:00:00 2001 From: Thanassis Avgerinos Date: Fri, 9 Oct 2026 08:52:20 +0300 Subject: [PATCH 1/2] Add an exam questions page, by level from 1 to 4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every exam question gets a `level` from 1 (short question) to 4 (the hardest θέμα), using the rubric now in STYLE.md, and lint requires it on exam questions only. gen-exercises.py writes questions/exam-questions.md, the 108 questions grouped by level, each linking to its page on the site, and _data/exams.yml, which gives every exam question page a level badge and previous/next links within its level. The home page and the question bank link to the new page. --- README.md | 1 + STYLE.md | 15 +++ _config.yml | 2 + _data/exams.yml | 109 ++++++++++++++++ _layouts/question.html | 14 +++ questions/README.md | 3 + questions/exam-questions.md | 144 ++++++++++++++++++++++ questions/exams/exam-2023-dec-q1.md | 1 + questions/exams/exam-2023-dec-q2.md | 1 + questions/exams/exam-2023-dec-q3.md | 1 + questions/exams/exam-2023-dec-q4.md | 1 + questions/exams/exam-2023-fall-ex0-q1.md | 1 + questions/exams/exam-2023-fall-ex0-q2.md | 1 + questions/exams/exam-2023-fall-ex0-q3.md | 1 + questions/exams/exam-2023-fall-ex0-q4.md | 1 + questions/exams/exam-2023-fall-ex1-q1.md | 1 + questions/exams/exam-2023-fall-ex1-q2.md | 1 + questions/exams/exam-2023-fall-ex1-q3.md | 1 + questions/exams/exam-2023-fall-ex1-q4.md | 1 + questions/exams/exam-2023-fall-ex10-q1.md | 1 + questions/exams/exam-2023-fall-ex10-q2.md | 1 + questions/exams/exam-2023-fall-ex10-q3.md | 1 + questions/exams/exam-2023-fall-ex10-q4.md | 1 + questions/exams/exam-2023-fall-ex11-q1.md | 1 + questions/exams/exam-2023-fall-ex11-q2.md | 1 + questions/exams/exam-2023-fall-ex11-q3.md | 1 + questions/exams/exam-2023-fall-ex11-q4.md | 1 + questions/exams/exam-2023-fall-ex12-q1.md | 1 + questions/exams/exam-2023-fall-ex12-q2.md | 1 + questions/exams/exam-2023-fall-ex12-q3.md | 1 + questions/exams/exam-2023-fall-ex12-q4.md | 1 + questions/exams/exam-2023-fall-ex13-q1.md | 1 + questions/exams/exam-2023-fall-ex13-q2.md | 1 + questions/exams/exam-2023-fall-ex13-q3.md | 1 + questions/exams/exam-2023-fall-ex13-q4.md | 1 + questions/exams/exam-2023-fall-ex14-q1.md | 1 + questions/exams/exam-2023-fall-ex14-q2.md | 1 + questions/exams/exam-2023-fall-ex14-q3.md | 1 + questions/exams/exam-2023-fall-ex14-q4.md | 1 + questions/exams/exam-2023-fall-ex15-q1.md | 1 + questions/exams/exam-2023-fall-ex15-q2.md | 1 + questions/exams/exam-2023-fall-ex15-q3.md | 1 + questions/exams/exam-2023-fall-ex15-q4.md | 1 + questions/exams/exam-2023-fall-ex2-q1.md | 1 + questions/exams/exam-2023-fall-ex2-q2.md | 1 + questions/exams/exam-2023-fall-ex2-q3.md | 1 + questions/exams/exam-2023-fall-ex2-q4.md | 1 + questions/exams/exam-2023-fall-ex3-q1.md | 1 + questions/exams/exam-2023-fall-ex3-q2.md | 1 + questions/exams/exam-2023-fall-ex3-q3.md | 1 + questions/exams/exam-2023-fall-ex3-q4.md | 1 + questions/exams/exam-2023-fall-ex4-q1.md | 1 + questions/exams/exam-2023-fall-ex4-q2.md | 1 + questions/exams/exam-2023-fall-ex4-q3.md | 1 + questions/exams/exam-2023-fall-ex4-q4.md | 1 + questions/exams/exam-2023-fall-ex5-q1.md | 1 + questions/exams/exam-2023-fall-ex5-q2.md | 1 + questions/exams/exam-2023-fall-ex5-q3.md | 1 + questions/exams/exam-2023-fall-ex5-q4.md | 1 + questions/exams/exam-2023-fall-ex6-q1.md | 1 + questions/exams/exam-2023-fall-ex6-q2.md | 1 + questions/exams/exam-2023-fall-ex6-q3.md | 1 + questions/exams/exam-2023-fall-ex6-q4.md | 1 + questions/exams/exam-2023-fall-ex7-q1.md | 1 + questions/exams/exam-2023-fall-ex7-q2.md | 1 + questions/exams/exam-2023-fall-ex7-q3.md | 1 + questions/exams/exam-2023-fall-ex7-q4.md | 1 + questions/exams/exam-2023-fall-ex8-q1.md | 1 + questions/exams/exam-2023-fall-ex8-q2.md | 1 + questions/exams/exam-2023-fall-ex8-q3.md | 1 + questions/exams/exam-2023-fall-ex8-q4.md | 1 + questions/exams/exam-2023-fall-ex9-q1.md | 1 + questions/exams/exam-2023-fall-ex9-q2.md | 1 + questions/exams/exam-2023-fall-ex9-q3.md | 1 + questions/exams/exam-2023-fall-ex9-q4.md | 1 + questions/exams/exam-2024-dec-q1.md | 1 + questions/exams/exam-2024-dec-q2.md | 1 + questions/exams/exam-2024-dec-q3.md | 1 + questions/exams/exam-2024-dec-q4.md | 1 + questions/exams/exam-2024-jul-q1.md | 1 + questions/exams/exam-2024-jul-q2.md | 1 + questions/exams/exam-2024-jul-q3.md | 1 + questions/exams/exam-2024-jul-q4.md | 1 + questions/exams/exam-2024-sep-q1.md | 1 + questions/exams/exam-2024-sep-q2.md | 1 + questions/exams/exam-2024-sep-q3.md | 1 + questions/exams/exam-2024-sep-q4.md | 1 + questions/exams/exam-2024-sep-q5.md | 1 + questions/exams/exam-2024-sep-q6.md | 1 + questions/exams/exam-2025-jan-q1.md | 1 + questions/exams/exam-2025-jan-q2.md | 1 + questions/exams/exam-2025-jan-q3.md | 1 + questions/exams/exam-2025-jan-q4.md | 1 + questions/exams/exam-2025-jan-q5.md | 1 + questions/exams/exam-2025-jan-q6.md | 1 + questions/exams/exam-2025-sep-q1.md | 1 + questions/exams/exam-2025-sep-q2.md | 1 + questions/exams/exam-2025-sep-q3.md | 1 + questions/exams/exam-2025-sep-q4.md | 1 + questions/exams/exam-2025-sep-q5.md | 1 + questions/exams/exam-2026-jan-q1.md | 1 + questions/exams/exam-2026-jan-q2.md | 1 + questions/exams/exam-2026-jan-q3.md | 1 + questions/exams/exam-2026-jan-q4.md | 1 + questions/exams/exam-2026-jan-q5.md | 1 + questions/exams/exam-2026-jan-q6.md | 1 + questions/exams/exam-2026-jun-q1.md | 1 + questions/exams/exam-2026-jun-q2.md | 1 + questions/exams/exam-2026-jun-q3.md | 1 + questions/exams/exam-2026-jun-q4.md | 1 + questions/exams/exam-2026-sep-q1.md | 1 + questions/exams/exam-2026-sep-q2.md | 1 + questions/exams/exam-2026-sep-q3.md | 1 + questions/exams/exam-2026-sep-q4.md | 1 + questions/exams/exam-2026-sep-q5.md | 1 + tools/gen-exercises.py | 62 ++++++++++ 116 files changed, 458 insertions(+) create mode 100644 _data/exams.yml create mode 100644 questions/exam-questions.md diff --git a/README.md b/README.md index 6f797ca..00b4003 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ Ολόκληρος ο οδηγός (PDF) Ολόκληρος ο οδηγός (Markdown) Τράπεζα ασκήσεων + Θέματα εξετάσεων Γλωσσάριο GitHub

diff --git a/STYLE.md b/STYLE.md index e2c67aa..ccc0456 100644 --- a/STYLE.md +++ b/STYLE.md @@ -246,6 +246,7 @@ source: chapters: [14, 12] topics: [strings, pointers] difficulty: 2 +level: 1 type: programming --- @@ -266,6 +267,20 @@ type: programming primary chapter**, where most of the needed material is taught. List others only if the question genuinely needs them. - `difficulty`: 1 (direct application), 2 (combines ideas), 3 (exam-hard or longer). +- `level` (exam questions only, required there): where the question sits on the 1-4 exam + scale. The question's position in the exam is a strong hint, but its content decides. + `tools/gen-exercises.py` lists every exam question by level in `questions/exam-questions.md`. + 1. **Short question, not a whole program:** explain or trace given code (what it prints, + what a function does), a type, operator or memory question, or a short fragment or + function. Usually the first θέματα. + 2. **Simple complete program with input:** a whole program that reads its data from + stdin or argv and does simple processing on it, with one loop or a simple double loop. + Usually Θέμα 3. + 3. **Data structures and dynamic memory:** a program built around a data structure + (linked lists, trees, ...) with heap allocation (`malloc`/`free`) and the pointer + handling that goes with it. + 4. **The hardest θέμα:** usually the last one. Larger programs that may combine the above + with file handling or need dynamic programming or another non-obvious algorithm. - `type` is one of: - `programming`: write a program or function - `short-answer`: explain or define diff --git a/_config.yml b/_config.yml index c634ddf..72adfa2 100644 --- a/_config.yml +++ b/_config.yml @@ -30,6 +30,8 @@ defaults: values: {layout: question} - scope: {path: questions/README.md} values: {layout: default} + - scope: {path: questions/exam-questions.md} + values: {layout: default} plugins: - jekyll-coffeescript diff --git a/_data/exams.yml b/_data/exams.yml new file mode 100644 index 0000000..2dcad41 --- /dev/null +++ b/_data/exams.yml @@ -0,0 +1,109 @@ +# Generated by tools/gen-exercises.py: exam question id -> level, previous, next. +exam-2026-sep-q1: {level: 1, next: exam-2026-sep-q2} +exam-2026-sep-q2: {level: 1, prev: exam-2026-sep-q1, next: exam-2026-jun-q1} +exam-2026-jun-q1: {level: 1, prev: exam-2026-sep-q2, next: exam-2026-jun-q2} +exam-2026-jun-q2: {level: 1, prev: exam-2026-jun-q1, next: exam-2026-jan-q1} +exam-2026-jan-q1: {level: 1, prev: exam-2026-jun-q2, next: exam-2026-jan-q2} +exam-2026-jan-q2: {level: 1, prev: exam-2026-jan-q1, next: exam-2026-jan-q6} +exam-2026-jan-q6: {level: 1, prev: exam-2026-jan-q2, next: exam-2025-sep-q1} +exam-2025-sep-q1: {level: 1, prev: exam-2026-jan-q6, next: exam-2025-sep-q2} +exam-2025-sep-q2: {level: 1, prev: exam-2025-sep-q1, next: exam-2025-jan-q1} +exam-2025-jan-q1: {level: 1, prev: exam-2025-sep-q2, next: exam-2025-jan-q2} +exam-2025-jan-q2: {level: 1, prev: exam-2025-jan-q1, next: exam-2024-sep-q1} +exam-2024-sep-q1: {level: 1, prev: exam-2025-jan-q2, next: exam-2024-sep-q2} +exam-2024-sep-q2: {level: 1, prev: exam-2024-sep-q1, next: exam-2024-sep-q3} +exam-2024-sep-q3: {level: 1, prev: exam-2024-sep-q2} +exam-2026-sep-q3: {level: 2, next: exam-2026-jun-q3} +exam-2026-jun-q3: {level: 2, prev: exam-2026-sep-q3, next: exam-2026-jan-q3} +exam-2026-jan-q3: {level: 2, prev: exam-2026-jun-q3, next: exam-2025-sep-q3} +exam-2025-sep-q3: {level: 2, prev: exam-2026-jan-q3, next: exam-2025-jan-q3} +exam-2025-jan-q3: {level: 2, prev: exam-2025-sep-q3, next: exam-2024-dec-q1} +exam-2024-dec-q1: {level: 2, prev: exam-2025-jan-q3, next: exam-2024-dec-q2} +exam-2024-dec-q2: {level: 2, prev: exam-2024-dec-q1, next: exam-2024-sep-q4} +exam-2024-sep-q4: {level: 2, prev: exam-2024-dec-q2, next: exam-2024-jul-q1} +exam-2024-jul-q1: {level: 2, prev: exam-2024-sep-q4, next: exam-2024-jul-q2} +exam-2024-jul-q2: {level: 2, prev: exam-2024-jul-q1, next: exam-2023-dec-q1} +exam-2023-dec-q1: {level: 2, prev: exam-2024-jul-q2, next: exam-2023-fall-ex0-q1} +exam-2023-fall-ex0-q1: {level: 2, prev: exam-2023-dec-q1, next: exam-2023-dec-q2} +exam-2023-dec-q2: {level: 2, prev: exam-2023-fall-ex0-q1, next: exam-2023-fall-ex0-q2} +exam-2023-fall-ex0-q2: {level: 2, prev: exam-2023-dec-q2, next: exam-2023-fall-ex1-q1} +exam-2023-fall-ex1-q1: {level: 2, prev: exam-2023-fall-ex0-q2, next: exam-2023-fall-ex1-q2} +exam-2023-fall-ex1-q2: {level: 2, prev: exam-2023-fall-ex1-q1, next: exam-2023-fall-ex2-q1} +exam-2023-fall-ex2-q1: {level: 2, prev: exam-2023-fall-ex1-q2, next: exam-2023-fall-ex2-q2} +exam-2023-fall-ex2-q2: {level: 2, prev: exam-2023-fall-ex2-q1, next: exam-2023-fall-ex3-q1} +exam-2023-fall-ex3-q1: {level: 2, prev: exam-2023-fall-ex2-q2, next: exam-2023-fall-ex3-q2} +exam-2023-fall-ex3-q2: {level: 2, prev: exam-2023-fall-ex3-q1, next: exam-2023-fall-ex3-q3} +exam-2023-fall-ex3-q3: {level: 2, prev: exam-2023-fall-ex3-q2, next: exam-2023-fall-ex4-q1} +exam-2023-fall-ex4-q1: {level: 2, prev: exam-2023-fall-ex3-q3, next: exam-2023-fall-ex4-q2} +exam-2023-fall-ex4-q2: {level: 2, prev: exam-2023-fall-ex4-q1, next: exam-2023-fall-ex4-q3} +exam-2023-fall-ex4-q3: {level: 2, prev: exam-2023-fall-ex4-q2, next: exam-2023-fall-ex4-q4} +exam-2023-fall-ex4-q4: {level: 2, prev: exam-2023-fall-ex4-q3, next: exam-2023-fall-ex5-q1} +exam-2023-fall-ex5-q1: {level: 2, prev: exam-2023-fall-ex4-q4, next: exam-2023-fall-ex5-q2} +exam-2023-fall-ex5-q2: {level: 2, prev: exam-2023-fall-ex5-q1, next: exam-2023-fall-ex6-q1} +exam-2023-fall-ex6-q1: {level: 2, prev: exam-2023-fall-ex5-q2, next: exam-2023-fall-ex6-q2} +exam-2023-fall-ex6-q2: {level: 2, prev: exam-2023-fall-ex6-q1, next: exam-2023-fall-ex6-q3} +exam-2023-fall-ex6-q3: {level: 2, prev: exam-2023-fall-ex6-q2, next: exam-2023-fall-ex7-q1} +exam-2023-fall-ex7-q1: {level: 2, prev: exam-2023-fall-ex6-q3, next: exam-2023-fall-ex7-q2} +exam-2023-fall-ex7-q2: {level: 2, prev: exam-2023-fall-ex7-q1, next: exam-2023-fall-ex7-q4} +exam-2023-fall-ex7-q4: {level: 2, prev: exam-2023-fall-ex7-q2, next: exam-2023-fall-ex8-q1} +exam-2023-fall-ex8-q1: {level: 2, prev: exam-2023-fall-ex7-q4, next: exam-2023-fall-ex8-q2} +exam-2023-fall-ex8-q2: {level: 2, prev: exam-2023-fall-ex8-q1, next: exam-2023-fall-ex9-q1} +exam-2023-fall-ex9-q1: {level: 2, prev: exam-2023-fall-ex8-q2, next: exam-2023-fall-ex9-q2} +exam-2023-fall-ex9-q2: {level: 2, prev: exam-2023-fall-ex9-q1, next: exam-2023-fall-ex10-q1} +exam-2023-fall-ex10-q1: {level: 2, prev: exam-2023-fall-ex9-q2, next: exam-2023-fall-ex10-q2} +exam-2023-fall-ex10-q2: {level: 2, prev: exam-2023-fall-ex10-q1, next: exam-2023-fall-ex11-q1} +exam-2023-fall-ex11-q1: {level: 2, prev: exam-2023-fall-ex10-q2, next: exam-2023-fall-ex11-q2} +exam-2023-fall-ex11-q2: {level: 2, prev: exam-2023-fall-ex11-q1, next: exam-2023-fall-ex11-q4} +exam-2023-fall-ex11-q4: {level: 2, prev: exam-2023-fall-ex11-q2, next: exam-2023-fall-ex12-q1} +exam-2023-fall-ex12-q1: {level: 2, prev: exam-2023-fall-ex11-q4, next: exam-2023-fall-ex12-q2} +exam-2023-fall-ex12-q2: {level: 2, prev: exam-2023-fall-ex12-q1, next: exam-2023-fall-ex12-q3} +exam-2023-fall-ex12-q3: {level: 2, prev: exam-2023-fall-ex12-q2, next: exam-2023-fall-ex12-q4} +exam-2023-fall-ex12-q4: {level: 2, prev: exam-2023-fall-ex12-q3, next: exam-2023-fall-ex13-q1} +exam-2023-fall-ex13-q1: {level: 2, prev: exam-2023-fall-ex12-q4, next: exam-2023-fall-ex13-q4} +exam-2023-fall-ex13-q4: {level: 2, prev: exam-2023-fall-ex13-q1, next: exam-2023-fall-ex14-q1} +exam-2023-fall-ex14-q1: {level: 2, prev: exam-2023-fall-ex13-q4, next: exam-2023-fall-ex14-q2} +exam-2023-fall-ex14-q2: {level: 2, prev: exam-2023-fall-ex14-q1, next: exam-2023-fall-ex15-q1} +exam-2023-fall-ex15-q1: {level: 2, prev: exam-2023-fall-ex14-q2, next: exam-2023-fall-ex15-q2} +exam-2023-fall-ex15-q2: {level: 2, prev: exam-2023-fall-ex15-q1, next: exam-2023-fall-ex15-q4} +exam-2023-fall-ex15-q4: {level: 2, prev: exam-2023-fall-ex15-q2} +exam-2026-sep-q4: {level: 3, next: exam-2026-jan-q4} +exam-2026-jan-q4: {level: 3, prev: exam-2026-sep-q4, next: exam-2025-sep-q4} +exam-2025-sep-q4: {level: 3, prev: exam-2026-jan-q4, next: exam-2025-jan-q4} +exam-2025-jan-q4: {level: 3, prev: exam-2025-sep-q4, next: exam-2025-jan-q5} +exam-2025-jan-q5: {level: 3, prev: exam-2025-jan-q4, next: exam-2024-sep-q5} +exam-2024-sep-q5: {level: 3, prev: exam-2025-jan-q5, next: exam-2024-jul-q4} +exam-2024-jul-q4: {level: 3, prev: exam-2024-sep-q5, next: exam-2023-fall-ex0-q3} +exam-2023-fall-ex0-q3: {level: 3, prev: exam-2024-jul-q4, next: exam-2023-fall-ex1-q3} +exam-2023-fall-ex1-q3: {level: 3, prev: exam-2023-fall-ex0-q3, next: exam-2023-fall-ex1-q4} +exam-2023-fall-ex1-q4: {level: 3, prev: exam-2023-fall-ex1-q3, next: exam-2023-fall-ex2-q3} +exam-2023-fall-ex2-q3: {level: 3, prev: exam-2023-fall-ex1-q4, next: exam-2023-fall-ex5-q3} +exam-2023-fall-ex5-q3: {level: 3, prev: exam-2023-fall-ex2-q3, next: exam-2023-fall-ex5-q4} +exam-2023-fall-ex5-q4: {level: 3, prev: exam-2023-fall-ex5-q3, next: exam-2023-fall-ex6-q4} +exam-2023-fall-ex6-q4: {level: 3, prev: exam-2023-fall-ex5-q4, next: exam-2023-fall-ex8-q3} +exam-2023-fall-ex8-q3: {level: 3, prev: exam-2023-fall-ex6-q4, next: exam-2023-fall-ex8-q4} +exam-2023-fall-ex8-q4: {level: 3, prev: exam-2023-fall-ex8-q3, next: exam-2023-fall-ex9-q3} +exam-2023-fall-ex9-q3: {level: 3, prev: exam-2023-fall-ex8-q4, next: exam-2023-fall-ex9-q4} +exam-2023-fall-ex9-q4: {level: 3, prev: exam-2023-fall-ex9-q3, next: exam-2023-fall-ex10-q3} +exam-2023-fall-ex10-q3: {level: 3, prev: exam-2023-fall-ex9-q4, next: exam-2023-fall-ex10-q4} +exam-2023-fall-ex10-q4: {level: 3, prev: exam-2023-fall-ex10-q3, next: exam-2023-fall-ex11-q3} +exam-2023-fall-ex11-q3: {level: 3, prev: exam-2023-fall-ex10-q4, next: exam-2023-fall-ex13-q2} +exam-2023-fall-ex13-q2: {level: 3, prev: exam-2023-fall-ex11-q3, next: exam-2023-fall-ex13-q3} +exam-2023-fall-ex13-q3: {level: 3, prev: exam-2023-fall-ex13-q2, next: exam-2023-fall-ex14-q3} +exam-2023-fall-ex14-q3: {level: 3, prev: exam-2023-fall-ex13-q3, next: exam-2023-fall-ex15-q3} +exam-2023-fall-ex15-q3: {level: 3, prev: exam-2023-fall-ex14-q3} +exam-2026-sep-q5: {level: 4, next: exam-2026-jun-q4} +exam-2026-jun-q4: {level: 4, prev: exam-2026-sep-q5, next: exam-2026-jan-q5} +exam-2026-jan-q5: {level: 4, prev: exam-2026-jun-q4, next: exam-2025-sep-q5} +exam-2025-sep-q5: {level: 4, prev: exam-2026-jan-q5, next: exam-2025-jan-q6} +exam-2025-jan-q6: {level: 4, prev: exam-2025-sep-q5, next: exam-2024-dec-q3} +exam-2024-dec-q3: {level: 4, prev: exam-2025-jan-q6, next: exam-2024-dec-q4} +exam-2024-dec-q4: {level: 4, prev: exam-2024-dec-q3, next: exam-2024-sep-q6} +exam-2024-sep-q6: {level: 4, prev: exam-2024-dec-q4, next: exam-2024-jul-q3} +exam-2024-jul-q3: {level: 4, prev: exam-2024-sep-q6, next: exam-2023-dec-q3} +exam-2023-dec-q3: {level: 4, prev: exam-2024-jul-q3, next: exam-2023-dec-q4} +exam-2023-dec-q4: {level: 4, prev: exam-2023-dec-q3, next: exam-2023-fall-ex0-q4} +exam-2023-fall-ex0-q4: {level: 4, prev: exam-2023-dec-q4, next: exam-2023-fall-ex2-q4} +exam-2023-fall-ex2-q4: {level: 4, prev: exam-2023-fall-ex0-q4, next: exam-2023-fall-ex3-q4} +exam-2023-fall-ex3-q4: {level: 4, prev: exam-2023-fall-ex2-q4, next: exam-2023-fall-ex7-q3} +exam-2023-fall-ex7-q3: {level: 4, prev: exam-2023-fall-ex3-q4, next: exam-2023-fall-ex14-q4} +exam-2023-fall-ex14-q4: {level: 4, prev: exam-2023-fall-ex7-q3} diff --git a/_layouts/question.html b/_layouts/question.html index 34f8d04..2ef5b2b 100644 --- a/_layouts/question.html +++ b/_layouts/question.html @@ -11,6 +11,19 @@ +{% assign exam = site.data.exams[page.id] %} +{% if exam %} + +{% endif %} + {% assign ref = site.data.refs[page.id] %}

{% if ref %}{{ ref.label }} · {% endif %}{{ page.title }}

@@ -18,6 +31,7 @@

{% if ref %}{{ ref.label }} · {% endif %}{{ page.title }}

{% if page.source.url %}{{ page.source.title }}{% else %}{{ page.source.title }}{% endif %} · Δυσκολία {% case page.difficulty %}{% when 1 %}★☆☆{% when 2 %}★★☆{% else %}★★★{% endcase %} · {{ page.type }} + {% if exam %}· Επίπεδο {{ exam.level }}/4{% endif %} {% if page.stats %}· {{ page.stats.accuracy }}% σωστές απαντήσεις ({{ page.stats.responses }} απαντήσεις στο αμφιθέατρο){% endif %} · Κεφάλαια: {% for c in page.chapters %}{{ c }}{% unless forloop.last %}, {% endunless %}{% endfor %}

diff --git a/questions/README.md b/questions/README.md index 9cf5023..58d3bb0 100644 --- a/questions/README.md +++ b/questions/README.md @@ -8,6 +8,9 @@ (Kahoot), και ένα μόνιμο αναγνωριστικό, π.χ. `exam-2025-jan-q2`. Ο αριθμός ακολουθεί την τρέχουσα έκδοση του οδηγού· το αναγνωριστικό δεν αλλάζει ποτέ. +Τα θέματα εξετάσεων, ταξινομημένα σε τέσσερα επίπεδα δυσκολίας, είναι και στη σελίδα +[Θέματα εξετάσεων](exam-questions.md). + Σε μορφή για εργαλεία: [`questions.json`](https://progintro.github.io/study/downloads/questions.json). Στα θέματα της online εξέτασης Δεκεμβρίου 2023 (`exam-2023-fall-*`) ισχύει για όλες τις ασκήσεις: τα προγράμματα πρέπει να είναι ευανάγνωστα, αποδοτικά σε χώρο και χρόνο και να έχουν έξοδο ίδια με τα παραδείγματα εκτέλεσης. Για είσοδο εκτός προδιαγραφών το πρόγραμμα τερματίζει με exit code 1 και μήνυμα σφάλματος. diff --git a/questions/exam-questions.md b/questions/exam-questions.md new file mode 100644 index 0000000..1a33eb7 --- /dev/null +++ b/questions/exam-questions.md @@ -0,0 +1,144 @@ +# Θέματα εξετάσεων + + + +Όλα τα θέματα εξετάσεων προηγούμενων ετών (108), σε τέσσερα επίπεδα, από το +πιο εύκολο (1) στο πιο δύσκολο (4). Κάθε θέμα ανοίγει στη δική του σελίδα, με την +εκφώνηση και μια υπόδειξη, και από εκεί πηγαίνετε στο προηγούμενο ή στο επόμενο θέμα του +ίδιου επιπέδου. Όλες οι ασκήσεις του οδηγού, ανά κεφάλαιο, είναι στην +[τράπεζα ασκήσεων](./). + +1. [Σύντομες ερωτήσεις](#level-1) (14) +2. [Απλά προγράμματα με δεδομένα εισόδου](#level-2) (53) +3. [Δομές δεδομένων και δυναμική μνήμη](#level-3) (25) +4. [Τα δυσκολότερα θέματα](#level-4) (16) + +Στα θέματα της online εξέτασης Δεκεμβρίου 2023 (`exam-2023-fall-*`) ισχύει για όλες τις ασκήσεις: τα προγράμματα πρέπει να είναι ευανάγνωστα, αποδοτικά σε χώρο και χρόνο και να έχουν έξοδο ίδια με τα παραδείγματα εκτέλεσης. Για είσοδο εκτός προδιαγραφών το πρόγραμμα τερματίζει με exit code 1 και μήνυμα σφάλματος. + + + +## Επίπεδο 1: Σύντομες ερωτήσεις (14) + +1. **[Mystery](exams/exam-2026-sep-q1.md)** · Εξέταση Σεπτεμβρίου 2026, Θέμα 1 · Κεφ. [6](../chapters/06-control-flow/) · trace +2. **[Η συνάρτηση cons](exams/exam-2026-sep-q2.md)** · Εξέταση Σεπτεμβρίου 2026, Θέμα 2 · Κεφ. [10](../chapters/10-arrays/) · trace +3. **[Η συνάρτηση mystery](exams/exam-2026-jun-q1.md)** · Εξέταση Ιουνίου 2026, Θέμα 1 · Κεφ. [5](../chapters/05-operators-statements/) · trace +4. **[Η συνάρτηση paws](exams/exam-2026-jun-q2.md)** · Εξέταση Ιουνίου 2026, Θέμα 2 · Κεφ. [10](../chapters/10-arrays/) · debug +5. **[Mystery](exams/exam-2026-jan-q1.md)** · Εξέταση Ιανουαρίου 2026, Θέμα 1 · Κεφ. [5](../chapters/05-operators-statements/) · trace +6. **[Η συνάρτηση compute](exams/exam-2026-jan-q2.md)** · Εξέταση Ιανουαρίου 2026, Θέμα 2 · Κεφ. [17](../chapters/17-binary-search-sorting/) · trace +7. **[Ο Στέργιος Ξαναχτυπά](exams/exam-2026-jan-q6.md)** · Εξέταση Ιανουαρίου 2026, Θέμα 6 · Κεφ. [11](../chapters/11-pointers-recursion/) · trace +8. **[Mystery](exams/exam-2025-sep-q1.md)** · Εξέταση Σεπτεμβρίου 2025, Θέμα 1 · Κεφ. [6](../chapters/06-control-flow/) · trace +9. **[Η συνάρτηση transform](exams/exam-2025-sep-q2.md)** · Εξέταση Σεπτεμβρίου 2025, Θέμα 2 · Κεφ. [14](../chapters/14-scope-strings/) · trace +10. **[Mystery](exams/exam-2025-jan-q1.md)** · Εξέταση Ιανουαρίου 2025, Θέμα 1 · Κεφ. [5](../chapters/05-operators-statements/) · trace +11. **[Η συνάρτηση dog](exams/exam-2025-jan-q2.md)** · Εξέταση Ιανουαρίου 2025, Θέμα 2 · Κεφ. [14](../chapters/14-scope-strings/) · trace +12. **[Η συνάρτηση about](exams/exam-2024-sep-q1.md)** · Εξέταση Σεπτεμβρίου 2024, Θέμα 1 · Κεφ. [3](../chapters/03-functions/) · programming +13. **[Η συνάρτηση what](exams/exam-2024-sep-q2.md)** · Εξέταση Σεπτεμβρίου 2024, Θέμα 2 · Κεφ. [17](../chapters/17-binary-search-sorting/) · trace +14. **[Εύρεση μηδενός σε πίνακα](exams/exam-2024-sep-q3.md)** · Εξέταση Σεπτεμβρίου 2024, Θέμα 3 · Κεφ. [17](../chapters/17-binary-search-sorting/) · programming + + + +## Επίπεδο 2: Απλά προγράμματα με δεδομένα εισόδου (53) + +1. **[Το μεγαλύτερο άλμα - polevault](exams/exam-2026-sep-q3.md)** · Εξέταση Σεπτεμβρίου 2026, Θέμα 3 · Κεφ. [12](../chapters/12-pointers-arrays/) · programming +2. **[Επενδύσεις στο Χρηματιστήριο](exams/exam-2026-jun-q3.md)** · Εξέταση Ιουνίου 2026, Θέμα 3 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +3. **[Εύρεση Πρώτων Παραγόντων - factor](exams/exam-2026-jan-q3.md)** · Εξέταση Ιανουαρίου 2026, Θέμα 3 · Κεφ. [6](../chapters/06-control-flow/) · programming +4. **[Μέση Τιμή Τυχαίων Μεταβλητών - mean](exams/exam-2025-sep-q3.md)** · Εξέταση Σεπτεμβρίου 2025, Θέμα 3 · Κεφ. [12](../chapters/12-pointers-arrays/) · programming +5. **[Κινούμενος Μέσος Όρος - sma](exams/exam-2025-jan-q3.md)** · Εξέταση Ιανουαρίου 2025, Θέμα 3 · Κεφ. [12](../chapters/12-pointers-arrays/) · programming +6. **[Προσεγγίζοντας το π](exams/exam-2024-dec-q1.md)** · Κατατακτήριες Δεκεμβρίου 2024, Θέμα 1 · Κεφ. [6](../chapters/06-control-flow/) · programming +7. **[Οι Καλύτεροι Αριθμοί, Παμψηφεί](exams/exam-2024-dec-q2.md)** · Κατατακτήριες Δεκεμβρίου 2024, Θέμα 2 · Κεφ. [16](../chapters/16-problem-solving-2/) · programming +8. **[Μετρητής λέξεων](exams/exam-2024-sep-q4.md)** · Εξέταση Σεπτεμβρίου 2024, Θέμα 4 · Κεφ. [9](../chapters/09-input/) · programming +9. **[ASCII Encoding](exams/exam-2024-jul-q1.md)** · Εξέταση Ιουλίου 2024, Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +10. **[Στατιστικές](exams/exam-2024-jul-q2.md)** · Εξέταση Ιουλίου 2024, Θέμα 2 · Κεφ. [12](../chapters/12-pointers-arrays/) · programming +11. **[Κάντο όπως ο Βιετά](exams/exam-2023-dec-q1.md)** · Κατατακτήριες Δεκεμβρίου 2023, Θέμα 1 · Κεφ. [6](../chapters/06-control-flow/) · programming +12. **[Ραβασάκι](exams/exam-2023-fall-ex0-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #0 (Valentine's Themed), Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +13. **[Εαυτοί Αριθμοί](exams/exam-2023-dec-q2.md)** · Κατατακτήριες Δεκεμβρίου 2023, Θέμα 2 · Κεφ. [16](../chapters/16-problem-solving-2/) · programming +14. **[Ταιριαστές Καρδιές](exams/exam-2023-fall-ex0-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #0 (Valentine's Themed), Θέμα 2 · Κεφ. [14](../chapters/14-scope-strings/) · programming +15. **[Δεκαεξαδικοί](exams/exam-2023-fall-ex1-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #1 (Coreutils Themed), Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +16. **[Εντοπισμός Διπλών Ορισμάτων](exams/exam-2023-fall-ex1-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #1 (Coreutils Themed), Θέμα 2 · Κεφ. [14](../chapters/14-scope-strings/) · programming +17. **[Pikaκίστικα](exams/exam-2023-fall-ex2-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #2 (Pokémon Themed), Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +18. **[Τουρνουά](exams/exam-2023-fall-ex2-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #2 (Pokémon Themed), Θέμα 2 · Κεφ. [12](../chapters/12-pointers-arrays/) · programming +19. **[Προσθήκη Νιφάδων](exams/exam-2023-fall-ex3-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #3 (Frozen Themed), Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +20. **[Φορτωμένο Έλκηθρο](exams/exam-2023-fall-ex3-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #3 (Frozen Themed), Θέμα 2 · Κεφ. [10](../chapters/10-arrays/) · programming +21. **[Εύρεση Λέξεων](exams/exam-2023-fall-ex3-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #3 (Frozen Themed), Θέμα 3 · Κεφ. [14](../chapters/14-scope-strings/) · programming +22. **[Αναγράμματα](exams/exam-2023-fall-ex4-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #4 (Rick Astley Themed), Θέμα 1 · Κεφ. [10](../chapters/10-arrays/) · programming +23. **[Τα Πάνω Κάτω](exams/exam-2023-fall-ex4-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #4 (Rick Astley Themed), Θέμα 2 · Κεφ. [14](../chapters/14-scope-strings/) · programming +24. **[Rickroll Τριπλέτες](exams/exam-2023-fall-ex4-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #4 (Rick Astley Themed), Θέμα 3 · Κεφ. [2](../chapters/02-memory-variables/) · programming +25. **[Αλλαγή Μεγέθους](exams/exam-2023-fall-ex4-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #4 (Rick Astley Themed), Θέμα 4 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +26. **[Αναποδογύρισμα](exams/exam-2023-fall-ex5-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #5 (HP Themed), Θέμα 1 · Κεφ. [10](../chapters/10-arrays/) · programming +27. **[Μαγικό Ζευγάρι](exams/exam-2023-fall-ex5-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #5 (HP Themed), Θέμα 2 · Κεφ. [10](../chapters/10-arrays/) · programming +28. **[Μέγιστος Κοινός Διαιρέτης](exams/exam-2023-fall-ex6-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #6 (Crypto Themed), Θέμα 1 · Κεφ. [6](../chapters/06-control-flow/) · programming +29. **[Μήνυμα από τον Καίσαρα](exams/exam-2023-fall-ex6-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #6 (Crypto Themed), Θέμα 2 · Κεφ. [9](../chapters/09-input/) · programming +30. **[Σπάσε το PIN](exams/exam-2023-fall-ex6-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #6 (Crypto Themed), Θέμα 3 · Κεφ. [14](../chapters/14-scope-strings/) · programming +31. **[Ανάβεις Φωτιές](exams/exam-2023-fall-ex7-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #7 (Star Wars Themed), Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +32. **[Κρυφό Μήνυμα](exams/exam-2023-fall-ex7-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #7 (Star Wars Themed), Θέμα 2 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +33. **[Κόψιμο Αρχείων](exams/exam-2023-fall-ex7-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #7 (Star Wars Themed), Θέμα 4 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +34. **[Άρτια Bits](exams/exam-2023-fall-ex8-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #8, Θέμα 1 · Κεφ. [4](../chapters/04-git-operators/) · programming +35. **[Αποκωδικοποίηση](exams/exam-2023-fall-ex8-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #8, Θέμα 2 · Κεφ. [9](../chapters/09-input/) · programming +36. **[Έλεγχος Εκτελέσιμου](exams/exam-2023-fall-ex9-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #9, Θέμα 1 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +37. **[Πετυχαίνοντας τον Στόχο](exams/exam-2023-fall-ex9-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #9, Θέμα 2 · Κεφ. [6](../chapters/06-control-flow/) · programming +38. **[Αφαίρεση Μη Λατινικών Χαρακτήρων](exams/exam-2023-fall-ex10-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #10, Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +39. **[Ασημένιο Κλάσμα](exams/exam-2023-fall-ex10-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #10, Θέμα 2 · Κεφ. [6](../chapters/06-control-flow/) · programming +40. **[Αναζητώντας τον Blinky](exams/exam-2023-fall-ex11-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #11, Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +41. **[Τοποθέτηση του Pacman](exams/exam-2023-fall-ex11-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #11, Θέμα 2 · Κεφ. [10](../chapters/10-arrays/) · programming +42. **[Clyde Πρώτοι](exams/exam-2023-fall-ex11-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #11, Θέμα 4 · Κεφ. [16](../chapters/16-problem-solving-2/) · programming +43. **[Γραμμή και Γράμμα](exams/exam-2023-fall-ex12-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #12, Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +44. **[Προσεγγίζοντας την Λέξη](exams/exam-2023-fall-ex12-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #12, Θέμα 2 · Κεφ. [14](../chapters/14-scope-strings/) · programming +45. **[Κρεμάλα](exams/exam-2023-fall-ex12-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #12, Θέμα 3 · Κεφ. [14](../chapters/14-scope-strings/) · programming +46. **[Εαυτοί Αριθμοί](exams/exam-2023-fall-ex12-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #12, Θέμα 4 · Κεφ. [16](../chapters/16-problem-solving-2/) · programming +47. **[Κάντο όπως ο Βιετά](exams/exam-2023-fall-ex13-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #13, Θέμα 1 · Κεφ. [6](../chapters/06-control-flow/) · programming +48. **[Τυχεροί Αριθμοί](exams/exam-2023-fall-ex13-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #13, Θέμα 4 · Κεφ. [16](../chapters/16-problem-solving-2/) · programming +49. **[Ορεκτικό](exams/exam-2023-fall-ex14-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #14, Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +50. **[Μένοντας στις Σωστές Θερμίδες](exams/exam-2023-fall-ex14-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #14, Θέμα 2 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +51. **[Πλαγιαστά Γράμματα](exams/exam-2023-fall-ex15-q1.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #15, Θέμα 1 · Κεφ. [9](../chapters/09-input/) · programming +52. **[Τυπώνοντας τον Πίνακα ASCII](exams/exam-2023-fall-ex15-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #15, Θέμα 2 · Κεφ. [6](../chapters/06-control-flow/) · programming +53. **[Δυνατότητες](exams/exam-2023-fall-ex15-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #15, Θέμα 4 · Κεφ. [14](../chapters/14-scope-strings/) · programming + + + +## Επίπεδο 3: Δομές δεδομένων και δυναμική μνήμη (25) + +1. **[Ν-οστό Στοιχείο Λίστας](exams/exam-2026-sep-q4.md)** · Εξέταση Σεπτεμβρίου 2026, Θέμα 4 · Κεφ. [21](../chapters/21-lists-trees/) · programming +2. **[Διερμηνέας Αριθμητικών Εκφράσεων - eval](exams/exam-2026-jan-q4.md)** · Εξέταση Ιανουαρίου 2026, Θέμα 4 · Κεφ. [22](../chapters/22-trees/) · programming +3. **[Μεσαίο Στοιχείο Λίστας](exams/exam-2025-sep-q4.md)** · Εξέταση Σεπτεμβρίου 2025, Θέμα 4 · Κεφ. [21](../chapters/21-lists-trees/) · programming +4. **[Αθροιστής Δέντρων - sumtree](exams/exam-2025-jan-q4.md)** · Εξέταση Ιανουαρίου 2025, Θέμα 4 · Κεφ. [22](../chapters/22-trees/) · programming +5. **[Συνένωση Αλφαριθμητικών - join](exams/exam-2025-jan-q5.md)** · Εξέταση Ιανουαρίου 2025, Θέμα 5 · Κεφ. [14](../chapters/14-scope-strings/) · programming +6. **[Αντιστροφή λίστας](exams/exam-2024-sep-q5.md)** · Εξέταση Σεπτεμβρίου 2024, Θέμα 5 · Κεφ. [21](../chapters/21-lists-trees/) · programming +7. **[Reverse Inorder Traversal](exams/exam-2024-jul-q4.md)** · Εξέταση Ιουλίου 2024, Θέμα 4 · Κεφ. [22](../chapters/22-trees/) · programming +8. **[Καλύτερο Ταίριασμα](exams/exam-2023-fall-ex0-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #0 (Valentine's Themed), Θέμα 3 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +9. **[Περιστροφή Πίνακα](exams/exam-2023-fall-ex1-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #1 (Coreutils Themed), Θέμα 3 · Κεφ. [12](../chapters/12-pointers-arrays/) · programming +10. **[Debugging](exams/exam-2023-fall-ex1-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #1 (Coreutils Themed), Θέμα 4 · Κεφ. [13](../chapters/13-memory/) · debug +11. **[Μίνι Βάση Δεδομένων](exams/exam-2023-fall-ex2-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #2 (Pokémon Themed), Θέμα 3 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +12. **[Επιλογή](exams/exam-2023-fall-ex5-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #5 (HP Themed), Θέμα 3 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +13. **[Μεταμορφώσιμες Προτάσεις](exams/exam-2023-fall-ex5-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #5 (HP Themed), Θέμα 4 · Κεφ. [14](../chapters/14-scope-strings/) · programming +14. **[Ταξινόμηση Αρχείων Καταγραφής](exams/exam-2023-fall-ex6-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #6 (Crypto Themed), Θέμα 4 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +15. **[Πολλαπλασιασμός Πινάκων](exams/exam-2023-fall-ex8-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #8, Θέμα 3 · Κεφ. [12](../chapters/12-pointers-arrays/) · programming +16. **[Ταξινόμηση Πακέτων](exams/exam-2023-fall-ex8-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #8, Θέμα 4 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +17. **[Πολύτιμοι Πίνακες](exams/exam-2023-fall-ex9-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #9, Θέμα 3 · Κεφ. [12](../chapters/12-pointers-arrays/) · programming +18. **[Κάδρο](exams/exam-2023-fall-ex9-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #9, Θέμα 4 · Κεφ. [13](../chapters/13-memory/) · programming +19. **[Κρυμμένο Μήνυμα](exams/exam-2023-fall-ex10-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #10, Θέμα 3 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +20. **[Πλησιάζοντας στον Στόχο](exams/exam-2023-fall-ex10-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #10, Θέμα 4 · Κεφ. [17](../chapters/17-binary-search-sorting/) · programming +21. **[Κινήσεις σε Πλέγμα](exams/exam-2023-fall-ex11-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #11, Θέμα 3 · Κεφ. [12](../chapters/12-pointers-arrays/) · programming +22. **[Αλλαγή Τέρματος](exams/exam-2023-fall-ex13-q2.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #13, Θέμα 2 · Κεφ. [12](../chapters/12-pointers-arrays/) · programming +23. **[Πρωτάθλημα](exams/exam-2023-fall-ex13-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #13, Θέμα 3 · Κεφ. [19](../chapters/19-structs/) · programming +24. **[Μετρήσεις Θερμοκρασίας](exams/exam-2023-fall-ex14-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #14, Θέμα 3 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming +25. **[Ταξινομώντας τα Άλματα](exams/exam-2023-fall-ex15-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #15, Θέμα 3 · Κεφ. [18](../chapters/18-sorting-input-2/) · programming + + + +## Επίπεδο 4: Τα δυσκολότερα θέματα (16) + +1. **[Η Μεγαλύτερη Χωρητικότητα - capacity](exams/exam-2026-sep-q5.md)** · Εξέταση Σεπτεμβρίου 2026, Θέμα 5 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +2. **[World Cup 2026](exams/exam-2026-jun-q4.md)** · Εξέταση Ιουνίου 2026, Θέμα 4 · Κεφ. [19](../chapters/19-structs/) · programming +3. **[Περικύκλωση - encirclement](exams/exam-2026-jan-q5.md)** · Εξέταση Ιανουαρίου 2026, Θέμα 5 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +4. **[Το Καλό το Μονοπάτι - path](exams/exam-2025-sep-q5.md)** · Εξέταση Σεπτεμβρίου 2025, Θέμα 5 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +5. **[Μετρώντας τα Αστέρια - stars](exams/exam-2025-jan-q6.md)** · Εξέταση Ιανουαρίου 2025, Θέμα 6 · Κεφ. [16](../chapters/16-problem-solving-2/) · programming +6. **[Η Τριπλέτα Στόχος](exams/exam-2024-dec-q3.md)** · Κατατακτήριες Δεκεμβρίου 2024, Θέμα 3 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +7. **[Λύσε τον Λαβύρινθο](exams/exam-2024-dec-q4.md)** · Κατατακτήριες Δεκεμβρίου 2024, Θέμα 4 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +8. **[Γεμίζοντας με χρώμα](exams/exam-2024-sep-q6.md)** · Εξέταση Σεπτεμβρίου 2024, Θέμα 6 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +9. **[Βέλτιστη Μοιρασιά Πίτσας](exams/exam-2024-jul-q3.md)** · Εξέταση Ιουλίου 2024, Θέμα 3 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +10. **[Σκαλί-Σκαλί](exams/exam-2023-dec-q3.md)** · Κατατακτήριες Δεκεμβρίου 2023, Θέμα 3 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +11. **[Το Νερό Νεράκι](exams/exam-2023-dec-q4.md)** · Κατατακτήριες Δεκεμβρίου 2023, Θέμα 4 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +12. **[Αγαπήσιμοι Αριθμοί](exams/exam-2023-fall-ex0-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #0 (Valentine's Themed), Θέμα 4 · Κεφ. [16](../chapters/16-problem-solving-2/) · programming +13. **[Ανεβαίνοντας Επίπεδο](exams/exam-2023-fall-ex2-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #2 (Pokémon Themed), Θέμα 4 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming +14. **[Χτίζοντας έναν Χιονάνθρωπο](exams/exam-2023-fall-ex3-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #3 (Frozen Themed), Θέμα 4 · Κεφ. [16](../chapters/16-problem-solving-2/) · programming +15. **[Δίδυμοι Πρώτοι](exams/exam-2023-fall-ex7-q3.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #7 (Star Wars Themed), Θέμα 3 · Κεφ. [15](../chapters/15-complexity-preprocessor/) · programming +16. **[Τρόποι να Φάμε Παϊδάκια](exams/exam-2023-fall-ex14-q4.md)** · Online τελική εξέταση Δεκεμβρίου 2023, Εξέταση #14, Θέμα 4 · Κεφ. [25](../chapters/25-problem-solving-3/) · programming diff --git a/questions/exams/exam-2023-dec-q1.md b/questions/exams/exam-2023-dec-q1.md index cfea8d2..c4ffe40 100644 --- a/questions/exams/exam-2023-dec-q1.md +++ b/questions/exams/exam-2023-dec-q1.md @@ -9,6 +9,7 @@ source: chapters: [6, 3, 4] topics: [floating-point, loops, command-line-args, math-algorithms] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-dec-q2.md b/questions/exams/exam-2023-dec-q2.md index 5cb07ef..94ccdfc 100644 --- a/questions/exams/exam-2023-dec-q2.md +++ b/questions/exams/exam-2023-dec-q2.md @@ -9,6 +9,7 @@ source: chapters: [16, 4] topics: [math-algorithms, loops, command-line-args] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-dec-q3.md b/questions/exams/exam-2023-dec-q3.md index 6e2c580..9688f53 100644 --- a/questions/exams/exam-2023-dec-q3.md +++ b/questions/exams/exam-2023-dec-q3.md @@ -9,6 +9,7 @@ source: chapters: [25, 16, 11] topics: [dynamic-programming, recursion, complexity, integer-representation] difficulty: 2 +level: 4 type: programming --- diff --git a/questions/exams/exam-2023-dec-q4.md b/questions/exams/exam-2023-dec-q4.md index 5b06273..9f95291 100644 --- a/questions/exams/exam-2023-dec-q4.md +++ b/questions/exams/exam-2023-dec-q4.md @@ -9,6 +9,7 @@ source: chapters: [25, 15, 13] topics: [arrays, complexity, dynamic-memory, problem-solving] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex0-q1.md b/questions/exams/exam-2023-fall-ex0-q1.md index d67b3f6..791536e 100644 --- a/questions/exams/exam-2023-fall-ex0-q1.md +++ b/questions/exams/exam-2023-fall-ex0-q1.md @@ -9,6 +9,7 @@ source: chapters: [9] topics: [input-output] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex0-q2.md b/questions/exams/exam-2023-fall-ex0-q2.md index 716be2a..850844d 100644 --- a/questions/exams/exam-2023-fall-ex0-q2.md +++ b/questions/exams/exam-2023-fall-ex0-q2.md @@ -9,6 +9,7 @@ source: chapters: [14, 12] topics: [strings, command-line-args] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex0-q3.md b/questions/exams/exam-2023-fall-ex0-q3.md index b3d66e8..12ed5e6 100644 --- a/questions/exams/exam-2023-fall-ex0-q3.md +++ b/questions/exams/exam-2023-fall-ex0-q3.md @@ -9,6 +9,7 @@ source: chapters: [18, 19, 13] topics: [sorting, files, structs, dynamic-memory] difficulty: 3 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex0-q4.md b/questions/exams/exam-2023-fall-ex0-q4.md index 239db01..14d1628 100644 --- a/questions/exams/exam-2023-fall-ex0-q4.md +++ b/questions/exams/exam-2023-fall-ex0-q4.md @@ -9,6 +9,7 @@ source: chapters: [16, 2] topics: [math-algorithms, integer-representation, complexity] difficulty: 2 +level: 4 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex1-q1.md b/questions/exams/exam-2023-fall-ex1-q1.md index 935014a..d50ad8d 100644 --- a/questions/exams/exam-2023-fall-ex1-q1.md +++ b/questions/exams/exam-2023-fall-ex1-q1.md @@ -9,6 +9,7 @@ source: chapters: [9, 2] topics: [input-output, computers] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex1-q2.md b/questions/exams/exam-2023-fall-ex1-q2.md index c1e18f8..ff8fbc7 100644 --- a/questions/exams/exam-2023-fall-ex1-q2.md +++ b/questions/exams/exam-2023-fall-ex1-q2.md @@ -9,6 +9,7 @@ source: chapters: [14, 12] topics: [strings, command-line-args] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex1-q3.md b/questions/exams/exam-2023-fall-ex1-q3.md index 54c60c0..f695693 100644 --- a/questions/exams/exam-2023-fall-ex1-q3.md +++ b/questions/exams/exam-2023-fall-ex1-q3.md @@ -9,6 +9,7 @@ source: chapters: [12, 18, 13] topics: [multidim-arrays, files, dynamic-memory] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex1-q4.md b/questions/exams/exam-2023-fall-ex1-q4.md index c7d57cd..82372ae 100644 --- a/questions/exams/exam-2023-fall-ex1-q4.md +++ b/questions/exams/exam-2023-fall-ex1-q4.md @@ -9,6 +9,7 @@ source: chapters: [13, 21] topics: [dynamic-memory, memory-model, linked-lists, debugging] difficulty: 2 +level: 3 type: debug --- diff --git a/questions/exams/exam-2023-fall-ex10-q1.md b/questions/exams/exam-2023-fall-ex10-q1.md index 9f7b0e6..7103cc3 100644 --- a/questions/exams/exam-2023-fall-ex10-q1.md +++ b/questions/exams/exam-2023-fall-ex10-q1.md @@ -9,6 +9,7 @@ source: chapters: [9] topics: [input-output] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex10-q2.md b/questions/exams/exam-2023-fall-ex10-q2.md index 5e93ba6..788324e 100644 --- a/questions/exams/exam-2023-fall-ex10-q2.md +++ b/questions/exams/exam-2023-fall-ex10-q2.md @@ -9,6 +9,7 @@ source: chapters: [6, 3, 4] topics: [floating-point, loops, math-algorithms] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex10-q3.md b/questions/exams/exam-2023-fall-ex10-q3.md index 4ead59b..358f653 100644 --- a/questions/exams/exam-2023-fall-ex10-q3.md +++ b/questions/exams/exam-2023-fall-ex10-q3.md @@ -9,6 +9,7 @@ source: chapters: [18, 14, 13] topics: [files, strings, dynamic-memory, command-line-args] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex10-q4.md b/questions/exams/exam-2023-fall-ex10-q4.md index 8d2da91..b7b6d4b 100644 --- a/questions/exams/exam-2023-fall-ex10-q4.md +++ b/questions/exams/exam-2023-fall-ex10-q4.md @@ -9,6 +9,7 @@ source: chapters: [17, 19, 12] topics: [sorting, structs, command-line-args, floating-point] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex11-q1.md b/questions/exams/exam-2023-fall-ex11-q1.md index 55ab3e8..766ad1f 100644 --- a/questions/exams/exam-2023-fall-ex11-q1.md +++ b/questions/exams/exam-2023-fall-ex11-q1.md @@ -9,6 +9,7 @@ source: chapters: [9, 14] topics: [input-output, strings] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex11-q2.md b/questions/exams/exam-2023-fall-ex11-q2.md index ea562f9..72f6960 100644 --- a/questions/exams/exam-2023-fall-ex11-q2.md +++ b/questions/exams/exam-2023-fall-ex11-q2.md @@ -9,6 +9,7 @@ source: chapters: [10, 12] topics: [arrays, command-line-args] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex11-q3.md b/questions/exams/exam-2023-fall-ex11-q3.md index f6fa8af..c4d0879 100644 --- a/questions/exams/exam-2023-fall-ex11-q3.md +++ b/questions/exams/exam-2023-fall-ex11-q3.md @@ -9,6 +9,7 @@ source: chapters: [12, 18] topics: [multidim-arrays, files, simulation] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex11-q4.md b/questions/exams/exam-2023-fall-ex11-q4.md index 89de252..ed2a35d 100644 --- a/questions/exams/exam-2023-fall-ex11-q4.md +++ b/questions/exams/exam-2023-fall-ex11-q4.md @@ -9,6 +9,7 @@ source: chapters: [16, 2] topics: [math-algorithms, loops, integer-representation] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex12-q1.md b/questions/exams/exam-2023-fall-ex12-q1.md index 039c36f..b689910 100644 --- a/questions/exams/exam-2023-fall-ex12-q1.md +++ b/questions/exams/exam-2023-fall-ex12-q1.md @@ -9,6 +9,7 @@ source: chapters: [9, 10] topics: [input-output, arrays] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex12-q2.md b/questions/exams/exam-2023-fall-ex12-q2.md index e5fca89..ce41a7c 100644 --- a/questions/exams/exam-2023-fall-ex12-q2.md +++ b/questions/exams/exam-2023-fall-ex12-q2.md @@ -9,6 +9,7 @@ source: chapters: [14, 10] topics: [strings, command-line-args, arrays] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex12-q3.md b/questions/exams/exam-2023-fall-ex12-q3.md index 42014fa..c97c56a 100644 --- a/questions/exams/exam-2023-fall-ex12-q3.md +++ b/questions/exams/exam-2023-fall-ex12-q3.md @@ -9,6 +9,7 @@ source: chapters: [14, 18] topics: [strings, files] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex12-q4.md b/questions/exams/exam-2023-fall-ex12-q4.md index 94a3213..34a69f2 100644 --- a/questions/exams/exam-2023-fall-ex12-q4.md +++ b/questions/exams/exam-2023-fall-ex12-q4.md @@ -9,6 +9,7 @@ source: chapters: [16, 10] topics: [math-algorithms, arrays, loops] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex13-q1.md b/questions/exams/exam-2023-fall-ex13-q1.md index c366cb4..3ffdba4 100644 --- a/questions/exams/exam-2023-fall-ex13-q1.md +++ b/questions/exams/exam-2023-fall-ex13-q1.md @@ -9,6 +9,7 @@ source: chapters: [6, 3, 4] topics: [floating-point, loops, math-algorithms] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex13-q2.md b/questions/exams/exam-2023-fall-ex13-q2.md index 15c7c7b..5a00217 100644 --- a/questions/exams/exam-2023-fall-ex13-q2.md +++ b/questions/exams/exam-2023-fall-ex13-q2.md @@ -9,6 +9,7 @@ source: chapters: [12, 9, 13] topics: [multidim-arrays, dynamic-memory, input-output, input-validation] difficulty: 1 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex13-q3.md b/questions/exams/exam-2023-fall-ex13-q3.md index 51a7b3c..3c0c5b2 100644 --- a/questions/exams/exam-2023-fall-ex13-q3.md +++ b/questions/exams/exam-2023-fall-ex13-q3.md @@ -9,6 +9,7 @@ source: chapters: [19, 17, 18] topics: [structs, sorting, files, strings] difficulty: 3 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex13-q4.md b/questions/exams/exam-2023-fall-ex13-q4.md index 6038b58..4665e1d 100644 --- a/questions/exams/exam-2023-fall-ex13-q4.md +++ b/questions/exams/exam-2023-fall-ex13-q4.md @@ -9,6 +9,7 @@ source: chapters: [16, 2] topics: [math-algorithms, loops, integer-representation, floating-point] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex14-q1.md b/questions/exams/exam-2023-fall-ex14-q1.md index 3117381..8b73eaf 100644 --- a/questions/exams/exam-2023-fall-ex14-q1.md +++ b/questions/exams/exam-2023-fall-ex14-q1.md @@ -9,6 +9,7 @@ source: chapters: [9] topics: [input-output] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex14-q2.md b/questions/exams/exam-2023-fall-ex14-q2.md index fe85b45..910954f 100644 --- a/questions/exams/exam-2023-fall-ex14-q2.md +++ b/questions/exams/exam-2023-fall-ex14-q2.md @@ -9,6 +9,7 @@ source: chapters: [25, 17] topics: [sorting, problem-solving, command-line-args, input-validation] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex14-q3.md b/questions/exams/exam-2023-fall-ex14-q3.md index 1ae2b54..2f7dc9a 100644 --- a/questions/exams/exam-2023-fall-ex14-q3.md +++ b/questions/exams/exam-2023-fall-ex14-q3.md @@ -9,6 +9,7 @@ source: chapters: [18, 19, 17] topics: [sorting, structs, files, floating-point] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex14-q4.md b/questions/exams/exam-2023-fall-ex14-q4.md index af93899..40728ee 100644 --- a/questions/exams/exam-2023-fall-ex14-q4.md +++ b/questions/exams/exam-2023-fall-ex14-q4.md @@ -9,6 +9,7 @@ source: chapters: [25, 16] topics: [dynamic-programming, recursion, math-algorithms, integer-representation] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex15-q1.md b/questions/exams/exam-2023-fall-ex15-q1.md index 41185ad..2c4a842 100644 --- a/questions/exams/exam-2023-fall-ex15-q1.md +++ b/questions/exams/exam-2023-fall-ex15-q1.md @@ -9,6 +9,7 @@ source: chapters: [9] topics: [input-output] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex15-q2.md b/questions/exams/exam-2023-fall-ex15-q2.md index ccc7c2b..ec59826 100644 --- a/questions/exams/exam-2023-fall-ex15-q2.md +++ b/questions/exams/exam-2023-fall-ex15-q2.md @@ -9,6 +9,7 @@ source: chapters: [6, 2, 4] topics: [loops, input-output, computers, command-line-args] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex15-q3.md b/questions/exams/exam-2023-fall-ex15-q3.md index dc9557c..9774341 100644 --- a/questions/exams/exam-2023-fall-ex15-q3.md +++ b/questions/exams/exam-2023-fall-ex15-q3.md @@ -9,6 +9,7 @@ source: chapters: [18, 19, 17] topics: [files, structs, sorting, strings] difficulty: 3 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex15-q4.md b/questions/exams/exam-2023-fall-ex15-q4.md index ffd23ba..b724a3f 100644 --- a/questions/exams/exam-2023-fall-ex15-q4.md +++ b/questions/exams/exam-2023-fall-ex15-q4.md @@ -9,6 +9,7 @@ source: chapters: [14, 18] topics: [strings, files, command-line-args] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex2-q1.md b/questions/exams/exam-2023-fall-ex2-q1.md index 02f1b5b..2ac0c66 100644 --- a/questions/exams/exam-2023-fall-ex2-q1.md +++ b/questions/exams/exam-2023-fall-ex2-q1.md @@ -9,6 +9,7 @@ source: chapters: [9] topics: [input-output] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex2-q2.md b/questions/exams/exam-2023-fall-ex2-q2.md index 4d65031..f4050fc 100644 --- a/questions/exams/exam-2023-fall-ex2-q2.md +++ b/questions/exams/exam-2023-fall-ex2-q2.md @@ -9,6 +9,7 @@ source: chapters: [12, 8] topics: [command-line-args, loops, strings] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex2-q3.md b/questions/exams/exam-2023-fall-ex2-q3.md index f46fd11..ed5b0be 100644 --- a/questions/exams/exam-2023-fall-ex2-q3.md +++ b/questions/exams/exam-2023-fall-ex2-q3.md @@ -9,6 +9,7 @@ source: chapters: [18, 19, 13] topics: [files, structs, sorting] difficulty: 3 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex2-q4.md b/questions/exams/exam-2023-fall-ex2-q4.md index 967949a..9bcc273 100644 --- a/questions/exams/exam-2023-fall-ex2-q4.md +++ b/questions/exams/exam-2023-fall-ex2-q4.md @@ -9,6 +9,7 @@ source: chapters: [25, 16, 11] topics: [dynamic-programming, recursion, complexity, integer-representation] difficulty: 2 +level: 4 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex3-q1.md b/questions/exams/exam-2023-fall-ex3-q1.md index 370d575..a89d80c 100644 --- a/questions/exams/exam-2023-fall-ex3-q1.md +++ b/questions/exams/exam-2023-fall-ex3-q1.md @@ -9,6 +9,7 @@ source: chapters: [9] topics: [input-output] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex3-q2.md b/questions/exams/exam-2023-fall-ex3-q2.md index 1b0608e..248a7a1 100644 --- a/questions/exams/exam-2023-fall-ex3-q2.md +++ b/questions/exams/exam-2023-fall-ex3-q2.md @@ -9,6 +9,7 @@ source: chapters: [10, 12] topics: [arrays, loops, command-line-args, input-validation] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex3-q3.md b/questions/exams/exam-2023-fall-ex3-q3.md index cdb0eb5..0a5af14 100644 --- a/questions/exams/exam-2023-fall-ex3-q3.md +++ b/questions/exams/exam-2023-fall-ex3-q3.md @@ -9,6 +9,7 @@ source: chapters: [14, 18] topics: [strings, files] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex3-q4.md b/questions/exams/exam-2023-fall-ex3-q4.md index 1afd59a..8d77c76 100644 --- a/questions/exams/exam-2023-fall-ex3-q4.md +++ b/questions/exams/exam-2023-fall-ex3-q4.md @@ -9,6 +9,7 @@ source: chapters: [16, 17, 18] topics: [problem-solving, complexity, sorting, files] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex4-q1.md b/questions/exams/exam-2023-fall-ex4-q1.md index 4553be2..5d87270 100644 --- a/questions/exams/exam-2023-fall-ex4-q1.md +++ b/questions/exams/exam-2023-fall-ex4-q1.md @@ -9,6 +9,7 @@ source: chapters: [10, 14] topics: [arrays, strings, command-line-args] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex4-q2.md b/questions/exams/exam-2023-fall-ex4-q2.md index 90fc788..ce4067a 100644 --- a/questions/exams/exam-2023-fall-ex4-q2.md +++ b/questions/exams/exam-2023-fall-ex4-q2.md @@ -9,6 +9,7 @@ source: chapters: [14, 9] topics: [strings, input-output] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex4-q3.md b/questions/exams/exam-2023-fall-ex4-q3.md index e827a3e..dca7d2b 100644 --- a/questions/exams/exam-2023-fall-ex4-q3.md +++ b/questions/exams/exam-2023-fall-ex4-q3.md @@ -9,6 +9,7 @@ source: chapters: [2, 5] topics: [integer-representation, bitwise, loops] difficulty: 3 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex4-q4.md b/questions/exams/exam-2023-fall-ex4-q4.md index df80330..2153e83 100644 --- a/questions/exams/exam-2023-fall-ex4-q4.md +++ b/questions/exams/exam-2023-fall-ex4-q4.md @@ -9,6 +9,7 @@ source: chapters: [18, 12] topics: [files, bitwise, command-line-args] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex5-q1.md b/questions/exams/exam-2023-fall-ex5-q1.md index 2de1249..ffdd0e1 100644 --- a/questions/exams/exam-2023-fall-ex5-q1.md +++ b/questions/exams/exam-2023-fall-ex5-q1.md @@ -9,6 +9,7 @@ source: chapters: [10, 9] topics: [arrays, input-output] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex5-q2.md b/questions/exams/exam-2023-fall-ex5-q2.md index 7a8d10b..fcd7dce 100644 --- a/questions/exams/exam-2023-fall-ex5-q2.md +++ b/questions/exams/exam-2023-fall-ex5-q2.md @@ -9,6 +9,7 @@ source: chapters: [10, 12] topics: [arrays, command-line-args, input-validation] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex5-q3.md b/questions/exams/exam-2023-fall-ex5-q3.md index 5b8747d..71cf09e 100644 --- a/questions/exams/exam-2023-fall-ex5-q3.md +++ b/questions/exams/exam-2023-fall-ex5-q3.md @@ -9,6 +9,7 @@ source: chapters: [18, 14] topics: [files, strings, floating-point] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex5-q4.md b/questions/exams/exam-2023-fall-ex5-q4.md index cb7fd06..0db37f7 100644 --- a/questions/exams/exam-2023-fall-ex5-q4.md +++ b/questions/exams/exam-2023-fall-ex5-q4.md @@ -9,6 +9,7 @@ source: chapters: [14, 12] topics: [strings, command-line-args, arrays] difficulty: 3 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex6-q1.md b/questions/exams/exam-2023-fall-ex6-q1.md index 7025aa8..c85f71d 100644 --- a/questions/exams/exam-2023-fall-ex6-q1.md +++ b/questions/exams/exam-2023-fall-ex6-q1.md @@ -9,6 +9,7 @@ source: chapters: [6, 4, 2] topics: [math-algorithms, command-line-args, input-validation, integer-representation] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex6-q2.md b/questions/exams/exam-2023-fall-ex6-q2.md index e9e27c6..c9610b2 100644 --- a/questions/exams/exam-2023-fall-ex6-q2.md +++ b/questions/exams/exam-2023-fall-ex6-q2.md @@ -9,6 +9,7 @@ source: chapters: [9, 5] topics: [input-output, operators] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex6-q3.md b/questions/exams/exam-2023-fall-ex6-q3.md index c917af4..8278db6 100644 --- a/questions/exams/exam-2023-fall-ex6-q3.md +++ b/questions/exams/exam-2023-fall-ex6-q3.md @@ -9,6 +9,7 @@ source: chapters: [14, 8] topics: [problem-solving, strings, loops] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex6-q4.md b/questions/exams/exam-2023-fall-ex6-q4.md index e86b2b5..ebc0218 100644 --- a/questions/exams/exam-2023-fall-ex6-q4.md +++ b/questions/exams/exam-2023-fall-ex6-q4.md @@ -9,6 +9,7 @@ source: chapters: [18, 13, 14] topics: [sorting, files, strings] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex7-q1.md b/questions/exams/exam-2023-fall-ex7-q1.md index bc9cf84..24a4e34 100644 --- a/questions/exams/exam-2023-fall-ex7-q1.md +++ b/questions/exams/exam-2023-fall-ex7-q1.md @@ -9,6 +9,7 @@ source: chapters: [9] topics: [input-output] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex7-q2.md b/questions/exams/exam-2023-fall-ex7-q2.md index 205efce..0a14678 100644 --- a/questions/exams/exam-2023-fall-ex7-q2.md +++ b/questions/exams/exam-2023-fall-ex7-q2.md @@ -9,6 +9,7 @@ source: chapters: [18, 5] topics: [files, bitwise, command-line-args] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex7-q3.md b/questions/exams/exam-2023-fall-ex7-q3.md index 468c744..3efd522 100644 --- a/questions/exams/exam-2023-fall-ex7-q3.md +++ b/questions/exams/exam-2023-fall-ex7-q3.md @@ -9,6 +9,7 @@ source: chapters: [15, 13, 10] topics: [math-algorithms, complexity, dynamic-memory, arrays] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex7-q4.md b/questions/exams/exam-2023-fall-ex7-q4.md index fd56e5d..da78875 100644 --- a/questions/exams/exam-2023-fall-ex7-q4.md +++ b/questions/exams/exam-2023-fall-ex7-q4.md @@ -9,6 +9,7 @@ source: chapters: [18, 12] topics: [files, command-line-args] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex8-q1.md b/questions/exams/exam-2023-fall-ex8-q1.md index 81b52fe..938d9bf 100644 --- a/questions/exams/exam-2023-fall-ex8-q1.md +++ b/questions/exams/exam-2023-fall-ex8-q1.md @@ -9,6 +9,7 @@ source: chapters: [4, 12] topics: [bitwise, command-line-args] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex8-q2.md b/questions/exams/exam-2023-fall-ex8-q2.md index ae7ef68..a38926e 100644 --- a/questions/exams/exam-2023-fall-ex8-q2.md +++ b/questions/exams/exam-2023-fall-ex8-q2.md @@ -9,6 +9,7 @@ source: chapters: [9, 4] topics: [input-output, bitwise, input-validation] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex8-q3.md b/questions/exams/exam-2023-fall-ex8-q3.md index 89a7b9e..6bf1bc2 100644 --- a/questions/exams/exam-2023-fall-ex8-q3.md +++ b/questions/exams/exam-2023-fall-ex8-q3.md @@ -9,6 +9,7 @@ source: chapters: [12, 18, 13] topics: [multidim-arrays, dynamic-memory, files, floating-point] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex8-q4.md b/questions/exams/exam-2023-fall-ex8-q4.md index 66283e3..db1de6c 100644 --- a/questions/exams/exam-2023-fall-ex8-q4.md +++ b/questions/exams/exam-2023-fall-ex8-q4.md @@ -9,6 +9,7 @@ source: chapters: [18, 13, 14] topics: [sorting, files, strings, dynamic-memory] difficulty: 3 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex9-q1.md b/questions/exams/exam-2023-fall-ex9-q1.md index a193966..dbf1212 100644 --- a/questions/exams/exam-2023-fall-ex9-q1.md +++ b/questions/exams/exam-2023-fall-ex9-q1.md @@ -9,6 +9,7 @@ source: chapters: [18] topics: [files] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex9-q2.md b/questions/exams/exam-2023-fall-ex9-q2.md index 81ff1f4..561e954 100644 --- a/questions/exams/exam-2023-fall-ex9-q2.md +++ b/questions/exams/exam-2023-fall-ex9-q2.md @@ -9,6 +9,7 @@ source: chapters: [6, 12] topics: [loops, command-line-args, integer-representation] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex9-q3.md b/questions/exams/exam-2023-fall-ex9-q3.md index fd1910c..2ed7a6a 100644 --- a/questions/exams/exam-2023-fall-ex9-q3.md +++ b/questions/exams/exam-2023-fall-ex9-q3.md @@ -9,6 +9,7 @@ source: chapters: [12, 18, 13] topics: [multidim-arrays, files, dynamic-memory] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2023-fall-ex9-q4.md b/questions/exams/exam-2023-fall-ex9-q4.md index 4795c38..b10ded5 100644 --- a/questions/exams/exam-2023-fall-ex9-q4.md +++ b/questions/exams/exam-2023-fall-ex9-q4.md @@ -9,6 +9,7 @@ source: chapters: [13, 9, 14] topics: [dynamic-memory, input-output, strings] difficulty: 3 +level: 3 type: programming --- diff --git a/questions/exams/exam-2024-dec-q1.md b/questions/exams/exam-2024-dec-q1.md index 5efc646..4f22d3a 100644 --- a/questions/exams/exam-2024-dec-q1.md +++ b/questions/exams/exam-2024-dec-q1.md @@ -9,6 +9,7 @@ source: chapters: [6, 3, 4] topics: [loops, floating-point, command-line-args] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2024-dec-q2.md b/questions/exams/exam-2024-dec-q2.md index 808482b..98008fc 100644 --- a/questions/exams/exam-2024-dec-q2.md +++ b/questions/exams/exam-2024-dec-q2.md @@ -9,6 +9,7 @@ source: chapters: [16, 2] topics: [math-algorithms, loops, command-line-args, integer-representation] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2024-dec-q3.md b/questions/exams/exam-2024-dec-q3.md index adeff5a..d8ee034 100644 --- a/questions/exams/exam-2024-dec-q3.md +++ b/questions/exams/exam-2024-dec-q3.md @@ -9,6 +9,7 @@ source: chapters: [25, 17, 13] topics: [sorting, complexity, dynamic-memory, problem-solving] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2024-dec-q4.md b/questions/exams/exam-2024-dec-q4.md index 36f33d5..65ec260 100644 --- a/questions/exams/exam-2024-dec-q4.md +++ b/questions/exams/exam-2024-dec-q4.md @@ -9,6 +9,7 @@ source: chapters: [25, 12, 11] topics: [dynamic-programming, multidim-arrays, recursion, complexity] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2024-jul-q1.md b/questions/exams/exam-2024-jul-q1.md index 2ffd5ab..ea4d354 100644 --- a/questions/exams/exam-2024-jul-q1.md +++ b/questions/exams/exam-2024-jul-q1.md @@ -9,6 +9,7 @@ source: chapters: [9, 2] topics: [input-output, loops, integer-representation] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2024-jul-q2.md b/questions/exams/exam-2024-jul-q2.md index 185fdf7..4e40b02 100644 --- a/questions/exams/exam-2024-jul-q2.md +++ b/questions/exams/exam-2024-jul-q2.md @@ -9,6 +9,7 @@ source: chapters: [12, 10] topics: [command-line-args, floating-point, arrays] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2024-jul-q3.md b/questions/exams/exam-2024-jul-q3.md index 8337f26..058013c 100644 --- a/questions/exams/exam-2024-jul-q3.md +++ b/questions/exams/exam-2024-jul-q3.md @@ -9,6 +9,7 @@ source: chapters: [25, 17, 15] topics: [sorting, complexity, problem-solving, arrays] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2024-jul-q4.md b/questions/exams/exam-2024-jul-q4.md index 29d7877..269b470 100644 --- a/questions/exams/exam-2024-jul-q4.md +++ b/questions/exams/exam-2024-jul-q4.md @@ -9,6 +9,7 @@ source: chapters: [22, 11, 15] topics: [trees, recursion, complexity] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2024-sep-q1.md b/questions/exams/exam-2024-sep-q1.md index 9f962cc..dcb81af 100644 --- a/questions/exams/exam-2024-sep-q1.md +++ b/questions/exams/exam-2024-sep-q1.md @@ -9,6 +9,7 @@ source: chapters: [3, 2] topics: [input-output, functions, strings] difficulty: 1 +level: 1 type: programming --- diff --git a/questions/exams/exam-2024-sep-q2.md b/questions/exams/exam-2024-sep-q2.md index d2be4e9..32b6175 100644 --- a/questions/exams/exam-2024-sep-q2.md +++ b/questions/exams/exam-2024-sep-q2.md @@ -9,6 +9,7 @@ source: chapters: [17] topics: [searching, arrays] difficulty: 1 +level: 1 type: trace --- diff --git a/questions/exams/exam-2024-sep-q3.md b/questions/exams/exam-2024-sep-q3.md index 157348b..b0b144d 100644 --- a/questions/exams/exam-2024-sep-q3.md +++ b/questions/exams/exam-2024-sep-q3.md @@ -9,6 +9,7 @@ source: chapters: [17, 15] topics: [searching, complexity, floating-point] difficulty: 2 +level: 1 type: programming --- diff --git a/questions/exams/exam-2024-sep-q4.md b/questions/exams/exam-2024-sep-q4.md index 1c54ec5..0ee2988 100644 --- a/questions/exams/exam-2024-sep-q4.md +++ b/questions/exams/exam-2024-sep-q4.md @@ -9,6 +9,7 @@ source: chapters: [9, 5] topics: [input-output, operators] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2024-sep-q5.md b/questions/exams/exam-2024-sep-q5.md index 325ecde..c1ccbe0 100644 --- a/questions/exams/exam-2024-sep-q5.md +++ b/questions/exams/exam-2024-sep-q5.md @@ -9,6 +9,7 @@ source: chapters: [21, 13, 15] topics: [linked-lists, dynamic-memory, complexity] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2024-sep-q6.md b/questions/exams/exam-2024-sep-q6.md index 7d17ceb..9a321f4 100644 --- a/questions/exams/exam-2024-sep-q6.md +++ b/questions/exams/exam-2024-sep-q6.md @@ -9,6 +9,7 @@ source: chapters: [25, 11, 12] topics: [recursion, multidim-arrays, command-line-args, files] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2025-jan-q1.md b/questions/exams/exam-2025-jan-q1.md index d06ba1b..d4149f6 100644 --- a/questions/exams/exam-2025-jan-q1.md +++ b/questions/exams/exam-2025-jan-q1.md @@ -9,6 +9,7 @@ source: chapters: [5, 6] topics: [bitwise, loops, undefined-behavior] difficulty: 1 +level: 1 type: trace --- diff --git a/questions/exams/exam-2025-jan-q2.md b/questions/exams/exam-2025-jan-q2.md index a01ec9f..5e10f16 100644 --- a/questions/exams/exam-2025-jan-q2.md +++ b/questions/exams/exam-2025-jan-q2.md @@ -9,6 +9,7 @@ source: chapters: [14, 13, 2] topics: [strings, pointer-arithmetic, dynamic-memory] difficulty: 1 +level: 1 type: trace --- diff --git a/questions/exams/exam-2025-jan-q3.md b/questions/exams/exam-2025-jan-q3.md index 35051e0..d6a80c3 100644 --- a/questions/exams/exam-2025-jan-q3.md +++ b/questions/exams/exam-2025-jan-q3.md @@ -9,6 +9,7 @@ source: chapters: [12, 10] topics: [command-line-args, arrays, floating-point] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2025-jan-q4.md b/questions/exams/exam-2025-jan-q4.md index 093e78d..9333d15 100644 --- a/questions/exams/exam-2025-jan-q4.md +++ b/questions/exams/exam-2025-jan-q4.md @@ -9,6 +9,7 @@ source: chapters: [22, 21, 15] topics: [trees, recursion, complexity] difficulty: 1 +level: 3 type: programming --- diff --git a/questions/exams/exam-2025-jan-q5.md b/questions/exams/exam-2025-jan-q5.md index 4109f64..e25f87c 100644 --- a/questions/exams/exam-2025-jan-q5.md +++ b/questions/exams/exam-2025-jan-q5.md @@ -9,6 +9,7 @@ source: chapters: [14, 13, 15] topics: [strings, dynamic-memory, complexity] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2025-jan-q6.md b/questions/exams/exam-2025-jan-q6.md index 08d6f69..16dc9a8 100644 --- a/questions/exams/exam-2025-jan-q6.md +++ b/questions/exams/exam-2025-jan-q6.md @@ -9,6 +9,7 @@ source: chapters: [16, 18, 13] topics: [multidim-arrays, files, complexity, dynamic-memory, problem-solving] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2025-sep-q1.md b/questions/exams/exam-2025-sep-q1.md index c3d2d92..01c8fae 100644 --- a/questions/exams/exam-2025-sep-q1.md +++ b/questions/exams/exam-2025-sep-q1.md @@ -9,6 +9,7 @@ source: chapters: [6, 2] topics: [loops, variables, undefined-behavior] difficulty: 1 +level: 1 type: trace --- diff --git a/questions/exams/exam-2025-sep-q2.md b/questions/exams/exam-2025-sep-q2.md index 0808e61..040ba05 100644 --- a/questions/exams/exam-2025-sep-q2.md +++ b/questions/exams/exam-2025-sep-q2.md @@ -9,6 +9,7 @@ source: chapters: [14, 12] topics: [strings, pointer-arithmetic, pointers] difficulty: 1 +level: 1 type: trace --- diff --git a/questions/exams/exam-2025-sep-q3.md b/questions/exams/exam-2025-sep-q3.md index ba757d3..cc092f4 100644 --- a/questions/exams/exam-2025-sep-q3.md +++ b/questions/exams/exam-2025-sep-q3.md @@ -9,6 +9,7 @@ source: chapters: [12, 2] topics: [command-line-args, floating-point, loops] difficulty: 1 +level: 2 type: programming --- diff --git a/questions/exams/exam-2025-sep-q4.md b/questions/exams/exam-2025-sep-q4.md index c2d4868..283c37b 100644 --- a/questions/exams/exam-2025-sep-q4.md +++ b/questions/exams/exam-2025-sep-q4.md @@ -9,6 +9,7 @@ source: chapters: [21, 15, 13] topics: [linked-lists, complexity, dynamic-memory] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2025-sep-q5.md b/questions/exams/exam-2025-sep-q5.md index b7294a6..b1271b0 100644 --- a/questions/exams/exam-2025-sep-q5.md +++ b/questions/exams/exam-2025-sep-q5.md @@ -9,6 +9,7 @@ source: chapters: [25, 12, 18] topics: [dynamic-programming, multidim-arrays, files] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2026-jan-q1.md b/questions/exams/exam-2026-jan-q1.md index c3a8bd9..92d41ff 100644 --- a/questions/exams/exam-2026-jan-q1.md +++ b/questions/exams/exam-2026-jan-q1.md @@ -9,6 +9,7 @@ source: chapters: [5, 6] topics: [bitwise, operators, loops] difficulty: 1 +level: 1 type: trace --- diff --git a/questions/exams/exam-2026-jan-q2.md b/questions/exams/exam-2026-jan-q2.md index 86110bf..db4d643 100644 --- a/questions/exams/exam-2026-jan-q2.md +++ b/questions/exams/exam-2026-jan-q2.md @@ -9,6 +9,7 @@ source: chapters: [17, 13, 12] topics: [sorting, dynamic-memory, memory-model] difficulty: 2 +level: 1 type: trace --- diff --git a/questions/exams/exam-2026-jan-q3.md b/questions/exams/exam-2026-jan-q3.md index 04bc404..8fc9ab4 100644 --- a/questions/exams/exam-2026-jan-q3.md +++ b/questions/exams/exam-2026-jan-q3.md @@ -9,6 +9,7 @@ source: chapters: [6, 4] topics: [math-algorithms, loops, command-line-args] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2026-jan-q4.md b/questions/exams/exam-2026-jan-q4.md index 0ee914e..8e7aea4 100644 --- a/questions/exams/exam-2026-jan-q4.md +++ b/questions/exams/exam-2026-jan-q4.md @@ -9,6 +9,7 @@ source: chapters: [22, 15, 20] topics: [trees, recursion, complexity, unions-enums] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2026-jan-q5.md b/questions/exams/exam-2026-jan-q5.md index 66b4966..dd007fd 100644 --- a/questions/exams/exam-2026-jan-q5.md +++ b/questions/exams/exam-2026-jan-q5.md @@ -9,6 +9,7 @@ source: chapters: [25, 12, 22] topics: [graphs, multidim-arrays, input-validation, complexity] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2026-jan-q6.md b/questions/exams/exam-2026-jan-q6.md index 0867702..b04ee0c 100644 --- a/questions/exams/exam-2026-jan-q6.md +++ b/questions/exams/exam-2026-jan-q6.md @@ -9,6 +9,7 @@ source: chapters: [11, 13] topics: [pointers, undefined-behavior, memory-model] difficulty: 1 +level: 1 type: trace --- diff --git a/questions/exams/exam-2026-jun-q1.md b/questions/exams/exam-2026-jun-q1.md index 6990a1d..675b1dd 100644 --- a/questions/exams/exam-2026-jun-q1.md +++ b/questions/exams/exam-2026-jun-q1.md @@ -9,6 +9,7 @@ source: chapters: [5, 6] topics: [bitwise, loops, types] difficulty: 1 +level: 1 type: trace --- diff --git a/questions/exams/exam-2026-jun-q2.md b/questions/exams/exam-2026-jun-q2.md index 88eeab1..e4eaee6 100644 --- a/questions/exams/exam-2026-jun-q2.md +++ b/questions/exams/exam-2026-jun-q2.md @@ -9,6 +9,7 @@ source: chapters: [10, 2] topics: [arrays, strings, undefined-behavior, types] difficulty: 2 +level: 1 type: debug --- diff --git a/questions/exams/exam-2026-jun-q3.md b/questions/exams/exam-2026-jun-q3.md index 65828f7..126a0d3 100644 --- a/questions/exams/exam-2026-jun-q3.md +++ b/questions/exams/exam-2026-jun-q3.md @@ -9,6 +9,7 @@ source: chapters: [25, 15, 9] topics: [complexity, problem-solving, command-line-args, input-output] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2026-jun-q4.md b/questions/exams/exam-2026-jun-q4.md index 305ff36..986a91d 100644 --- a/questions/exams/exam-2026-jun-q4.md +++ b/questions/exams/exam-2026-jun-q4.md @@ -9,6 +9,7 @@ source: chapters: [19, 18, 14] topics: [structs, sorting, strings, input-validation, complexity] difficulty: 3 +level: 4 type: programming --- diff --git a/questions/exams/exam-2026-sep-q1.md b/questions/exams/exam-2026-sep-q1.md index 1c6e1c1..0a40b9f 100644 --- a/questions/exams/exam-2026-sep-q1.md +++ b/questions/exams/exam-2026-sep-q1.md @@ -9,6 +9,7 @@ source: chapters: [6, 2] topics: [loops, operators, undefined-behavior] difficulty: 1 +level: 1 type: trace --- diff --git a/questions/exams/exam-2026-sep-q2.md b/questions/exams/exam-2026-sep-q2.md index a73edf6..93ac852 100644 --- a/questions/exams/exam-2026-sep-q2.md +++ b/questions/exams/exam-2026-sep-q2.md @@ -9,6 +9,7 @@ source: chapters: [10, 25] topics: [arrays, loops, undefined-behavior] difficulty: 1 +level: 1 type: trace --- diff --git a/questions/exams/exam-2026-sep-q3.md b/questions/exams/exam-2026-sep-q3.md index 024c7f6..93704e2 100644 --- a/questions/exams/exam-2026-sep-q3.md +++ b/questions/exams/exam-2026-sep-q3.md @@ -9,6 +9,7 @@ source: chapters: [12, 9] topics: [command-line-args, floating-point, loops] difficulty: 2 +level: 2 type: programming --- diff --git a/questions/exams/exam-2026-sep-q4.md b/questions/exams/exam-2026-sep-q4.md index b334012..0edc767 100644 --- a/questions/exams/exam-2026-sep-q4.md +++ b/questions/exams/exam-2026-sep-q4.md @@ -9,6 +9,7 @@ source: chapters: [21, 13, 15] topics: [linked-lists, dynamic-memory, complexity] difficulty: 2 +level: 3 type: programming --- diff --git a/questions/exams/exam-2026-sep-q5.md b/questions/exams/exam-2026-sep-q5.md index 452647f..b1a93a7 100644 --- a/questions/exams/exam-2026-sep-q5.md +++ b/questions/exams/exam-2026-sep-q5.md @@ -9,6 +9,7 @@ source: chapters: [25, 15, 13] topics: [complexity, arrays, problem-solving] difficulty: 3 +level: 4 type: programming --- diff --git a/tools/gen-exercises.py b/tools/gen-exercises.py index 99189b3..4e8e2b6 100644 --- a/tools/gen-exercises.py +++ b/tools/gen-exercises.py @@ -17,6 +17,8 @@ numbered from the current order, like an edition of a book; a question's id is its permanent reference. _data/refs.yml maps each question id to its label; * questions/README.md, the index by chapter and by source; + * questions/exam-questions.md, every exam question by level (1-4), and + _data/exams.yml, its order, for the previous/next links on the question pages; * the chapter table on the home page, README.md, between markers; * with --build DIR: DIR/questions.md (every statement, grouped by chapter, for the book appendix and llms-full.txt) and DIR/questions.json. @@ -46,6 +48,13 @@ } TYPES = {"programming", "short-answer", "trace", "debug", "multiple-choice", "tooling"} STARS = {1: "★☆☆", 2: "★★☆", 3: "★★★"} +LEVELS = { # exam questions only, see STYLE.md + 1: "Σύντομες ερωτήσεις", + 2: "Απλά προγράμματα με δεδομένα εισόδου", + 3: "Δομές δεδομένων και δυναμική μνήμη", + 4: "Τα δυσκολότερα θέματα", +} +MONTHS = {"jan": 1, "jun": 6, "jul": 7, "sep": 9, "dec": 12, "fall": 12} BEGIN, END = "", "" MISC = ("", "") KAHOOT = ("", "") @@ -110,6 +119,10 @@ def lint(qs, only=None): err("missing topics") if m.get("difficulty") not in STARS: err(f"difficulty must be 1, 2 or 3, found {m.get('difficulty')!r}") + if m.get("kind") == "exam" and m.get("level") not in LEVELS: + err(f"exam questions need a level of 1, 2, 3 or 4, found {m.get('level')!r}") + if m.get("kind") != "exam" and "level" in m: + err("only exam questions have a level") if m.get("type") not in TYPES: err(f"type must be one of {sorted(TYPES)}, found {m.get('type')!r}") if m.get("kind") == "kahoot": @@ -294,6 +307,8 @@ def index(qs, lectures, refs): "(Kahoot), και ένα μόνιμο αναγνωριστικό, π.χ. `exam-2025-jan-q2`. Ο αριθμός", "ακολουθεί την τρέχουσα έκδοση του οδηγού· το αναγνωριστικό δεν αλλάζει ποτέ.", "", + "Τα θέματα εξετάσεων, ταξινομημένα σε τέσσερα επίπεδα δυσκολίας, είναι και στη σελίδα", + "[Θέματα εξετάσεων](exam-questions.md).", "", f"Σε μορφή για εργαλεία: [`questions.json`]({SITE}/downloads/questions.json).", "", NOTE_2023, ""] for l in lectures: @@ -308,6 +323,51 @@ def index(qs, lectures, refs): return "\n".join(out).rstrip() + "\n" +def exam_order(qs): + """Exam questions by level, then newest exam first, then by variant and θέμα.""" + def key(q): + m = re.match(r"exam-(\d{4})-([a-z]+)(?:-ex(\d+))?-q(\d+)$", q["meta"]["id"]) + year, month, variant, n = m.groups() + return (q["meta"]["level"], -int(year), -MONTHS[month], int(variant or 0), int(n)) + return sorted((q for q in qs if q["meta"]["kind"] == "exam"), key=key) + + +def exams_page(qs, lectures): + slugs = {l["n"]: l["slug"] for l in lectures} + order = exam_order(qs) + count = {n: sum(1 for q in order if q["meta"]["level"] == n) for n in LEVELS} + out = ["# Θέματα εξετάσεων", "", + "", "", + f"Όλα τα θέματα εξετάσεων προηγούμενων ετών ({len(order)}), σε τέσσερα επίπεδα, από το", + "πιο εύκολο (1) στο πιο δύσκολο (4). Κάθε θέμα ανοίγει στη δική του σελίδα, με την", + "εκφώνηση και μια υπόδειξη, και από εκεί πηγαίνετε στο προηγούμενο ή στο επόμενο θέμα του", + "ίδιου επιπέδου. Όλες οι ασκήσεις του οδηγού, ανά κεφάλαιο, είναι στην", + "[τράπεζα ασκήσεων](./).", ""] + out += [f"{n}. [{LEVELS[n]}](#level-{n}) ({count[n]})" for n in LEVELS] + ["", NOTE_2023, ""] + for n in LEVELS: + out += [f'', "", f"## Επίπεδο {n}: {LEVELS[n]} ({count[n]})", ""] + for i, q in enumerate((q for q in order if q["meta"]["level"] == n), 1): + m = q["meta"] + ch = m["chapters"][0] + out.append(f"{i}. **[{m['title']}]({os.path.relpath(q['path'], 'questions')})** · {m['source']['title']} · " + f"Κεφ. [{ch}](../chapters/{slugs[ch]}/) · {m['type']}") + out.append("") + return "\n".join(out).rstrip() + "\n" + + +def exams_yaml(qs): + """Each exam question's level and its neighbours on the page, within the level.""" + order = exam_order(qs) + lines = ["# Generated by tools/gen-exercises.py: exam question id -> level, previous, next."] + for i, q in enumerate(order): + lvl = q["meta"]["level"] + prev = order[i - 1]["meta"] if i > 0 and order[i - 1]["meta"]["level"] == lvl else None + nxt = order[i + 1]["meta"] if i + 1 < len(order) and order[i + 1]["meta"]["level"] == lvl else None + fields = [f"level: {lvl}"] + ([f"prev: {prev['id']}"] if prev else []) + ([f"next: {nxt['id']}"] if nxt else []) + lines.append(f"{q['meta']['id']}: {{{', '.join(fields)}}}") + return "\n".join(lines) + "\n" + + def refs_yaml(refs, lectures): slugs = {l["n"]: l["slug"] for l in lectures} lines = ["# Generated by tools/gen-exercises.py: question id -> label, anchor, chapter."] @@ -433,6 +493,8 @@ def write(path, new): new = filled write(path, number_chapter(new, l["n"])) write(os.path.join(ROOT, "questions", "README.md"), index(qs, lectures, refs)) + write(os.path.join(ROOT, "questions", "exam-questions.md"), exams_page(qs, lectures)) + write(os.path.join(ROOT, "_data", "exams.yml"), exams_yaml(qs)) write(os.path.join(ROOT, "_data", "refs.yml"), refs_yaml(refs, lectures)) write(os.path.join(ROOT, "_data", "chapters.yml"), chapters_yaml(lectures)) hpath = os.path.join(ROOT, "README.md") From 4de56cfcbdb7e8671cf24cd7c7f5bd34737b84e3 Mon Sep 17 00:00:00 2001 From: Thanassis Avgerinos Date: Fri, 9 Oct 2026 09:15:43 +0300 Subject: [PATCH 2/2] CI: refresh the apt index before installing poppler-utils The runner image shipped an index pointing at a superseded poppler version, so the install 404ed and the PDF check failed. --- .github/workflows/pages.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 6038b51..451f041 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -52,6 +52,8 @@ jobs: # A pandoc/xelatex failure can still leave a stub PDF behind. - name: Check PDFs run: | + # The runner image can ship a stale package index (404s on superseded versions). + sudo apt-get update -qq >/dev/null sudo apt-get install -y -qq poppler-utils >/dev/null for f in build/*.pdf; do pages=$(pdfinfo "$f" | awk '/^Pages:/ {print $2}')