- The exam has 45 multiple-choice questions in 90 minutes, and you need 60% to pass.
- Seven official topic groups define the scope: from Data Types and Operators through Strings.
- No prerequisite exists; Introduction to Python Programming is recommended preparation, not a requirement.
- Each voucher covers one attempt, so thorough training before your first sitting saves a repurchase.
What "CHS-P1 Training" Actually Covers
CHS-P1, as used on this site, means the CodeHS Python Level 1 Certification. It is an exam administered through the CodeHS platform, and "training" for it means building the Python reading and reasoning skills that the exam measures. It is not a separate paid course you must complete, and it is not a different credential that happens to share a similar abbreviation. If you want the plain-language definition first, see What Is CHS-P1? and CHS-P1 Certification.
Because there are no certification prerequisites, anyone can sit the exam. In practice, most candidates are students whose teachers have purchased vouchers for a class or school. CodeHS recommends Introduction to Python Programming as preparation, but recommended is not required. Our CHS-P1 requirements guide covers eligibility in more detail.
Effective training has one job: make you fluent enough in core Python that you can read a short code snippet, trace what it does, and pick the correct answer from several choices in well under two minutes per question. Everything below is organized around that goal.
The Exam You Are Training For
Good training mirrors the real test. Here is what the format looks like, drawn from the CodeHS certification documentation.
| Feature | CHS-P1 Detail |
|---|---|
| Question count | 45 multiple-choice questions |
| Time limit | 90 minutes, online, completed in one sitting |
| Passing score | 60% |
| Question selection | Randomly selected questions; an Honor Code applies |
| Reference material | Python examination reference sheet provided |
| Suggested supplies | Paper, a pencil, and a calculator |
| Results | Overall score plus topic-level performance report, released within 36 hours on school days |
Ninety minutes for 45 questions averages two minutes per question. That pacing is generous for a question you understand and tight for one that requires careful tracing, which is why training should include timed practice rather than only untimed reading. For a deeper look at the scoring threshold, read CHS-P1 Passing Score.
Training Plan by Domain
The issuer's exam overview lists seven top-level topic groups. These are official exam-topic groups, not a percentage-weighted blueprint, so do not assume one domain counts for more than another. Train all seven. For a full walkthrough of each area, see the complete guide to all seven content areas.
Domain 1: Data Types and Operators
This is the foundation. Every later domain assumes you can predict what an expression evaluates to.
- Know the difference between integers, floats, strings, and booleans, and what happens when you mix them.
- Practice arithmetic, comparison, and logical operators, including operator precedence.
- Be able to trace type conversions and predict output from print statements.
Domain 2: Conditionals
Expect snippets with branching logic where you must determine which branch executes.
- Trace if, elif, and else chains with specific input values.
- Watch for boolean expressions combining and, or, and not.
- Notice when overlapping conditions mean an earlier branch shadows a later one.
Domain 3: Loops
Loops are where careless tracing costs points. The overview expressly includes continue, so you need to know how it differs from stopping a loop entirely.
- Trace for and while loops, including range with different start, stop, and step values.
- Understand how continue skips the rest of an iteration while the loop proceeds.
- Recognize off-by-one boundaries and loops that never terminate.
Domain 4: Program Structure
This group covers how Python programs are organized: functions, parameters, return values, and flow between them.
- Distinguish between a function that prints and one that returns.
- Follow arguments into parameters and return values back to the caller.
- Understand variable scope well enough to predict what a function can see.
Domain 5: Error Handling
Questions here test whether you can predict how a program behaves when something goes wrong.
- Learn the try and except pattern and what runs in each situation.
- Recognize common error types and which operations cause them.
- Trace what prints when an exception is raised partway through a block.
Domain 6: Lists
The overview expressly includes one- and two-dimensional lists, list methods, indexing, and slicing. This is a high-yield area because list questions combine several skills at once.
- Practice indexing, including negative indexes, and slicing with start, stop, and step.
- Know what list methods do and whether they modify the list in place or return a new value.
- Trace nested lists, such as grids, using row-and-column indexing.
Domain 7: Strings
Strings share indexing and slicing with lists, but they behave differently in one key way.
- Practice string methods and predict what each returns.
- Remember that strings are immutable, so methods return new strings rather than altering the original.
- Apply indexing and slicing to strings, then combine them with loops and conditionals.
Official and Practice Resources
CodeHS publishes a matching Level 1 Certification Practice course in its practice course catalog, and its Introduction to Python Programming course is the recommended preparation path. Both are useful, but treat them as preparation rather than as the definition of the exam. A practice course listing does not establish exhaustive exam coverage, and other certifications that overlap with the introductory course have their own syllabuses that are not part of this exam.
One honest caveat: the downloadable certification guide and sample questions linked from the CodeHS help center could not be re-retrieved during our latest review. We therefore anchor our scope claims to the complete HTML exam overview only, rather than to documents we could not verify. When you train, check the current CodeHS overview yourself and compare it against any third-party material.
For a structured approach to using these materials, see the CHS-P1 study guide, and keep the one-page cheat sheet handy for last-minute review. For timed, exam-style questions, use the CHS-P1 practice tests.
Training Your Code-Reading Skills
Because the exam is multiple choice and delivered online, it rewards reading and tracing over typing. Many candidates who are comfortable writing code in an editor still lose points because they have not practiced predicting output by hand. Build these habits.
Trace on paper
CodeHS suggests paper and a pencil for a reason. Write down variable values line by line as you trace. For loops, keep a small table with one column per variable and one row per iteration.
Predict before you check
When you practice in an editor, write your predicted output first, then run the code. The gap between prediction and result shows exactly where your mental model is wrong. Do this during training only: during the real exam, running code in another website or program is prohibited.
Read the answer choices as clues
Wrong options are often built from predictable mistakes: an off-by-one index, a mutated versus unmutated list, or a printed value instead of a returned one. If you can name the mistake behind each distractor, you are thinking like the test.
A Domain-Ordered Schedule
The sequencing below follows dependency, not difficulty. Later domains reuse earlier ones, so working in this order means each week reinforces the last. Adjust the length to your own timeline.
Data Types and Operators, then Conditionals
- Trace expressions and type conversions until prediction is fast.
- Work branching problems with boundary values such as equal-to cases.
Loops and Program Structure
- Trace loops with continue and varied range arguments.
- Practice functions with parameters and returns, separating printing from returning.
Lists and Strings
- Spend the most time here: indexing, slicing, methods, and two-dimensional lists.
- Compare list mutability against string immutability side by side.
Error Handling and Full Timed Practice
- Learn exception flow, then take timed 45-question sets within 90 minutes.
- Use your topic-level misses to decide which domains to revisit.
Lists and Strings get the heaviest block because they combine indexing, slicing, methods, and loops in a single question. If you are short on time, protect that week first. To gauge whether your preparation matches the challenge, read How Hard Is the CHS-P1 Exam?
Exam-Day Mechanics to Rehearse
Part of training is removing surprises. The exam is delivered through the CodeHS Certifications app, with a teacher or authorized proctor monitoring through the Proctor Dashboard. It can be taken at home or at school.
- One sitting only. You must finish in a single session, so plan an uninterrupted 90-minute block.
- Focus Mode. It blocks navigation to other CodeHS pages. It is not described as a system-wide browser lockdown, but you should still treat the exam as a closed-book session.
- Prohibited actions. External websites, collaboration, copying or sharing exam questions, and running code in another website or program are not allowed, and the Honor Code applies.
- Permitted aids. A Python examination reference sheet is provided, and CodeHS suggests paper, a pencil, and a calculator.
- Accommodations. Extended-time and read-aloud accommodations are supported; other requests require platform review, so ask early.
Key Takeaway
Do at least one full timed practice run under realistic conditions: 45 questions, 90 minutes, paper for tracing, no outside help. Familiarity with the pace and the interface removes a surprising amount of stress. Check the exam dates and scheduling guide for how testing windows are arranged.
After Training: Results, Retakes, and the Certificate
Results are released within 36 hours on school days. You receive an overall score and a topic-level performance report, which is useful because it shows where to focus if you need another attempt. Successful candidates receive a downloadable certificate, and earned certificates expire after 10 years.
The money side matters for training intensity. CodeHS provides school and district voucher pricing by direct quote, and no public numeric fee was verified, so we do not quote a price. Each purchased voucher permits one attempt. Retakes have no numerical limit, but every additional attempt requires another purchased voucher, and unused school or district vouchers expire at the end of the contract term without rolling over between school years. That makes first-attempt readiness genuinely valuable. See CHS-P1 certification cost for how voucher pricing works.
As for what the credential does for you, it is a demonstration of foundational Python skill rather than a professional license. Whether it is worth the effort depends on your goals, which we weigh in Is the CHS-P1 Certification Worth It?
Frequently Asked Questions
No. There are no certification prerequisites. Introduction to Python Programming is recommended preparation, but it is not an eligibility requirement.
The exam has 45 multiple-choice questions and a 90-minute time limit. It must be completed in one sitting, and you need 60% to pass.
Seven official topic groups: Data Types and Operators, Conditionals, Loops, Program Structure, Error Handling, Lists, and Strings. The overview specifically includes continue, one- and two-dimensional lists, list and string methods, indexing, and slicing.
Yes. There is no numerical limit on retakes, but each additional attempt requires another purchased voucher, since every voucher covers one attempt.
CodeHS suggests paper, a pencil, and a calculator, and a Python reference sheet is provided. External websites, collaboration, and running code in another website or program are prohibited.
Training for CHS-P1 comes down to fluent tracing across seven well-defined topic groups. Work through them in order, spend extra time on lists and strings, rehearse the timed format, and use the practice tests to find your weak spots before your voucher is spent.