GCSE Computer Science NEA Tips
The NEA (Non-Exam Assessment) is your chance to show what you can build. While GCSE NEA is no longer externally assessed for most boards, it still develops the skills you'll be tested on in Paper 2 — and for A-Level, the NEA is worth 20% of your grade. Here's how to do it well.
Choose the right project
The biggest mistake students make is picking a project that's too ambitious or too simple. You want something that:
- Has a clear problem to solve — "I want to build a quiz app" is better than "I want to make something cool"
- Uses multiple programming techniques — selection, iteration, functions, file handling, data structures
- Is achievable in the time you have — 20-40 hours of coding is typical
- Interests you — you'll be working on it for months, so choose something you actually care about
Good project ideas
- A quiz system with score tracking, categories and a leaderboard (file handling + data structures)
- A text-based adventure game with inventory management (OOP + complex logic)
- A student grade tracker that calculates averages and generates reports (file I/O + algorithms)
- A simple encryption/decryption tool (string manipulation + algorithms)
- A library management system with search and borrowing (CRUD + file handling)
Plan before you code
Examiners want to see evidence of planning. Before writing a single line of Python:
- Define the problem clearly — who is the user? What do they need?
- List the features — break the project into specific, testable features
- Draw flowcharts or pseudocode — show the logic of key algorithms
- Design the data — what variables, lists, dictionaries or files will you need?
- Plan your testing — write test cases before you code (what inputs should produce what outputs?)
Code techniques that score marks
Your NEA should demonstrate as many of these as possible:
- Input validation — never trust user input; always check it's the right type and range
- Functions with parameters and return values — not just functions that print things
- File handling — reading from and writing to text or CSV files
- Data structures — lists, dictionaries, possibly 2D arrays
- Error handling — try/except blocks for predictable errors
- Meaningful variable names —
student_scorenotx - Comments — explain why, not what
Practice these techniques with structured coding challenges before applying them to your project.
Testing and documentation
Testing is where many students lose marks because they treat it as an afterthought. Good testing means:
- Normal data — inputs the program should handle correctly
- Boundary data — edge cases (empty input, maximum values, exactly-on-the-limit values)
- Erroneous data — inputs the program should reject (wrong type, out of range, negative numbers)
For each test, record: the input, the expected output, the actual output, and whether it passed. Screenshots help.
A-Level NEA: what's different
If you're doing A-Level, the NEA is worth 20% of your final grade and expectations are significantly higher:
- You must use object-oriented programming — classes, inheritance, encapsulation
- The project should be substantially more complex — think hundreds of lines, not dozens
- You need a real stakeholder — someone who would actually use your solution
- The write-up should include analysis, design, implementation, testing and evaluation
Need NEA guidance? Our private tutoring includes NEA support — from choosing a project to polishing the write-up. Register your interest.