- What CHS-P1 Actually Is
- What CHS-P1 Is Not
- Exam Format at a Glance
- The Seven Exam Topic Groups
- What the Questions Feel Like
- Vouchers, Registration, and Retakes
- Test-Day Rules and Proctoring
- Results, Certificate, and Expiration
- Who Benefits From This Credential
- Sequencing Your Preparation
- Frequently Asked Questions
- CHS-P1 is the CodeHS Python Level 1 Certification: 45 multiple-choice questions in 90 minutes, passing score 60%.
- The exam covers seven official topic groups, from Data Types and Operators through Strings, with no published percentage weights.
- Each voucher buys exactly one attempt; retakes are unlimited in number but each needs a new voucher.
- No prerequisites exist, though Introduction to Python Programming is the recommended preparation course.
What CHS-P1 Actually Is
CHS-P1 is the shorthand used on this site for the CodeHS Python Level 1 Certification. CodeHS is both the governing body and the testing platform: it writes the exam, delivers it through its Certifications app, and issues the credential. The official title on the issuer's side is simply "Python Level 1 Certification."
The purpose of the exam is to verify foundational Python skills: reading and writing short programs, predicting what code will output, and recognizing correct syntax and logic. It is designed primarily for students working through CodeHS coursework in schools and districts, though it is open to anyone who can obtain a voucher. If you want a deeper explanation of the name itself, see our pages on what CHS-P1 stands for and the CHS-P1 meaning.
What CHS-P1 Is Not
Several programming credentials sound similar, so it helps to draw clear lines. CHS-P1 in this article is not:
- Python Institute PCEP. That is a separate certification from a different organization with its own syllabus. Preparing for one does not mean you have covered the other.
- A course-completion certificate. Finishing a CodeHS course does not award this credential. You must sit and pass the proctored exam.
- A teacher microcredential. The certification measures student programming skill, not instructional practice.
The matching CodeHS preparation material may overlap with topics on other certifications, but that overlap does not import another exam's syllabus into this one. Treat the CodeHS exam overview as the only authority on scope. For more on how the credential is positioned, read What Is CHS-P1 Certification?
Exam Format at a Glance
| Feature | CHS-P1 Detail |
|---|---|
| Question count | 45 multiple-choice questions |
| Time limit | 90 minutes, online |
| Passing score | 60% |
| Sittings | One continuous sitting required |
| Question selection | Randomly selected questions |
| Reference material | Python examination reference sheet provided |
| Suggested supplies | Paper, pencil, calculator |
| Prerequisites | None |
Ninety minutes for 45 questions works out to a generous two minutes per question. Time pressure is rarely the main problem; careful reading of code is. Because the exam must be finished in one sitting, you cannot pause and return the next day, so plan a block of uninterrupted time.
The Seven Exam Topic Groups
CodeHS lists seven top-level headings under "Topics and Concepts Covered." These are official topic groups, not a percentage-weighted blueprint, so you should not assume any one area carries a fixed share of the 45 questions. Here is what each group asks of you.
Domain 1: Data Types and Operators
The foundation of everything else. You need to know how Python represents values and how expressions are evaluated.
- Distinguish integers, floats, strings, and booleans
- Apply arithmetic, comparison, and logical operators in the right order of precedence
- Predict the result of mixed expressions, including type conversion
Domain 2: Conditionals
Decision-making in code: which branch runs, and why.
- Trace if, elif, and else chains to find the executed branch
- Evaluate compound boolean conditions using and, or, and not
- Spot logic errors where overlapping conditions give unexpected results
Domain 3: Loops
Repetition, and the control statements that alter it. The exam overview expressly includes continue.
- Read for and while loops and count iterations accurately
- Understand how break and continue change loop flow
- Recognize off-by-one mistakes and infinite-loop conditions
Domain 4: Program Structure
How a Python program is organized and how pieces of it interact.
- Read function definitions, parameters, and return values
- Follow how data flows into and out of functions
- Understand how statements are sequenced and organized in a complete program
Domain 5: Error Handling
What happens when code fails, and how a program can respond.
- Recognize common error types and the situations that cause them
- Read try and except structures and predict which block runs
- Distinguish syntax mistakes from runtime problems
Domain 6: Lists
Ordered collections, including nested ones. The overview explicitly names one- and two-dimensional lists, list methods, indexing, and slicing.
- Index and slice lists, including negative indexes
- Apply list methods and predict how they modify the list
- Navigate two-dimensional lists using row and column indexes
Domain 7: Strings
Text handling, which shares indexing and slicing ideas with lists but behaves differently in key ways.
- Index and slice strings and combine them with concatenation
- Apply string methods and predict the returned value
- Remember that strings are immutable, so methods return new strings
For a fuller walkthrough of each group, see the complete guide to all 7 CHS-P1 content areas.
What the Questions Feel Like
Every question is multiple choice, but expect more code reading than vocabulary recall. The typical item shows a short Python snippet and asks what it prints, what a variable holds after execution, or which line contains the problem. Others ask which of several snippets accomplishes a stated goal.
Where candidates lose points
- Slicing boundaries. Forgetting that the end index is excluded, for both lists and strings.
- Method return values. Assuming a string method changes the original string rather than returning a new one.
- Loop tracing. Miscounting iterations when continue skips part of the loop body.
- Nested lists. Swapping row and column indexes in two-dimensional lists.
- Operator precedence. Evaluating mixed arithmetic and boolean expressions left to right without applying precedence rules.
If you are wondering how demanding all this is, our difficulty guide breaks down what makes the exam easier or harder depending on your background.
Vouchers, Registration, and Retakes
Access to the exam runs through vouchers. CodeHS provides school and district voucher pricing by direct quote, and no public numeric fee was verified, so any specific dollar figure you see elsewhere should be treated with suspicion until confirmed with CodeHS. The mechanics are clearer than the price:
- One voucher, one attempt. Each purchased voucher permits a single exam attempt.
- Unlimited retakes in principle. There is no numerical cap on retakes, but every additional attempt needs another purchased voucher.
- Vouchers expire. Unused school or district vouchers expire at the end of the contract term and do not roll over between school years.
- No eligibility gate. There are no certification prerequisites. Introduction to Python Programming is recommended preparation, not a requirement.
The expiration rule matters for teachers and administrators: schedule exams within the contract year rather than leaving vouchers for later. Students testing through a school should ask their teacher how many vouchers the class holds before planning for retakes. For the full picture on price and eligibility, see the certification cost breakdown and the requirements guide.
Test-Day Rules and Proctoring
CHS-P1 can be taken at home or at school, with monitoring by a teacher or authorized proctor through the CodeHS Certifications app and Proctor Dashboard. The integrity framework has several layers:
- Honor Code. Candidates agree to it before starting.
- Randomly selected questions. Not every candidate sees the same exam.
- Focus Mode. This blocks navigation to other CodeHS pages during the exam. It is not described as a system-wide browser lockdown, so do not assume it controls everything on your device.
Prohibited during the exam
- Visiting external websites
- Collaborating with anyone
- Copying or sharing exam questions
- Running code in another website or program
That last rule surprises many students. You cannot test a snippet in an online Python editor to check your answer; you must reason it out by hand, which is why paper and a pencil are suggested. Extended-time and read-aloud accommodations are supported, and other requests go through platform review, so raise any needs with your teacher well before exam day.
Key Takeaway
Prepare the way you will test: trace code on paper, without running it. Candidates who rely on an editor to confirm outputs during practice often struggle when that safety net disappears.
Results, Certificate, and Expiration
Results are released within 36 hours on school days. You receive an overall score plus a topic-level performance report, which is especially useful if you need to retake: it shows which of the seven topic groups dragged your score down. Successful candidates get a downloadable certificate, and earned certificates expire after 10 years.
A decade-long validity window is generous for an entry-level credential, and it means a certificate earned in high school remains current through much of early adulthood. Whether that translates into career value is a separate question, explored in our ROI analysis.
Who Benefits From This Credential
CHS-P1 is an entry-level, skills-verification credential, and it is best understood as a proof point rather than a job ticket. The people who benefit most are:
- High school and middle school students in CodeHS courses who want a concrete record of Python proficiency for college applications, portfolios, or course credit conversations.
- Teachers and districts that want an external, standardized measure of whether students mastered the curriculum.
- Self-directed beginners who want a structured target to organize their first months of learning Python.
Employers generally do not hire on a Level 1 Python certificate alone. Its realistic value is as a signal of foundational ability and initiative, a stepping stone toward internships, further coursework, and more advanced credentials. If you are curious about career angles, our pages on CHS-P1 jobs and the earnings analysis discuss that carefully, without inflated claims.
Sequencing Your Preparation
The one planning decision that genuinely depends on CHS-P1's content is the order in which you tackle the seven topic groups. The groups build on each other, so sequence matters more than raw hours. Introduction to Python Programming is the recommended base, and CodeHS also lists a matching Level 1 Certification Practice course in its practice catalog. Those are preparation resources, not additional exam domains.
Data Types and Operators, then Conditionals
- Everything later depends on correct expression evaluation
- Trace boolean conditions by hand until branch selection is automatic
Loops and Program Structure
- Practice counting iterations, including break and continue
- Follow values through function parameters and return statements
Lists and Strings
- Drill indexing and slicing side by side to cement the shared rules
- Work two-dimensional list problems and method return values
Error Handling and full-length review
- Learn error types and try/except flow while earlier material is fresh
- Take timed 45-question practice sets with paper only, no code execution
Lists and strings come late on purpose: they reuse loops and conditionals constantly, so earlier weeks pay off there. For a broader plan, see the CHS-P1 study guide, and when you are ready to test yourself under realistic conditions, use the CHS-P1 practice tests to find your weakest topic groups.
Frequently Asked Questions
No. CHS-P1 is the CodeHS Python Level 1 Certification, issued and tested through CodeHS. PCEP is a separate credential from a different organization with its own syllabus. Preparing for one does not guarantee coverage of the other.
The exam has 45 multiple-choice questions and a 90-minute time limit. It must be completed in a single sitting, and questions are randomly selected.
No. There are no certification prerequisites. CodeHS recommends Introduction to Python Programming as preparation, but it is not an eligibility requirement. See the requirements guide for details.
You can retake the exam; there is no numerical limit on retakes. However, each attempt requires another purchased voucher, and unused school or district vouchers expire at the end of the contract term. Your topic-level performance report shows where to focus before the next try.
Yes. Testing is available at home or at school, monitored by a teacher or authorized proctor through the CodeHS Certifications app and Proctor Dashboard. Focus Mode blocks navigation to other CodeHS pages, and external websites, collaboration, and running code elsewhere are prohibited.