This essay/assignment covers Unit 4 - Programming Assignment 1 only and all criteria have been met to achieve the highest grade (Distinction) along with correct structure. Just follow the content step by step to save time. Note: This would support those in achieving distinction in an effortless way...
Table of content
P1.......................................................................................................................................................3
Computational Thinking Skills............................................................................................................3
Decomposition:..................................................................................................................................3
Identifying and describing problems and processes:.........................................................................3
Breaking down problems and processes into distinct steps:.............................................................3
Describing problems and processes as a set of structured steps:......................................................4
Communicating the key features of problems and processes to others:...........................................4
Pattern recognition:...........................................................................................................................4
Identifying common elements or features in problems or systems:..................................................4
Identifying individual elements within problems:..............................................................................4
Describing patterns that have been identified:..................................................................................4
Making predictions based on identified patterns:.............................................................................4
Pattern generalisation and abstraction:.............................................................................................4
Identify the information required to solve an identified problem:....................................................5
Filter out the information not required to solve and identified problem:.........................................5
Representing parts of a problem or system in general terms:...........................................................5
Variables:...........................................................................................................................................5
Constants:..........................................................................................................................................5
Key processes:...................................................................................................................................5
Repeated processes:..........................................................................................................................5
Inputs:................................................................................................................................................6
Outputs:.............................................................................................................................................6
P2.......................................................................................................................................................6
Uses of software applications:...........................................................................................................6
Gaming:.............................................................................................................................................6
Entertainment:..................................................................................................................................6
Productivity:......................................................................................................................................6
Social media:......................................................................................................................................6
Search engines:..................................................................................................................................7
Features and characteristics of programming languages:.................................................................7
Binary:................................................................................................................................................7
Uses and applications of high-level languages and low-level languages:...........................................8
Programming paradigms:..................................................................................................................8
1|Page
, Unit 4 – Programming Development
Procedural:........................................................................................................................................8
Object-oriented (OO):........................................................................................................................9
Machine:............................................................................................................................................9
Event-driven (ED):............................................................................................................................10
Mark-up:..........................................................................................................................................10
Scripting:..........................................................................................................................................11
Hardware and software needed for running and developing a program:........................................11
Special devices required:.................................................................................................................11
Performance:...................................................................................................................................12
Preferred application areas:............................................................................................................12
Ease of development:......................................................................................................................13
P3.....................................................................................................................................................13
Programming constructs and techniques and their implementation in different languages...........13
Command words:.............................................................................................................................13
Identifiers:........................................................................................................................................13
Data types:.......................................................................................................................................14
Implementation of programming languages:..................................................................................15
Statements:.....................................................................................................................................15
Control structures:...........................................................................................................................15
Logical operations:...........................................................................................................................16
Subroutines, functions and procedures:..........................................................................................16
Data structures:...............................................................................................................................17
String (or text):.................................................................................................................................17
M1...................................................................................................................................................20
Mathematical logic:.........................................................................................................................20
Iteration:..........................................................................................................................................20
Propositional logic:..........................................................................................................................21
D1....................................................................................................................................................22
Quality of software applications......................................................................................................22
Efficiency or performance:...............................................................................................................22
Reliability:........................................................................................................................................22
Portability:.......................................................................................................................................22
Robustness:.....................................................................................................................................23
Maintainability:................................................................................................................................23
Usability:..........................................................................................................................................23
Bibliography:....................................................................................................................................24
2|Page
, Unit 4 – Programming Development
Unit 4 – Programming Development Part A
P1
Computational Thinking Skills
Computational thinking enables us to examine a difficult problem, comprehend its nature,
and devise potential solutions. These solutions can then be presented in a fashion that a
human, a computer, or both can understand. A difficult problem is one that we do not know
how to tackle effectively at first glance. There are four key techniques of computational
thinking. These four techniques help to investigate a complex problem, analyse it with
different methods and identify the potential solutions that can be used for the further
development of software applications. The four techniques of the computational thinking
are Decomposition, Pattern recognition, Pattern generalisation and abstraction, and
Representation of problem elements.
Decomposition:
Decomposition is the process of breaking down a problem into smaller sections to make it
easier to cope with. This process makes the problems smaller and smaller problems are
easier to work with. Decomposition is also called Factoring. This method is beneficial as it is
easier to fix multiple minor problems than it is to tackle a single large one, which increases
the likelihood of succeeding. It gives the opportunity to focus on single small problems one
at a time, which allows to examine the single details closely. Programming decomposition
has four stages of itself.
Identifying and describing problems and processes:
It is the initial stage, and we must outline problems and processes effectively, using
terminology that corresponds to the cause of the problem. For example, someone runs a
business and face problem with their financial side, they will have to use terms from the
financial sectors. They have to be familiar with the terms of their business so that they can
find the possible solutions when they face problem.
Breaking down problems and processes into distinct steps:
This is the second stage where the complex problems are required to be decomposed and
processed into separated ways which should be taken together so they can be reassembled
3|Page
, Unit 4 – Programming Development
perfectly. There should not be any number of steps followed to decompose the problems. It
is must to decompose the problems until it is completely understandable. For example, we
have an issue figuring out someone's net pay, which is their wage after taxes.
Describing problems and processes as a set of structured steps:
This is the third stage, and we must now describe the challenges and procedures that we
have broken down into a series of structured phases. This should be simple to comprehend
for everybody because we may not have been the only ones attempting to tackle this issue.
Communicating the key features of problems and processes to
others:
This is the final step, and we must now address the issues and methods with others. Other
programmers or the client may fall under this category of people to discuss with. We need
to look into the stages involved after decomposing a complicated problem into minor ones
to determine if there are any recurrent patterns.
Pattern recognition:
This is the capacity to recognise repeating characteristics both inside and across issues. For
example, a new problem with characteristics that are comparable to those of a previously
learned and handled problem. Recognising these recurring patterns will make issue solution
much easier since it will give an excellent starting point. This process itself has five key steps.
Identifying common elements or features in problems or systems:
This step entails examining the problems or systems and making a list of the aspects or
characteristics that each has. After that, we must identify patterns by highlighting those that
appear in several places.
Identifying individual elements within problems:
We must investigate problems at this stage in order to determine the inputs, activities, and
outputs that are present.
Describing patterns that have been identified:
In this stage we need to describe the characteristics so that we can figure out which one is
which and how to exploit it to our benefit.
Making predictions based on identified patterns:
This is the last stage where it has to be determined how we may use each recognised
pattern in the future or how it may arise in similar scenarios.
Pattern generalisation and abstraction:
Abstraction is a notion in computing in which systems are divided into layers. Each layer
here conceals the complexity of the layer behind it. This enables a coder to use features
without having to understand how they perform. The irrelevant and complex mechanisms
get simply abstracted; they are taken away or deleted. This step itself has two parts of the
phase.
4|Page
, Unit 4 – Programming Development
Identify the information required to solve an identified problem:
We must first determine what information we require, as well as our motivations for
requiring it, to succeed this part. We also have to know the manner in which this
information must be delivered and when it must be delivered in order to avoid a delay in
the solution.
Filter out the information not required to solve and identified
problem:
We need to know what information is not required so that this is not a distraction, and we
also need to know and defend why we have left out this information in order to achieve this
part.
Representing parts of a problem or system in general terms:
Variables:
These are data from a problem or system that may vary, and they might be user-inputted or
the result of a needed computation.
This is an example of variable in
Java programming language.
Constants:
Those are values from an issue or system that do not fluctuate or remain constant for a
reasonable amount of time, such as the 20 percent base rate of income tax.
This is an example of constant
in C programming language.
Key processes:
These are procedures that are absolutely necessary for comprehending an issue or the
operation of a system.
Repeated processes:
These are processes that repeat themselves throughout an issue.
5|Page
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 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 Afsar08. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for £4.99. You're not tied to anything after your purchase.