Learn Python step-by-step with interactive lessons
Loading challenge...
Ask me anything about Python, or run your code and I'll help you understand it!
This is your **Integrated Development Environment (IDE)**. Use this space to practice code, experiment, and run programs without a specific challenge objective.
Ask me anything about Python, get help with your code, or review a lesson!
Try asking: "How do I use a for loop?" or "What is an integer?"
This tool cross-references all Python Coach lessons and challenges against the major UK GCSE Computer Science specifications (AQA, OCR, Edexcel).
| Specification Requirement | Covered in Lesson(s) | AQA | OCR | Edexcel |
|---|---|---|---|---|
| Use of sequence | Throughout all lessons | ✓ | ✓ | ✓ |
| Use of selection (IF, ELIF, ELSE) | Lesson 10: Selection (IF/ELIF/ELSE) | ✓ | ✓ | ✓ |
| Use of iteration (FOR/WHILE) | Lesson 12: While Loops Lesson 13: For Loops | ✓ | ✓ | ✓ |
| Data types: Integer, Real/Float, Boolean, Character/String | Lesson 4: Data Types | ✓ | ✓ | ✓ |
| Casting/Type Conversion | Lesson 6: Input Function | ✓ | ✓ | ✓ |
| Assignment operator (=) | Lesson 3: Variables | ✓ | ✓ | ✓ |
| Arithmetic: +, -, *, /, //, %, ** | Lesson 5: Arithmetic Operators | ✓ | ✓ | ✓ |
| Comparison: ==, !=, <, >, <=, >= | Lesson 10: Selection (IF/ELIF/ELSE) | ✓ | ✓ | ✓ |
| Boolean/Logical: AND, OR, NOT | Lesson 11: Boolean Logic | ✓ | ✓ | ✓ |
| Input/Output (e.g., print/input) | Lesson 1: Print Statements Lesson 6: Input Function | ✓ | ✓ | ✓ |
| Specification Requirement | Covered in Lesson(s) | AQA | OCR | Edexcel |
|---|---|---|---|---|
| Arrays (1D Lists) | Lesson 14: Lists & Arrays | ✓ | ✓ | ✓ |
| Arrays (2D Lists) | Lesson 16: 2D Lists | ✓ | ✓ | ✓ |
| Dictionaries / Records | Lesson 19: Dictionaries | ✓ | ✓ | ✓ |
| String manipulation (e.g., length, sub-string, concatenation) | Lesson 7: String Concatenation Lesson 8: String Methods Lesson 9: Indexing & Slicing | ✓ | ✓ | ✓ |
| Specification Requirement | Covered in Lesson(s) | AQA | OCR | Edexcel |
|---|---|---|---|---|
| Defining and calling functions/procedures | Lesson 17: Functions | ✓ | ✓ | ✓ |
| Function parameters | Lesson 17: Functions | ✓ | ✓ | ✓ |
| Return values | Lesson 17: Functions | ✓ | ✓ | ✓ |
| Local vs global scope | Lesson 18: Local vs Global Scope | ✓ | ✓ | ✓ |
| Specification Requirement | Covered in Lesson(s) | AQA | OCR | Edexcel |
|---|---|---|---|---|
| Opening, writing to, closing a file (W, A modes) | Lesson 20: Writing to Files | ✓ | ✓ | ✓ |
| Reading from a file (R mode, readlines) | Lesson 21: Reading from Files | ✓ | ✓ | ✓ |
| Specification Requirement | Covered in Lesson(s) | AQA | OCR | Edexcel |
|---|---|---|---|---|
| Validation (e.g., presence, length, type, range) | Lesson 26: Validation | ✓ | ✓ | ✓ |
| Error Handling (TRY/EXCEPT) | Lesson 23: Error Handling | ✓ | ✓ | ✓ |
| Specification Requirement | Covered in Lesson(s) | AQA | OCR | Edexcel |
|---|---|---|---|---|
| Linear Search | Lesson 22: Linear Search | ✓ | ✓ | ✓ |
| Binary Search | Lesson 24: Binary Search | ✓ | ✓ | ✓ |
| Bubble Sort | Lesson 25: Bubble Sort | ✓ | ✓ | ✓ |
| Specification Requirement | Covered in Lesson(s) | AQA | OCR | Edexcel |
|---|---|---|---|---|
| Authentication/Passwords | Lesson 27: Authentication | ✓ | ✓ | ✓ |
| Comments | Lesson 2: Comments | ✓ | ✓ | ✓ |
| Formatting (good practice, indentation) | Throughout all lessons | ✓ | ✓ | ✓ |
Note: Database operations (like SQL, CRUD) are not covered by the core Python lessons, as these are board-specific topics (e.g., OCR J277-2.3, AQA 3.4.1.3). The focus is on core Python programming.
| Specification Requirement | Covered in Lesson(s) | AQA | OCR | Edexcel |
|---|---|---|---|---|
| SQL / CRUD operations | Not Covered | ✓ |
Click on the lesson links above or navigate to the Challenges page to begin your Python journey!