Paper 1 Unit 1 Flashcards
What is computational thinking?
A problem solving technique used to investigate and analyse a problem and then develop a solution to it. It helps to make problems more understandable.
What are messy problems?
Clusters of interrelated, interdependent complex problems where it is difficult to provide a definitive statement of what the problem is.
What is the top-down approach to programming?
A method of analysis that attempts to break down large problem into its smaller component parts.
What are the steps of top-down analysis?
The main program is broken down into main component parts. Each component is then broken down into a series of sub-problems. The sub-problems are further broken down until an easily solvable solution is made.
What is the bottom-up approach to programming?
A method of finding a solution to a program by solving smaller problems first and integrating them into a larger solution.
What are the advantages of using a bottom-up solution?
The smaller parts of the problem are easier to understand. By solving each of the smaller steps it is possible to create a solution to the bigger problem.
What is modularisation?
Separating the functional parts of a program into independent modules that can be recombined to create a solution.
What are the advantages of modularisation?
The functions (modules) can be allocated to different programmers to speed up the process. Programmers can be allocated to solve those parts of the problem requiring specialist skills. Debugging the elements individually can be more effective.
What are the disadvantages of modularisation?
The whole solution must be known in advance. Event-driven programming can ruin the structure of the neat top-down approach.
What is debugging?
Locating and fixing errors in a program.
What is decomposition?
Breaking down a complex problem into smaller component parts which are easier to understand and solve.
What are the advantages of decomposition?
Each sub program can be understood and developed and tested separately.
What are the disadvantages of decomposition?
The original problem must be fully understood so a solution can be produced. The sub-problems may not provide a fully functional solution to the original problem.
What is pattern recognition?
Looking for patterns or trends to identify potential solutions.
Why is using pattern recognition beneficial?
There may be existing solutions for some sub-problems that can be reused. There may be solutions to existing problems that can be modified to help solve the current issue. There may be a group of similar problems that can be fixed with a common core solution which may need to be created or modified.