The investigation phase of the Component 3 non-exam assessment requires candidates to conduct a thorough analysis of a chosen problem to identify stakeholder requirements and system limitations. Candidates must research existing solutions, analyze current data flows and processing, and produce a formal working specification with measurable success criteria.
A programmed solution to a problem is the process of designing, writing, testing, and implementing a computer program to solve a specific real-world or theoretical problem. In the WJEC A-Level Computer Science specification, this topic is central to the coursework component (Non-Exam Assessment) and also appears in the written exams, where students must demonstrate an understanding of the systematic approach to problem-solving. The topic covers the full development lifecycle, from initial problem definition and requirements analysis through to design, coding, testing, and evaluation. It emphasises the importance of a structured methodology, such as the waterfall model or agile approaches, and requires students to apply computational thinking skills—decomposition, pattern recognition, abstraction, and algorithm design—to break down complex problems into manageable steps.
Mastering this topic is crucial because it forms the backbone of practical programming and software development. Beyond the exam, the ability to create a programmed solution is a fundamental skill in computer science, enabling students to automate tasks, analyse data, and build applications. In the WJEC A-Level, students are expected to produce a substantial piece of code (often in Python, Java, or C#) that solves a problem of their choice, accompanied by a written report documenting the process. This mirrors real-world software engineering practices and prepares students for further study or careers in technology. The topic also reinforces key concepts such as data structures, algorithms, and user interface design, making it a unifying theme across the entire specification.
Understanding how to approach a programmed solution systematically is not just about writing code; it involves critical thinking, planning, and reflection. Students learn to identify success criteria, choose appropriate algorithms, handle errors gracefully, and test thoroughly. The evaluation phase requires them to consider efficiency, usability, and maintainability—skills that are highly valued in industry. By the end of this topic, students should be able to independently manage a project from inception to completion, documenting each stage clearly and justifying their decisions.
Key skills and knowledge for this topic
Key points examiners look for in your answers
Expert advice for maximising your marks
Pitfalls to avoid in your exam answers
Common questions students ask about this topic
How questions on this topic are typically asked
Practice questions tailored to this topic