Removingunnecessary details from a problem in order to solve it
Decomposition
Breaking down a problem into smaller, simplersteps or stages
Linearsearch
Look at every item from the beginning until you find the one you want
Binary search
Dividinghalves until data is found
Bubblesort
Comparing each pair and swapping if in wrong order
Sequence
Writing steps down in the order they need to happen
Validation
Range check
Typecheck-rightinteger
Length check
Presencecheck-data has beenentered
Format check
Syntax error
Wrongformat
Logic error
Doesn'tdowhatexpected
Types of testing
Iterative testing
Terminaltesting
High level languages
Easy to learn and look a bit like English or maths
Low level languages
Assembly languages and machine code
Assembler
Converts assembly language into machine code
Compiler
Translates a program from high level programming language into machine code
Interpreter
Translates high level language into machinecode, translates each line and executes it and no objectcode is produced
Low-level language
A programming language that directly translates to machine code understood by the processor
Generations of programming languages
Low-level
High-level
First generation low-level language
Machine code - instructions are directly executable by the processor, written in binary code
Second generation low-level language
Assembly code - code written using mnemonics (abbreviated text commands), needs to be translated into machine code
Advantages of low-level languages
Complete control over system components, occupy less memory and execute faster, direct manipulation of hardware
Disadvantages of low-level languages
Difficult to write and understand, machine dependent, more prone to errors, knowledge of computer architecture is key
High-level programming language
Uses English-like statements to allow users to program with easy to use code
Advantages of high-level languages
Easier to read and write, easier to debug, portable so can be used on any computer, one line of code can perform multiple commands
Disadvantages of high-level languages
User is not able to directly manipulate the hardware, needs to be translated to machine code before running, the program may be less efficient
Examples of high-level languages
Python, Java, Basic, C++
Translator
Converts high-level language into machine code that the computer can execute
Compiler
Translates the entire program at once before it is run
Interpreter
Translates and executes the program line by line
Computers represent all data in binary, including images that are seen on a screen, TV or other output device
Bitmap
A bitmap image is made up of squares called pixels. Each pixel is stored as a binary code. A typical example is a photograph.
Vector
A vector image is created from mathematical equations and points. Only the mathematics used to create the image are stored. Typical examples are logos and clipart. Vector images are infinitely scalable.
Resolution
The total amount of pixels that make up a bitmap image, calculated by multiplying the height and width. Higher resolution means more detail (higher quality).
Colour depth
The number of bits stored per pixel in a bitmap image. Higher colour depth means more colours and more detail (higher quality).
As resolution and/or colour depth increases
The file size becomes larger
Metadata
Additional information stored with an image, such as author, date/time, location, resolution, colour depth.