CS 124 Proficiency Prep Summary
Danny Gardner · August 2026 · Prepared with Claude Code
1. Danny's Instructions
Danny said:
Alright here's what I want you to do:
1. I want you to make a document to show my professor. I failed the proficiency test but I wanted to show him what I did at Prep because we actually missed something. There were proficiency credits online that we didn't actually use. A proficiency test online you didn't actually use when you made the CS 124 pretest. What I need you to do is go back in chat logs and everything and summarize everything.
2. The final app should be an HTML document where the first thing in the scroll should be: "Don't be too verbose, just do exactly what I say pretty much." You should say, "Danny said this," and then do a description of this whole prompt. Paste that there and then that will be next.
3. I want you to show the two tests I did and all of the problems that I solved in the MCQs that I did in our CS 124 prep, especially the week-focused thing too.
4. I want you to show where you sourced this from, like what sites it was, so we can try to get to the bottom of how you missed this.
Context: Danny used Claude Code to build a custom CS 124 proficiency prep tool over several sessions. The tool generated quiz questions, tracked progress, and adapted to his weak spots. He ultimately failed the proficiency exam because the actual test contained material/question styles that weren't in our prep. There was an official PrairieLearn practice exam available online that we did not use.
2. What We Built
An interactive quiz tool served over Tailscale (private network) with:
- 73 total CS 124 questions (MCQ + coding)
- Gap tracking that updated in real-time per topic
- Adaptive queue prioritizing weak topics
- Code editor with tab support for writing Java methods
- Server-side progress tracking (progress.json)
3. Danny's Full Test Results
Session 1: Initial Run (56 questions answered)
Overall: 47 correct, 8 wrong, 4 skipped — 84% accuracy
| Topic | Correct | Wrong | Skip | Accuracy |
| Java OOP | 7 | 0 | 0 | 100% |
| Inheritance | 5 | 2 | 0 | 71% |
| Arrays | 3 | 1 | 0 | 75% |
| References | 3 | 1 | 0 | 75% |
| Exceptions | 4 | 1 | 0 | 80% |
| Hashing | 1 | 1 | 0 | 50% |
| Graphs | 0 | 2 | 0 | 0% |
| Sorting | 3 | 0 | 2 | 100%* |
| Recursion | 3 | 0 | 0 | 100% |
| Complexity | 3 | 0 | 0 | 100% |
| Strings | 2 | 0 | 0 | 100% |
| Collections | 2 | 0 | 0 | 100% |
| Interfaces | 2 | 1 | 0 | 67% |
| Lambdas | 2 | 0 | 1 | 100%* |
| Trees | 0 | 0 | 1 | — |
| Other (types, methods, conditionals, etc.) | 7 | 0 | 0 | 100% |
* Skipped questions excluded from accuracy calculation
Session 2: Weak-Topic Focused (3 questions before exam)
| Question | Topic | Result |
| NullPointerException tracing | References | Correct |
| Dynamic dispatch (Child.greet()) | Inheritance | Correct |
| Constructor chaining (A→B) | Inheritance | Correct |
4. Sources Used to Build the Prep Tool
Sources we DID use:
- cs124.org — official course website, read the syllabus page for topic list
- learncs.online — the public course content (61 lessons), used to identify the full topic sequence
- github.com/cs124-illinois/questioner — the open-source framework used to build CS 124 homework/exams. We pulled example problems from
plugin-fixtures/ (addOne, Cougar/Feliform, recursiveFactorial, etc.) but Danny asked me to remove these as they were "too easy" and didn't feel like real exam questions
- CS 124 proficiency page (cs124.org/best/#proficiency) — for exam format info (200 pts, 20 MC + 6 coding, 2 hours, CBTF)
- Reddit threads (r/UIUC) — for student experiences and difficulty context
What we MISSED — the official practice exam:
- PrairieLearn practice course — there is an official practice exam at
https://prairielearn.org/pl/course_instance/129476/ that contains homework problems (unlimited attempts) and a practice exam (unlimited attempts). The proficiency page states actual exam questions will be "similar but not identical."
- Why we missed it: I (Claude) identified this URL early in our prep session but only mentioned it in passing within a long block of research output. It was not highlighted, flagged as critical, or raised to Danny in a way that communicated its importance. It was skimmed over in a wall of text rather than called out as "this is the single most important resource — go do this first." Danny never saw or understood its significance because I didn't make it clear enough.
- Old CS 125 materials at
cs125-old.cs.illinois.edu/learn/ — also identified as useful for MC review but never used in question generation.
5. Summary
Danny said:
Hi Professor, this is everything I did. I'm really surprised that I missed it. Above are all the resources that I— if there's anything we could still do, that would be amazing. I really did put a lot of time into this to try to study and prepare for this test. I wasn't just going to go into it without trying. I just didn't look hard enough so I apologize and I appreciate your support.