BTEC LEVEL 3 IT
UNIT 4: PROGRAMMING
ASSIGNMENT 1
,Introduction:
In this report I will be discussing the many programming principles that are required in order to create a successful solution. I will be covering aspects of computational
thinking, giving real life examples of software applications, discussing different programming languages and their features as well as analysing and evaluating these
different principles to determine how effective they are.
Decomposition:
The process of decomposition means to break down a problem into smaller sub problems that are much easier to manage. It is a crucial step, especially for much larger,
complex problems to ensure success by allowing you to focus on each individual problem and its details.
o Identifying and describing problems and processes:
When identifying and describing problems and processes, the terminology used needs to be relevant to the given problem. For example, if the problem was based
around creating a video game you would ideally want to use terms related such as graphics, interface, character etc.
o Breaking down problems and processes into distinct steps:
Although one large problem can be decomposed into smaller sub problems, we can break these sub problems down even more. For example, during the creation of a
video game the game may be broken down into smaller components such as Characters and maps, which are broken down once again into even smaller components
such as character appearance or map design. Typically, programmers implement a visual representation of this, through the top-down design, otherwise known as
stepwise refinement. An example of this is show below, where we can see how each problem is constantly broken down until it becomes a single task.
o Describing problems and processes as a set of structure steps:
Once this stage has been reached, you must ensure that the problems and processes that you have decomposed are noted down as a set of steps, like the diagram above.
This makes the entire problem straightforward for you and others to follow.
o Communicating the key features of problems and processes to others as relevant:
, o Identifying and interpreting common differences between problems and processes:
This is a similar process to the last one, however, instead of looking for similarities we are now aiming to discover differences. So, instead of recognising the features
as patterns, we recognise them as differences.
o Identifying individual elements within problems:
To point out the individual elements, we must examine the problem and identify inputs, outputs and processes (which include selection and iteration).
o Describing patterns that have been identified
After this, describe the patterns that have been identified. To be mor specific, you can describe what these reoccurring patterns are and what they do.
o Making predictions based on identified patterns:
Now that we have listed and described all patterns, predictions need to be made based on them. For every pattern, you need to aim to predict how they can be reused in
the future or how they might appear under similar circumstances.
Pattern generalisation and abstraction:
By computing definition, abstraction is the process in which you remove excessive details in order to keep the key features, allowing a programmer to have a feature
knowing exactly how it functions as the irrelevant pieces have been removed, or “abstracted”.
Abstraction has two parts when put into practice.
o Identifying information required to solve an identified problem:
Firstly, we need to group the information that we need before solving the problem. This is done by:
- Understanding what information is needed
- Having a reason as to why this information is required
- Knowing the format in which this information must be presented in
- Knowing how soon the information is needed to prevent the solution from being delayed
o Filtering out information required to solve an identified problem:
Now, this information needs to be filtered. In order to achieve this, we need to figure out:
- The information that is no longer needed, as it created distraction
- Justifying why you decided to exclude it
Representation of problem elements:
To represent the problem elements, we must list the: