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!