Whatis computation thinking?Computationalthinking allows us to take a complex problem, understand what the problem isand develop possible solutions. We can then present these solutions in a waythat a computer, a human, or both, can understand. There isfour main cornerstones of computation thinking theirs decomposition, patternrecognition, Pattern generalisation andabstraction.
What is decomposition?Decomposition involvesbreaking down a complex problem or system into smaller parts that are moremanageable and easier to understand. The smaller parts can then be examined andsolved, or designed individually, as they are simpler to work with. What is Pattern recognition?In IT (information technology) pattern recognitionis a branch of machine learning that uses the recognition of data patterns,regularities in certain scenario. Pattern recognition can either be supervisedwhere previously known patterns can be found in a given data or unsupervised whereentirely 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 onthose that we do.Abstraction allows us to create ageneral idea of what the problem is and how to solve it. The process instructsus to remove all specific detail, and any patterns that will not help us solveour problem.
Explain the uses of software applications and how they can solveproblems and meet the needs of clients. Evaluate the features and characteristics of different programminglanguages. PythonPython is a simple and minimalistic language.
Reading a goodPython program feels almost like reading English. This pseudo code nature ofPython is one of its greatest strengths. It allows you to concentrate on thesolution to the problem rather than the syntax i.
e. the language itself. Easy to learn ? Python has few keywords, simple structure, and a clearlydefined syntax.
This allows the student to pick up the language quickly.Easy to read ? Pythoncode 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 platformcompatible on UNIX, Windows, and Macintosh.C++Is an object oriented programming language(OOPL)Have huge Function LibraryIt is a highly flexible language with VersatilityCan be used for developing System Software viz.,operating systems, compilers, editors and data bases.SimplePortabilityPowerfulPlatform dependentObject orientedCase sensitiveCompiler basedSyntax based languageUse of Pointers Java Javais a very simple program for coding which is at a high performance levelbecause it is compiled into bytecodewhich are highly optimized by the Java compiler it is also a secured program, it is also portableand 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 machineis 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 methodologythat simplify software development and maintenance by providing some rules. DifferencesC++Pros: low levellanguage allows you to work with bare metal like device drivers; it’s beenaround forever so there is plenty of material available, both books andsoftware, for it; it’s portable to nearly every operating system.
Cons: it’s low level, so you have to continually create datastructures from data primitives; the STL can be a pain to work with; very easyto have security issues, like buffer overflows; not necessarily user friendlycompared to higher level languages.JavaPros: high level language,with garbage collection, so it’s easier to work with than C++; very common inenterprises; still in the top 5 of popularity; reasonably easy to learn; manylibraries availableCons: changes in eachversion often means broken backward compatibility, leading to multiple languageversions on a system; write once, run anywhere isn’t always true; thepopularity depresses salaries for Java workers compared to other languages; notreally found “in the wild”, i.e. most commonly found inside corporateenterprises; can’t do low level work.
PythonPros: 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 innearly any field; garbage collection and no need to create data structures fromscratch.Cons: can’t do low levelwork, as it needs an interpreter; considered a “sissy” code by some, i.e. “realmen code in C”; can be difficult to decide what library/framework to use asthere are frequently many choices, e.g. web frameworks.
Describe the constructs and techniques available in the differentprogramming languages, before explaining how they are implemented.