Computer-science_A-level_Cie
-
computers-and-components6 主题
-
logic-gates-and-logic-circuits2 主题
-
central-processing-unit-cpu-architecture6 主题
-
assembly-language-4 主题
-
bit-manipulation1 主题
-
operating-systems3 主题
-
language-translators2 主题
-
data-security3 主题
-
data-integrity1 主题
-
ethics-and-ownership3 主题
-
database-concepts3 主题
-
database-management-systems-dbms-1 主题
-
data-definition-language-ddl-and-data-manipulation-language-dml1 主题
-
computational-thinking-skills1 主题
-
algorithms14 主题
-
data-types-and-records2 主题
-
arrays2 主题
-
files1 主题
-
introduction-to-abstract-data-types-adt1 主题
-
programming-basics1 主题
-
constructs2 主题
-
structured-programming1 主题
-
program-development-life-cycle2 主题
-
program-design-2 主题
-
program-testing-and-maintenance3 主题
-
user-defined-data-types1 主题
-
file-organisation-and-access-3 主题
-
floating-point-numbers-representation-and-manipulation3 主题
-
protocols2 主题
-
circuit-switching-packet-switching1 主题
-
processors-parallel-processing-and-virtual-machines5 主题
-
boolean-algebra-and-logic-circuits4 主题
-
purposes-of-an-operating-system-os3 主题
-
translation-software3 主题
-
encryption-encryption-protocols-and-digital-certificates3 主题
-
artificial-intelligence-ai4 主题
-
recursion1 主题
-
programming-paradigms4 主题
-
object-oriented-programming7 主题
-
file-processing-and-exception-handling2 主题
-
data-representation5 主题
-
multimedia3 主题
-
compression2 主题
-
networks-and-the-internet11 主题
refinement-and-logic
Stepwise refinement
What is stepwise refinement?
-
Stepwise refinement is the process of breaking down a complex problem into smaller, more manageable sub-problems in a logical order
-
Each sub-problem is refined step by step until it is simple enough to be solved with a single subroutine or module
-
This method ensures that the overall problem can be solved by addressing each part individually, in a structured and efficient way
Relationship to decomposition and top-down design
-
Decomposition is the general concept of breaking a problem down into smaller parts
-
Top-down design is the strategy used to perform decomposition
-
Stepwise refinement is the process used in top-down design to gradually refine each major task into simpler sub-tasks
-
In other words, stepwise refinement is how top-down design is implemented
Benefits of stepwise refinement
-
Helps developers understand and organise the structure of a program
-
Makes testing and debugging easier through unit testing of individual subroutines
-
Encourages code reuse by breaking tasks into reusable components
-
Supports collaborative development, as tasks can be divided between team members
-
Each subroutine should:
-
Be clear and focused on a single task
-
Be simple enough to implement directly
-
Not need further breakdown
-
Example: Calculating student grades
-
Here’s how stepwise refinement could be applied to a program designed to calculate student grades for a teacher’s classes:
Top-level task:
-
Calculate grades for all students in all classes
Stepwise refinement:
-
Step 1 – Calculate the grade for each assessment
-
For each question:
-
Mark the question
-
Store the mark
-
-
Sum the marks for all questions in the assessment
-
-
Step 2 – Calculate the average grade for each student
-
Add together grades from all assessments
-
Divide by the number of assessments
-
Store the average
-
-
Step 3 – Repeat for each class
-
For every student in the class:
-
Perform Steps 1 and 2
-
-
-
This structured breakdown allows each task to be turned into a subroutine, simplifying the design, implementation, and testing of the overall program
Responses