This topic covers the description, interpretation, and manipulation of various data structures, including arrays up to three dimensions, records, stacks, queues, trees, linked lists, and hash tables. It requires learners to represent these structures using pointers and arrays, and to select and justify the most appropriate data structure for specific computational problems.
Programming and System Development is a core component of the WJEC A-Level Computer Science specification, focusing on the principles and practices behind creating reliable, efficient, and maintainable software. This topic covers the entire software development lifecycle, from initial problem analysis and design through to implementation, testing, and maintenance. Students learn to apply computational thinking—decomposition, pattern recognition, abstraction, and algorithmic design—to break down complex problems into manageable parts. Mastery of this area is essential for developing robust programs and understanding how professional software is engineered.
The topic emphasizes both theoretical concepts and practical skills. You will explore different programming paradigms (procedural, object-oriented, and functional), data structures (arrays, lists, stacks, queues, trees, graphs), and algorithms (searching, sorting, recursion). System development methodologies such as the waterfall model, agile, and extreme programming are examined, along with their suitability for different project types. Understanding these methodologies helps you appreciate the importance of planning, documentation, and iterative improvement in real-world software projects.
This knowledge directly supports other A-Level topics like data structures, algorithms, and databases, and is fundamental for any further study or career in computing. By the end of this topic, you should be able to design, implement, test, and evaluate a solution to a given problem, using appropriate tools and techniques. The skills you develop here—logical reasoning, attention to detail, and systematic problem-solving—are highly valued in both academic and professional settings.
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