Repository navigation
Add an exam questions page, by level from 1 to 4 - #4
Merged
Merged
Conversation
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.
The runner image shipped an index pointing at a superseded poppler version, so the install 404ed and the PDF check failed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a page with every exam question (108) sorted into four levels, so you can practise from easiest to hardest:
questions/exam-questions.md, generated bytools/gen-exercises.pyand linked from the home page and the question bank. Each entry opens the question's own page on the study site (statement + hint), not the exam PDF._data/exams.yml.levelfield (1–4), only on exam questions; the guide-wide ★ difficulty is unchanged. The rubric is inSTYLE.md:malloc/free)Counts: level 1: 14 · level 2: 53 · level 3: 25 · level 4: 16.
Ratings to review
I rated each question by reading it against the rubric. Position in the exam was a hint, but the content decided. Edit
level:in any question file and runtools/gen-exercises.pyto regenerate.Ratings that go against the position hint:
exam-2023-dec-q3(dynamic programming),exam-2024-dec-q3(3-sum faster than O(n³)),exam-2024-jul-q3(greedy algorithm with a proof).exam-2023-dec-q1,exam-2024-dec-q1andexam-2024-jul-q1are complete programs that read their input.exam-2026-jan-q6is 1 (explain a NULL dereference) andexam-2024-jul-q4is 3 (tree traversal).exam-2026-jun-q3(stonks, 2 or 3?) andexam-2026-jun-q4(scoreboard, 3 or 4?).2023 online exam: every θέμα is a whole program, so there is no level 1.
All regular exams (44)
exam-2023-dec-q1exam-2023-dec-q2exam-2023-dec-q3exam-2023-dec-q4exam-2024-dec-q1exam-2024-dec-q2exam-2024-dec-q3exam-2024-dec-q4exam-2024-jul-q1exam-2024-jul-q2exam-2024-jul-q3exam-2024-jul-q4exam-2024-sep-q1exam-2024-sep-q2exam-2024-sep-q3exam-2024-sep-q4exam-2024-sep-q5exam-2024-sep-q6exam-2025-jan-q1exam-2025-jan-q2exam-2025-jan-q3exam-2025-jan-q4exam-2025-jan-q5exam-2025-jan-q6exam-2025-sep-q1exam-2025-sep-q2exam-2025-sep-q3exam-2025-sep-q4exam-2025-sep-q5exam-2026-jan-q1exam-2026-jan-q2exam-2026-jan-q3exam-2026-jan-q4exam-2026-jan-q5exam-2026-jan-q6exam-2026-jun-q1exam-2026-jun-q2exam-2026-jun-q3exam-2026-jun-q4exam-2026-sep-q1exam-2026-sep-q2exam-2026-sep-q3exam-2026-sep-q4exam-2026-sep-q52023 online exam (64)
exam-2023-fall-ex0-q1exam-2023-fall-ex0-q2exam-2023-fall-ex0-q3exam-2023-fall-ex0-q4exam-2023-fall-ex1-q1exam-2023-fall-ex1-q2exam-2023-fall-ex1-q3exam-2023-fall-ex1-q4exam-2023-fall-ex2-q1exam-2023-fall-ex2-q2exam-2023-fall-ex2-q3exam-2023-fall-ex2-q4exam-2023-fall-ex3-q1exam-2023-fall-ex3-q2exam-2023-fall-ex3-q3exam-2023-fall-ex3-q4exam-2023-fall-ex4-q1exam-2023-fall-ex4-q2exam-2023-fall-ex4-q3exam-2023-fall-ex4-q4exam-2023-fall-ex5-q1exam-2023-fall-ex5-q2exam-2023-fall-ex5-q3exam-2023-fall-ex5-q4exam-2023-fall-ex6-q1exam-2023-fall-ex6-q2exam-2023-fall-ex6-q3exam-2023-fall-ex6-q4exam-2023-fall-ex7-q1exam-2023-fall-ex7-q2exam-2023-fall-ex7-q3exam-2023-fall-ex7-q4exam-2023-fall-ex8-q1exam-2023-fall-ex8-q2exam-2023-fall-ex8-q3exam-2023-fall-ex8-q4exam-2023-fall-ex9-q1exam-2023-fall-ex9-q2exam-2023-fall-ex9-q3exam-2023-fall-ex9-q4exam-2023-fall-ex10-q1exam-2023-fall-ex10-q2exam-2023-fall-ex10-q3exam-2023-fall-ex10-q4exam-2023-fall-ex11-q1exam-2023-fall-ex11-q2exam-2023-fall-ex11-q3exam-2023-fall-ex11-q4exam-2023-fall-ex12-q1exam-2023-fall-ex12-q2exam-2023-fall-ex12-q3exam-2023-fall-ex12-q4exam-2023-fall-ex13-q1exam-2023-fall-ex13-q2exam-2023-fall-ex13-q3exam-2023-fall-ex13-q4exam-2023-fall-ex14-q1exam-2023-fall-ex14-q2exam-2023-fall-ex14-q3exam-2023-fall-ex14-q4exam-2023-fall-ex15-q1exam-2023-fall-ex15-q2exam-2023-fall-ex15-q3exam-2023-fall-ex15-q4Verified:
make checkpasses.gen-exercises.pya second time changes nothing.site-prep.py:CI fix (separate commit): the
Check PDFsstep now runsapt-get updatebefore installingpoppler-utils. The runner's stale package index made that install 404 twice, a failure unrelated to this change.Opened from socrates.