What to expect
Your teacher will give you the details of how the specialism is assessed. In general you'll work from a client brief and take a piece of software through the whole development process:
- Understand the brief: who the client and users are, and what they need.
- Plan and design: requirements, algorithms, data and interface.
- Build: write clear, robust, well-commented code.
- Test: plan the tests, run them, fix what fails and record what you did.
- Review: judge how well the solution meets the brief and how you'd improve it.
★ ASK YOUR TEACHER
- How is the specialism assessed, and when?
- What evidence do I need to produce (code, documents, screenshots, recordings)?
- Which tools and languages will be available?
- Can I see an example brief to practise on?
Practical skills and where to revise them
| Skill | What good looks like | Revise |
|---|---|---|
| Analysing a brief | Clear, measurable requirements that come from the client's needs | Decomposition and abstraction (1.1), SMARTER objectives (5.4.4), end users (3.1.3) |
| Designing algorithms | Flowcharts or pseudocode that someone else could follow | Algorithmic design (1.2), common algorithms (2.11) |
| Designing data | Sensible data types and structures, a data model, the right file format | Data types (2.1), data structures (2.3), data formats (6.5), data models (6.10) |
| Writing code | Readable names, functions, comments and consistent style | Functions (2.7), programming practices (2.9) |
| Robust code | Validates input, handles errors and doesn't crash | Validation (2.8), robust code (2.10) |
| Testing | A test plan with valid, boundary, invalid and erroneous data, with expected and actual results | Testing (2.12) |
| Security | Safe handling of passwords and personal data, protection against injection | Threat mitigation (8.3.1), Data Protection Act (4.1.3) |
| Working with data | Reading files, summarising and visualising data | Text files (2.5), pandas and matplotlib, visualisation (6.9) |
| Managing change | Version control, documentation, rollback plans | Change management (5.4.4) |
| Professional practice | Keeping your skills up to date and communicating with clients | Professional development (3.1.4), placement page |
| Evaluating | Balanced judgements backed up by evidence | Writing an evaluation, judging an algorithm (2.9.7) |
Practice projects
The best way to prepare is to build small, complete projects from start to finish. Pick one, give yourself a time limit, and work through the checklist below.
| Project | The client wants... | Stretch |
|---|---|---|
| Café stock tracker | To record stock levels, warn when an item is running low and save everything to a CSV file | A weekly chart of what's been used, with pandas and matplotlib |
| Gym booking system | Members to book classes with a capacity limit, without anyone being double-booked | A waiting list, and a report of the most popular classes |
| Quiz app | To load questions from a file, ask them in a random order and keep a high-score table | Questions by topic, and a timer for each question |
| Password checker | To check new passwords against strength rules and store them securely | Hashing with a salt (see 8.3.1), and a limit on login attempts |
| Library loans | To track who has borrowed which book and when it's due back | Overdue fines, and a search by author or title |
Project checklist
Tick each step as you finish it. Your ticks are saved on this device.