Objective. Students will review all PCEP exam syllabus sections—computer programming fundamentals, Python basics, data types, control flow, functions, and Python collections—and score at least 70% on a full PCEP-format practice exam.
This lesson, its worked examples and its practice questions has not yet been verified by an industry-certified professional or by a certification or approval body. It is a study draft and may contain errors. Do not use it as instructions for work on a job site or on live equipment. Always follow your instructor, your supervising professional, and current official references and regulations.
VoTechWorks program approval and accreditation are still in progress. Credentials are issued only by the certifying bodies named in each program, after their own exams.
The PCEP — Certified Entry-Level Python Programmer — credential from the Python Institute validates that you can write, read, and reason about basic Python programs. Employers in web and software development use it as a reliable signal that a candidate understands the language at a working level, not just in theory. This lab treats the full PCEP syllabus as a checklist: you will find out exactly where your knowledge is solid and where gaps remain, then close those gaps before exam day.
The PCEP exam uses multiple formats in a single sitting: multiple-choice questions with one or more correct answers, fill-in-the-blank items where you type or select the exact output a code snippet would produce, and code-ordering (drag-and-drop) items where you arrange lines into correct sequence. Time is limited, so you must be able to read short code blocks quickly and reason through them without running the interpreter. Understanding this format is why the activities in today's lab deliberately ask you to predict output before you run anything.
The Python Institute publishes an official PCEP exam syllabus at pythoninstitute.org. Download it and keep it open throughout this lab. The major sections are:
1. Computer Programming Fundamentals — what programs are, how interpreters work, the concept of compilation vs. interpretation, basic I/O.
2. Python Basics — literals, variables, operators (arithmetic, comparison, logical, bitwise), operator precedence, comments, `print()` and `input()`.
3. Data Types and Type Casting — integers, floats, strings, Booleans, `type()`, explicit conversion with `int()`, `float()`, `str()`, and `bool()`.
4. Control Flow — `if / elif / else`, `while`, `for`, `range()`, `break`, `continue`, `pass`.
5. Functions — defining with `def`, parameters vs. arguments, return values, default parameter values, keyword arguments, scope (local vs. global), the `None` value.
6. Python Collections — lists (indexing, slicing, mutability, list methods), tuples (immutability), dictionaries (key-value pairs, common methods), and basic string operations.
Every question on the practice exam and on the real PCEP maps back to one of these sections. Your gap-tracking spreadsheet will use the same section names so you can see at a glance which areas to prioritize.
Operator precedence trips up most learners. Python follows standard mathematical precedence: exponentiation (`**`) is evaluated before unary minus, then multiplication and division, then addition and subtraction. Logical operators have even lower precedence: `not` before `and` before `or`. When in doubt, add parentheses — but on the exam you must read code that does not have them.
Scope is another frequent stumbling block. A variable assigned inside a function is local to that function unless you declare it `global`. Trying to read a local variable before it is assigned inside the same function raises an `UnboundLocalError`, not `NameError` — a distinction the exam tests.
List mutability vs. tuple immutability: lists can be changed in place; tuples cannot. When you assign a list to a second variable name and then modify the list, both names reflect the change because they point to the same object. This behavior does not apply to integers or strings, which are immutable.
String indexing: Python strings are zero-indexed. Negative indices count from the end: `s[-1]` is the last character. Slices use `s[start:stop]` where `stop` is exclusive.
`range()` behavior: `range(5)` produces `0, 1, 2, 3, 4` — five values, stopping before 5. `range(1, 6)` produces `1, 2, 3, 4, 5`. `range(0, 10, 2)` produces `0, 2, 4, 6, 8`. Exam items often require you to count the exact number of loop iterations.
This is a software lab, so physical hazards are minimal. However, several professional practices apply:
After you score the diagnostic, calculate your percentage per syllabus section, not just overall. A 72% overall score that hides a 45% score in Functions means your study time should go to Functions first. Enter each missed question in the gap-tracking spreadsheet with the syllabus section, the concept tested, and a one-sentence note about why you missed it. This turns errors into a personalized study guide.
During the coding lab, work through the exercises for your three weakest sections. For every exercise: write your predicted output as a comment before running the code, run it, then compare. If there is a discrepancy, do not move on until you can explain it in plain language. Understanding why the output differs from your prediction is the fastest path to closing the gap.
Your one-page cheat sheet should be selective, not exhaustive. Prioritize: operator precedence table, `range()` syntax, list slice syntax, function scope rules, and the five or six built-in functions most common on the PCEP (`len()`, `type()`, `int()`, `str()`, `float()`, `bool()`). When your partner reviews your cheat sheet, they should be able to spot anything missing, ambiguous, or incorrect. The timed 30-question practice set that follows is your final check before the real exam.
Answer each question, then check it. Nothing is recorded; this is your own practice.
A free tech program — complimentary, as our commitment to get America working. Help us build VoTechWorks. Tell us what works, what doesn’t, and what you want to learn.