- The Honest Difficulty Verdict
- What You Are Actually Facing: Format and Rules
- The 60% Bar in Practical Terms
- Domain-by-Domain Difficulty Ratings
- Where Points Quietly Leak
- Readiness: Who Finds It Easy, Who Struggles
- Proctoring, Focus Mode, and Test-Day Friction
- A Prep Sequence Built Around the Seven Domains
- Retakes and Voucher Realities
- Frequently Asked Questions
- The exam is 45 multiple-choice questions in 90 minutes, with a 60% passing score.
- Seven topic groups are tested, from Data Types and Operators through Strings; the issuer publishes no domain weights.
- No official pass rate exists, so any "X% of students pass" claim is unverified.
- Each voucher covers one attempt; retakes are unlimited in number but each needs another voucher.
The Honest Difficulty Verdict
The CodeHS Python Level 1 Certification is an entry-level exam. It is designed for students who have worked through an introductory Python course, and it tests whether you can read, trace, and reason about short Python programs. It is not designed to trip you up with obscure library trivia or advanced computer science theory. For a student who has genuinely written code for a semester, the exam is manageable. For a student who skimmed lessons and relied on autocomplete and hints, it can feel surprisingly sharp.
The difficulty comes less from how deep the content goes and more from how you are asked to demonstrate it. The exam is multiple choice, but the questions are about code: what a snippet prints, which line causes an error, what a loop produces, how a slice behaves. You cannot run the code to check yourself. That single constraint is what separates "I can write this in the editor" from "I can predict this on paper."
One more clarification before going further: "CHS-P1" on this site means the CodeHS Python Level 1 Certification, issued through CodeHS. It is not the Python Institute's PCEP, not a course-completion certificate, and not a teacher microcredential. If you are weighing it against those, the exam content and policies differ, so judge difficulty only against the CodeHS exam described here. If you are still sorting out the basics, start with What Is CHS-P1?.
What You Are Actually Facing: Format and Rules
Difficulty is partly structural, so it helps to know the container your knowledge has to fit into.
| Feature | CodeHS Python Level 1 |
|---|---|
| Question count | 45 multiple-choice questions |
| Time limit | 90 minutes, one sitting |
| Passing score | 60% |
| Delivery | Online, at home or at school, monitored by a teacher or authorized proctor |
| Question selection | Randomly selected questions |
| Results | Released within 36 hours on school days, with overall score and topic-level report |
| Reference material | Python examination reference sheet provided |
| Prerequisites | None required; Introduction to Python Programming is recommended |
Ninety minutes for 45 questions works out to a generous two minutes per question on average. That is a comfortable pace for most multiple-choice code-tracing items, so time pressure is rarely the main difficulty. Candidates who struggle with the clock usually do so because they get stuck on one tricky trace and spend six or seven minutes on it, not because the exam is structurally rushed.
The exam also uses an Honor Code and Focus Mode. Details on how those affect your testing session appear later in this guide. For scheduling logistics, see CHS-P1 Exam Dates 2026: Testing Windows, Deadlines & Scheduling.
The 60% Bar in Practical Terms
The passing score is 60%. On a 45-question exam, that translates to roughly 27 correct answers, though you should confirm how CodeHS scores the exam on the platform, since no scored versus unscored item split has been verified. What matters for planning is that the bar is moderate: you can miss a meaningful number of questions and still pass.
That said, two cautions are worth stating plainly.
- The 60% figure is a passing score, not a pass rate. It tells you how much of the exam you must answer correctly. It says nothing about how many candidates succeed. No official cohort pass rate has been verified for this exam, so be skeptical of anyone quoting one. Our breakdown at CHS-P1 Pass Rate 2026: What the Data Shows explains what is and is not known.
- A moderate bar rewards breadth. Because questions are randomly selected across seven topic groups, a weak spot in one area costs you a few questions, not the whole exam. But a candidate who is weak in three areas can fall below the line quickly.
For a closer look at the scoring threshold itself, read CHS-P1 Passing Score 2026: Exactly What You Need to Pass.
Domain-by-Domain Difficulty Ratings
The issuer lists seven top-level topic groups. These are official exam-topic groups, not a percentage-weighted blueprint, so I cannot tell you that one domain counts for more than another. What I can do is rate how much conceptual effort each tends to demand from a typical introductory student. These ratings are my editorial judgment, not official data.
Domain 1: Data Types and Operators
Relative difficulty: Low to moderate. Most students arrive comfortable here, but the traps are in the details.
- Integer versus float behavior, including the difference between true division and floor division
- The modulus operator and what it returns, which shows up constantly in trace questions
- Type conversion, and what happens when you combine mismatched types
- Operator precedence in compound expressions
Domain 2: Conditionals
Relative difficulty: Low to moderate. The logic is intuitive; the mistakes come from careless reading.
- if, elif, and else chains, and which branch actually executes
- Boolean operators and compound conditions
- Comparison operators, including the gap between assignment and equality
- Nested conditionals where indentation determines meaning
Domain 3: Loops
Relative difficulty: Moderate to high. Loops are where tracing skill is tested hardest.
- for loops with range, including start, stop, and step arguments and off-by-one outcomes
- while loops and the conditions that end or fail to end them
- Nested loops, where you must track two counters at once
- The continue statement, which the issuer overview expressly includes, and how it changes what a loop body does
Domain 4: Program Structure
Relative difficulty: Moderate. This group rewards understanding how code is organized rather than memorizing syntax.
- Defining and calling functions, with parameters and return values
- The difference between printing a value and returning it
- Variable scope and what a function can see
- How program flow moves between the main body and function calls
Domain 5: Error Handling
Relative difficulty: Moderate. Many students underprepare here because it feels like a smaller topic.
- Recognizing common error types from a snippet and predicting which one occurs
- Understanding what try and except blocks do when an error is raised versus not raised
- Telling syntax errors apart from runtime errors and logic errors
Domain 6: Lists
Relative difficulty: Moderate to high. The issuer overview explicitly includes one- and two-dimensional lists, list methods, indexing, and slicing.
- Zero-based indexing and negative indexes
- Slicing with start, stop, and step, and what the stop boundary excludes
- List methods and whether they modify the list in place or return something
- Two-dimensional lists, where you must read row and column indexes correctly
Domain 7: Strings
Relative difficulty: Moderate. Strings overlap heavily with lists, which helps and hurts.
- String indexing and slicing, using the same logic as lists
- String methods, and the fact that strings are immutable so methods return new values
- Concatenation, repetition, and f-string or formatting behavior as presented in the course
For a fuller walkthrough of each area, see CHS-P1 Exam Domains 2026: Complete Guide to All 7 Content Areas.
Where Points Quietly Leak
Because the exam is multiple choice about code, the wrong answers are usually written to match plausible mistakes. Knowing the common leak points is half the battle.
Off-by-one errors in ranges and slices
Both range and slicing stop before the end value. A question asking what range(2, 7) produces, or what items[1:4] returns, is checking whether you remember that the stop value is excluded. This single concept appears across Loops, Lists, and Strings, so a shaky grasp costs points in three domains at once.
In-place methods versus returned values
List methods often change the list directly and return nothing useful, while string methods return a new string and leave the original untouched. Confusing the two leads to wrong answers on questions about what a variable holds after a method call.
Print versus return
A function that prints a value and a function that returns a value behave very differently when the result is assigned to a variable. This is a classic Program Structure trap.
Indentation as logic
In Python, indentation defines which statements belong to a loop or conditional. Questions may show two nearly identical snippets that differ only by indentation level. Read them as carefully as you would read the syntax.
Readiness: Who Finds It Easy, Who Struggles
There are no certification prerequisites. You do not need another credential, and the Introduction to Python Programming course is recommended preparation rather than an eligibility requirement. Formal eligibility is therefore wide open, which means the exam sees a wide range of readiness levels. The details are covered in CHS-P1 Requirements 2026: Eligibility, Prerequisites & How to Qualify.
| Candidate profile | Likely experience |
|---|---|
| Completed an intro Python course and wrote code regularly | Exam feels like a fair review; focus on tracing speed and weaker domains |
| Completed the course but leaned on hints and run-to-check habits | Noticeably harder than coursework; needs deliberate paper-tracing practice |
| Knows Python from self-study but never used CodeHS | Content is familiar; needs practice with the question style and reference sheet |
| New to programming and cramming | Difficult; seven topic groups are a lot to absorb without hands-on repetition |
If you are not sure where you land, take a diagnostic test and review the topic-level results. The CodeHS score report itself gives topic-level performance, which makes it useful for planning a retake if one is needed.
Proctoring, Focus Mode, and Test-Day Friction
Some of an exam's difficulty has nothing to do with the content. The testing environment shapes how calmly you can perform.
- Monitored delivery. You can test at home or at school, with a teacher or authorized proctor monitoring through the CodeHS Certifications app and Proctor Dashboard.
- One sitting. The exam must be completed in a single sitting, so plan a quiet ninety-minute block with no interruptions.
- Focus Mode. Focus Mode blocks navigation to other CodeHS pages. It is not described as a system-wide browser lockdown, so do not assume it will stop you from opening other things, and do not try. External websites are prohibited under the exam rules.
- Prohibited behavior. Collaboration, copying or sharing exam questions, and running code in another website or program are all off limits. Use the provided reference sheet and your own paper instead.
- Accommodations. Extended-time and read-aloud accommodations are supported. Other requests require platform review, so ask your teacher well before test day.
Key Takeaway
Do a quick environment check before your session: stable connection, paper and pencil ready, calculator nearby, and a quiet space. Eliminating avoidable stress protects the focus you need for code tracing.
A Prep Sequence Built Around the Seven Domains
Rather than a generic study calendar, sequence your preparation around how the domains build on each other. Skills in Data Types and Conditionals feed directly into Loops, and Lists and Strings share indexing and slicing logic, so studying them together saves effort. The official preparation path is the Introduction to Python Programming course and the Level 1 Certification Practice course in the CodeHS catalog; these are preparation resources, not additional exam domains.
Foundations: Data Types, Operators, Conditionals
- Trace arithmetic expressions by hand, especially modulus and floor division
- Work through if/elif/else chains and compound Boolean conditions
Repetition: Loops and Program Structure
- Trace for, while, and nested loops, including continue
- Practice print-versus-return and scope questions with functions
Collections: Lists and Strings
- Drill indexing, negative indexes, and slicing boundaries on both lists and strings
- Review one- and two-dimensional lists and the common list and string methods
Error Handling and Full Review
- Study error types and try/except behavior
- Take timed full-length practice sets and revisit your weakest topic groups
Keep a one-page summary of the must-know facts for last-minute review. Our CHS-P1 Cheat Sheet 2026: One-Page Review of Must-Know Facts is built for exactly that purpose, and the CHS-P1 training overview covers additional preparation options.
Retakes and Voucher Realities
Difficulty feels different when you know a second chance exists, so understand the mechanics. Each purchased voucher permits one attempt. There is no numerical limit on retakes, but every additional attempt requires another purchased voucher. School and district vouchers are priced by direct quote from CodeHS, and I could not verify a public numeric fee, so ask your teacher or district for the actual arrangement rather than relying on a number you saw elsewhere. Unused school or district vouchers also expire at the end of the contract term and do not roll over between school years.
Practically, this means you should not treat your first attempt as a casual trial run. If your voucher is limited, a failed attempt may require another request to your school. Prepare as though you have one shot, and use the topic-level report from any attempt to target the next round of study. The full pricing picture is in CHS-P1 Certification Cost 2026: Complete Pricing Breakdown.
If you pass, you receive a downloadable certificate. Earned certificates expire after 10 years. Whether that credential is worth the effort for your goals is a separate question, addressed in Is the CHS-P1 Certification Worth It? Complete ROI Analysis 2026.
Frequently Asked Questions
It is an entry-level exam, but beginners who have not practiced tracing code by hand often find it harder than expected. The content stays within introductory Python, yet you must predict program behavior without running code. Students who completed Introduction to Python Programming and practiced regularly generally find it fair.
The passing score is 60% on a 45-question, 90-minute exam. That is roughly 27 correct answers, though you should rely on the platform's own scoring. No scored versus unscored item split has been verified.
No official pass rate has been verified. The 60% figure is the passing score, not a cohort pass rate, so avoid any source that presents it as one. Judge your own readiness through practice tests and topic-level results instead.
The issuer does not publish domain weights or difficulty rankings. In my editorial judgment, Loops and Lists demand the most careful tracing because of nested structures, range and slice boundaries, and two-dimensional lists. Your own hardest area depends on your background, so check your topic-level report.
CodeHS suggests paper, a pencil, and a calculator, and a Python examination reference sheet is provided. External websites, collaboration, copying or sharing questions, and running code in another website or program are prohibited. For more on the credential itself, see CHS-P1 Certification and our practice test hub.