Computer Fundamentals and HTML
Computer Fundamentals and HTML
UNIT I
What is Computer?
Computer is an advanced electronic device that takes raw data as input from the user and
processes these data under the control of set of instructions (called program) and gives the
result (output) and saves output for the future use. It can process both numerical and non-
numerical (arithmetic and logical) calculations. It works the principle of I-P-O Cycle
Input (Data) :
Input is the raw information or facts entered into a computer from the input devices. It is the
collection of letters, numbers, images etc.
Process :
Process is the operation of data as per given instruction. It is totally internal process of the
computer system.
Output :
Output is the processed data given by computer after data processing. Output is also called
Result or information . We can save these results in the storage devices for the future use.
Advantages of Computer
High Speed Computer is a very fast device. It is capable of performing calculation of very
large amount of data. It can perform millions of calculations in a few seconds as compared to
man who will spend many months to perform the same task.
Accuracy Computers are very accurate. The calculations are 100% error free. Computers
perform all jobs with 100% accuracy provided that the input is correct.
Storage Capability Memory is a very important characteristic of computers. It can store large
amount of data. It can store any type of data such as images, videos, text, audio, etc.
Diligence Unlike human beings, a computer is free from tiredness, and lack of concentration.
It can work continuously without any error. It can perform long and complex calculations
with the same speed and accuracy from the start till the end.
Versatility: Computer is versatile in nature. It can perform different types of tasks with the
same ease. At one moment you can use the computer to prepare a letter document and in the
next moment you may play music or print a document.
Reliability A computer is a reliable machine. Output of all programs are accurate and
reliable.
Disadvantages of computers
No Intelligence:A computer is a machine that has no intelligence to perform any task. Each
instruction has to be given to the computer. A computer cannot take any decision on its own.’
Dependency It functions as per the user’s instruction, thus it is fully dependent on humans.
Environment The operating environment of the computer should be dust free and suitable.
No Feeling Computers have no feelings or emotions.
• Hardware = Internal Devices + Peripheral Devices All physical parts of the computer (or
everything that we can touch) are known as Hardware.
• Software = Programs Software gives "intelligence" to the computer.
• USER = Person, who operates computer.
Hardware
The term hardware refers to mechanical device that makes up computer. Computer hardware
consists of interconnected electronic devices that we can use to control computer’s
operation, input and output. Examples of hardware are CPU, keyboard, mouse, hard disk,
etc.
Hardware Components
Computer hardware is a collection of several components working together. Some parts are
essential and others are added advantages. Computer hardware is made up of CPU and
peripherals as shown in image below.
Software
System software
Application software
System Software
Application Software
An application software is designed for benefit of users to perform one or more tasks.
Examples of application software include Microsoft Word, Excel, PowerPoint, Oracle,
etc.
4 It will vary as per computer and its It is mostly constructed for all types of computer
built-in functions and programming systems.
language.
6 It is represented in any high-level The hardware works only on binary codes 1’s and
language such as BASIC, COBOL, C,
C++, JAVA, etc.
0’s.
Computer memory is a generic term for all of the different types of data storage technology
that a computer may use, including RAM, ROM, and flash memory.
Some types of computer memory are designed to be very fast, meaning that the central
processing unit (CPU) can access data stored there very quickly. Other types are designed to
be very low cost, so that large amounts of data can be stored there economically.
Another way that computer memory can vary is that some types are non-volatile, which
means they can store data on a long term basis even when there is no power. And some types
are volatile, which are often faster, but which lose all the data stored on them as soon as the
power is switched off.
A computer system is built using a combination of these types of computer memory, and the
exact configuration can be optimized to produce the maximum data processing speed or the
minimum cost, or some compromise between the two.
The key difference between primary and secondary memory is speed of access.
Primary memory includes ROM and RAM, and is located close to the CPU on the
computer motherboard, enabling the CPU to read data from primary memory very
quickly indeed. It is used to store data that the CPU needs imminently so that it does
not have to wait for it to be delivered.
Secondary memory by contrast, is usually physically located within a separate
storage device, such as a hard disk drive which is connected to the computer system
either directly or over a network. The cost per gigabyte of secondary memory is much
lower, but the read and write speeds are significantly slower.
Data that is required for imminent processing is moved to RAM where it can be accessed and
modified very quickly, so that the CPU is not kept waiting. When the data is no longer
required it is shunted out to slower but cheaper secondary memory, and the RAM space that
has been freed up is filled with the next chunk of data that is about to be used.
Types of RAM
DRAM: DRAM stands for Dynamic RAM, and it is the most common type of RAM
used in computers. The oldest type is known as single data rate (SDR) DRAM, but
newer computers use faster dual data rate (DDR) DRAM. DDR comes in several
versions including DDR2 , DDR3, and DDR4, which offer better
performance .DRAM consists of a transistor and a capacitor in each cell.
SRAM: SRAM stands for Static RAM, and it is a particular type of RAM which is
faster than DRAM, but more expensive and bulker, having six transistors in each cell.
For those reasons SRAM is generally only used as a data cache within a CPU itself or
as RAM in very high-end server systems.
The key differences between DRAM and SRAM is that SRAM is faster than DRAM -
perhaps two to three times faster - but more expensive and bulkier. SRAM is usually
available in megabytes, while DRAM is purchased in gigabytes.
ROM is a type of non-volatile memory, which means that the data stored in ROM persists in
the memory even when it receives no power – for example when the computer is turned off.
In that sense it is similar to secondary memory, which is used for long term storage. The
ROM usually contains "bootstrap code" which is the basic set of instructions a computer
needs to carry out to become aware of the operating system stored in secondary memory, and
to load parts of the operating system into primary memory so that it can start up and become
ready to use.
Types of ROM
ROM is available in several different types, including PROM, EPROM, and EEPROM.
A programming language defines a set of instructions that are compiled together to perform a
specific task by the CPU (Central Processing Unit). The programming language mainly refers
to high-level languages such as C, C++, Pascal, Ada, COBOL, etc.
Each programming language contains a unique set of keywords and syntax, which are used to
create a set of instructions. They can be classified into two categories:
o Low-level language
o High-level language
Low-level language
The low-level language is a programming language is highly related with the hardware, and it
is represented in 0 or 1 forms, which are the machine instructions. The languages that come
under this category are the Machine level language and Assembly language.
Machine-level language
The machine-level language is a language that consists of a set of instructions that are in the
binary form 0 or 1. As we know that computers can understand only machine instructions,
which are in binary digits, i.e., 0 and 1, so the instructions given to the computer can be only
in binary codes. Creating a program in a machine-level language is a very difficult task as it
is not easy for the programmers to write the program in machine instructions. It is error-prone
as it is not easy to understand, and its maintenance is also very high. A machine-level
language is not portable as each computer has its machine instructions, so if we write a
program in one computer will no longer be valid in another computer.
Assembly Language
The assembly language contains some human-readable commands such as mov, add, sub, etc.
The problems which we were facing in machine-level language are reduced to some extent by
using an extended form of machine-level language known as assembly language. Since
assembly language instructions are written in English words like mov, add, sub, so it is easier
to write and understand.
High-Level Language
The high-level language is a programming language that allows a programmer to write the
programs which are independent of a particular type of computer. The high-level languages
are considered as high-level because they are closer to human languages than machine-level
languages.A compiler is required to translate a high-level language into a low-level language.
Eg:C,C++,PASCAL,FORTRAN,Java,Pearl, Python etc
o The high-level language is easy to read, write, and maintain as it is written in English
like words.
o The high-level languages are designed to overcome the limitation of low-level
language, i.e., portability. The high-level language is portable; i.e., these languages
are machine-independent.
Compiler
Interpreter
Just like a compiler, is a translator used to convert high-level programming language to low-
level programming language. It converts the program one at a time and reports errors
detected at once, while doing the conversion. With this, it is easier to detect errors than in a
compiler. An interpreter is faster than a compiler as it immediately executes the code upon
reading the code. An interpreter is also more portable than a compiler as it is not processor-
dependent
Assembler