Contents
Concepts of Programming.....................................................................................................................1
Computational Thinking.........................................................................................................................1
Uses of Software Applications...............................................................................................................4
Features and Characteristics of programming languages......................................................................5
Programming constructs and techniques and their implementation in different languages...............10
Principles of logic applied to program design......................................................................................16
Quality of software applications..........................................................................................................18
P.1
Computational Thinking
Computational thinking is a problem-solving process that involves 4 major key parts, it helps
formulating problems that enable us to use a computer efficiently and the tools to solve them,
investigating a problem, analyse and identify potential solutions to these problems.
The 4 parts are: Decomposition, Pattern Recognition, Pattern Abstraction and Generalisation, I will
analyse the problems and processes to help identify solutions that can be developed into software
applications, the design below shows that it can be split into four separate steps.
Decomposition
Representation of Computational
problem elements Thinking Skills Pattern Recognition
Pattern generalization
and abstraction
Decomposition
This is the process of breaking things down into smaller steps to make them manageable, this can
be called ‘factoring’, without decomposition complex problems become much harder to solve and
overall is much more time consuming than if we were to use decomposition.
If we use decomposition, it will increase chances of a successful design and overall product, usually
there are steps in how to decompose called ‘sub-tasks’ these are tasks that eventually will lead to
the complex problem being solved although sometimes sub tasks can be even further decomposed.
An example of this would be making tea (7 steps):
1. Get a cup and a teabag
2. Put the teabag inside the cup and boil the kettle for hot water
3. Pour hot water into the cup that has the teabag inside (halfway)
, 4. Add Milk and the amount of sugar wanted
5. Stir the milk in the cup with a spoon
6. Take out the teabag or leave it in depending on how the tea is enjoyed.
7. Putting the tea on a table ready to consume.
Identifying and describing problems and processes
This is all about listing problems and processes clearly, for example using language that is to do with
the problem at hand for example in the finance sector, words like profit, taxes and return on
investment are usually used in those fields, so it’s important when describing or identifying
problems/processes that accurate terminologies are used in relation to the field/sector, this not only
shows understanding but also helps to be concise in explanation and apply knowledge.
Breaking down problems and processes into distinct steps
Make Breakfast
Make Toast Make Tea Add Milk
Toast Bread Add Jam
Butter Toast Boil Water Brew Tea
This stage involves decomposing complex problems and processes, if done correctly in separate
steps, if this is done correctly, they can be reassembled correctly in the right order, it is important to
note that there is no limit to the number of steps included or how many levels you can decompose.
You can simply decompose each step as many times until you reach an acceptable standard, for an
example the process of making breakfast is broken into many steps seen from the image above.
Describing problems and processes as a set of structured steps
This stage is all about documenting problems and processes that you have decomposed as steps, this
is to help the understanding and be easy to follow for you or by others.
An example of this would be comments or numbered items in a list to make it not only structured
but easy to see where the start and finish is of the current problem/process and to see how when
you recompose the steps, they end up creating the result,
Communicating key features of problems and processes to others
This stage involves discussing problems and processes to other people, including programmers or
even the client, once a problem has been decomposed it’s a good idea to check for any repeating
patterns.
Pattern recognition
, This (Pattern recognition) is the ability to see reoccurring attributes within a set of problems or
between different problems, an example of this could be a problem that has features which are like
problems previously encountered, recognising patterns is crucial as it makes problem solving easier
and often code simpler and concise.
Pattern recognition involves 5 key steps which are:
Identifying common elements or features in problems or systems:
Examining systems or problems for patterns and how they can be simplified.
Listing the elements and features that exist in each pattern a
Highlighting features that exist in multiple places (sets of codes repeated for buttons)
Recognising when something is a pattern (repeated consistently in the code)
Identifying and interpreting differences between processes or problems
Examining the problems (redundant code) and processes
Listing elements or features that exist in each problem/process.
Making sure to highlight parts of those problems or processes that are unique
Recognising these unique parts as differences.
Identifying Individual elements within problems. Involves:
Examining problems to identify inputs, processes (this includes selections and iterations)
outputs are also present.
Describing patterns that are identified.
Making predictions based on the patterns identified:
Each identified pattern needs to be determined by how they can be used in the future or
how they might reappear in similar situations.
Pattern generalisation and abstraction
Abstraction in computing, is a concept where systems are split into different layers, each layer hiding
the complexity of the layer beneath it.
Programmers are then allowed to use a feature without even having to know how it works,
irrelevant and intricate mechanics are simply abstracted away or removed.
Pattern generalisation is when relationships between patterns can be identified (this could be code
reused consistently in the program etc.) with which simple conclusions can appear, patterns can be
identified even if they don’t seem to have any similarities at first making it crucial to identify
patterns.
In forms of computer systems, for example laptops, computers and even mobile phones we can
identify patterns in the design, each system has a CPU, Storage Devices, processors, RAM is needed
in all computer systems and so on, to problem-solve efficiently you have to look past the obvious
physical differences and instead try to identify elements that are common and the relationship
between these elements.
There are two main parts in this phase of computational thinking:
Identify the information required to solve an identified problem by:
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller Green22. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $5.84. You're not tied to anything after your purchase.