is computation thinking?
thinking allows us to take a complex problem, understand what the problem is
and develop possible solutions. We can then present these solutions in a way
that a computer, a human, or both, can understand.
four main cornerstones of computation thinking theirs decomposition, pattern
recognition, Pattern generalisation and
What is decomposition?
breaking down a complex problem or system into smaller parts that are more
manageable and easier to understand. The smaller parts can then be examined and
solved, or designed individually, as they are simpler to work with.
What is Pattern recognition?
In IT (information technology) pattern recognition
is a branch of machine learning that uses the recognition of data patterns,
regularities in certain scenario. Pattern recognition can either be supervised
where previously known patterns can be found in a given data or unsupervised where
entirely new patterns are discovered.
Pattern generalisation and abstraction.
Abstraction involves filtering out – essentially,
ignoring – the characteristics that we don’t need in order to concentrate on
those that we do.
Abstraction allows us to create a
general idea of what the problem is and how to solve it. The process instructs
us to remove all specific detail, and any patterns that will not help us solve
Explain the uses of software applications and how they can solve
problems and meet the needs of clients.
Evaluate the features and characteristics of different programming
Python is a simple and minimalistic language. Reading a good
Python program feels almost like reading English. This pseudo code nature of
Python is one of its greatest strengths. It allows you to concentrate on the
solution to the problem rather than the syntax i.e. the language itself.
Easy to learn ? Python has few keywords, simple structure, and a clearly
defined syntax. This allows the student to pick up the language quickly.
Easy to read ? Python
code is more clearly defined and visible to the eyes.
Easy to maintain ? Python’s source code is fairly easy to maintain.
A broad standard library ? Python’s bulk of the library is very portable and cross platform
compatible on UNIX, Windows, and Macintosh.
Is an object oriented programming language
Have huge Function Library
It is a highly flexible language with Versatility
Can be used for developing System Software viz.,
operating systems, compilers, editors and data bases.
Syntax based language
Use of Pointers
is a very simple program for coding which is at a high performance level
because it is compiled into bytecode
which are highly optimized by the Java compiler it is also a secured program, it is also portable
and is an independent platform which means that Java code is compiled into intermediate format
(bytecode), which can be executed on any systems for which Java virtual machine
is ported. That means you can write a Java program once and run it on Windows,
Mac, Linux or Solaris without re compiling. Object oriented which is a methodology
that simplify software development and maintenance by providing some rules.
Pros: low level
language allows you to work with bare metal like device drivers; it’s been
around forever so there is plenty of material available, both books and
software, for it; it’s portable to nearly every operating system.
Cons: it’s low level, so you have to continually create data
structures from data primitives; the STL can be a pain to work with; very easy
to have security issues, like buffer overflows; not necessarily user friendly
compared to higher level languages.
Pros: high level language,
with garbage collection, so it’s easier to work with than C++; very common in
enterprises; still in the top 5 of popularity; reasonably easy to learn; many
Cons: changes in each
version often means broken backward compatibility, leading to multiple language
versions on a system; write once, run anywhere isn’t always true; the
popularity depresses salaries for Java workers compared to other languages; not
really found “in the wild”, i.e. most commonly found inside corporate
enterprises; can’t do low level work.
Pros: possibly the easiest language to learn, as the code looks like pseudo code;
nearly 20,000 libraries available; popularity is rising, so it is found in
nearly any field; garbage collection and no need to create data structures from
Cons: can’t do low level
work, as it needs an interpreter; considered a “sissy” code by some, i.e. “real
men code in C”; can be difficult to decide what library/framework to use as
there are frequently many choices, e.g. web frameworks.
Describe the constructs and techniques available in the different
programming languages, before explaining how they are implemented.