Computer hardware and software

Every computer is composed of two basic components: hardware and software.
 * hardware includes the Physical features, which are every part that you can either see or touch, for example: monitor, case, keyboard, mouse, and printer.
 * The part which activates the physical components called software. It includes the features that responsible for directing the work to the hardware. Software can be divided int the programs and data.

von-Neumann architecture of the computer
Von-Neumann computer consists of two main components: memory and CPU. The rest of the computer can be viewed as input/output devices for the two main components. This concept has not yet been overcome and even the latest computers still come from von-Neumann architecture.

Application Software
An application software is a computer program designed to perform a group of coordinated functions, tasks, or activities. Examples of an application include a word processor, a spreadsheet, an accounting application, a web browser, a media player or a console game[1]. Applications may be connected with the computer and its system software or may be published separately, and may be coded as proprietary or open-source.

Operating System
Operating system is defined as a system software that manages computer hardware and software resources and provides common services for computer programs. All computer programs require an operating system to function. Operating system controls computer's hardware, run the computer's programs and orgenizes files.

There are three features that operating system manage and control, which are:
 * 1) Process management, code execution, context switching and multitasking.
 * 2) Memory management, allocation, sharing, and virtual memory.
 * 3) Device management, input/output, disk access, interrupt handling.

CPU
Central processing unit. Unit that bring the instruction from memory to be executed and decodes.

Storing device
Any hardware that can hold information, temporarily or permanently. We distinguish two types of storage: a primary storage device (RAM), and a secondary storage device (hard drive). Secondary storage can be removable, internal, or external storage.

Examples of permanent computer storage:

1.	Magnetic storage deviced- for example: hard drive, floppy diskette etc.

2.	Optical- example: blu-ray disc, CD-rom disc etc.

3.	Flash memory devices- memory card, memory stick. SSD

4.	Online and cloud- cloud storage, network media.

RAM
Is random acsses memory, keeps the data and general purpose program that the compter executes. RAM is not permanent, its contain can be changed and it is erased when the computer is off.

Motherboard
is the physical arrangement in a computer that contains the computer's basic circuitry and components. It has a socket for the CPU, RAM and expansion part (sound cards, graphic cards ETC) and also connects together the CPU, memory, hard drives, optical drives, video card and more.

Bits and bytes
Bits- are the smallest storage units in the computer. A bit can store just 0 or 1, which is called binary, and therefore can be stored by physical devices or systems that has two separate states. For example 2 positions, or states of an electrical switch, the two states being ‘on‘ and ‘off‘. A bit can also be described as true/ false, no/ yes etc. Notice that a bit has only two coding options, or 2 values. One bit is too small to be used, and thus computers use a larger storage unit called bytes.

Bytes- are made of bits. 8 bits are used to create 1 byte. Notice that a Byte has 28 coding options, 256 values. RAM, hard drives and flash drives, are all types of storages measured by Bytes.

Other storage units:
 * 1 KB (kilobytes)= 1024 bytes
 * 1 MB (megabytes)= 1024 KB
 * 1 GB (gigabyte)= 1024 MB
 * 1 TB (terabyte)= 1024 GB
 * 1 PB (petabyte)= 1024 TB

Data
is any set of characters that has been gathered and translated for some purpose, usually analysis. It can be any character, including text and numbers, pictures, sound, or video. If data is not put into context, it doesn't do anything to a human or computer. Within a computer's storage, data is a collection of numbers represented as bytes that are in turn composed of bits.

Information
a meaning change data into information. For instance letter A, is only a data for an illiterate person but an information for someone who can read.

Knowledge
is a familiarity, awareness or understanding of someone or something, such as facts, information, descriptions or skills, which is acquired through experience or education by perceiving, discovering, or learning. Knowledge can refer to a theoretical or practical understanding of a subject.

algorithm
is a procedure or formula for solving a problem, based on conducting a sequence of specified actions. A computer program can be viewed as an elaborate algorithm. In mathematics and computer science, an algorithm usually means a small procedure that solves a recurrent problem.