Computer Technologies and Programming-1
Computer Technologies and Programming-1
Lecture 1
Basic aspects of information technology
CATEGORIES OF COMPUTER
Computer traditionally has been divided into four categories, based on their
function, physically size, cost and performance.
The period of first generation was from 1946-1959. The computers of first
generation used vacuum tubes as the basic components for memory and circuitry
for CPU (Central Processing Unit). These tubes, like electric bulbs, produced a lot
of heat and the installations used to fuse frequently. Therefore, they were very
expensive and only large organizations were able to afford it.
In this generation, mainly batch processing operating system was used. Punch
cards, paper tape, and magnetic tape was used as input and output devices. The
computers in this generation used machine code as the programming language.
The main features of the first generation are −
Vacuum tube technology
Unreliable
Supported machine language only
Very costly
Generated a lot of heat
Slow input and output devices
Huge size
Need of AC
Non-portable
Consumed a lot of electricity
The period of second generation was from 1959-1965. In this generation,
transistors were used that were cheaper, consumed less power, more compact in
size, more reliable and faster than the first generation machines made of vacuum
tubes. In this generation, magnetic cores were used as the primary memory and
magnetic tape and magnetic disks as secondary storage devices.
In this generation, assembly language and high-level programming
languages like FORTRAN, COBOL were used. The computers used batch
processing and multiprogramming operating system.
The main features of second generation are −
Use of transistors
Reliable in comparison to first generation computers
Smaller size as compared to first generation computers
Generated less heat as compared to first generation computers
Consumed less electricity as compared to first generation computers
Faster than first generation computers
Still very costly
AC required
Supported machine and assembly languages
The period of third generation was from 1965-1971. The computers of third
generation used Integrated Circuits (ICs) in place of transistors. A single IC has
many transistors, resistors, and capacitors along with the associated circuitry.
The IC was invented by Jack Kilby. This development made computers smaller in
size, reliable, and efficient. In this generation remote processing, time-sharing,
multiprogramming operating system were used. High-level languages
(FORTRAN-II TO IV, COBOL, PASCAL PL/1, BASIC, ALGOL-68 etc.) were
used during this generation.
The main features of third generation are −
IC used
More reliable in comparison to previous two generations
Smaller size
Generated less heat
Faster
Lesser maintenance
Costly
AC required
Consumed lesser electricity
Supported high-level language
The period of fourth generation was from 1971-1980. Computers of fourth
generation used Very Large Scale Integrated (VLSI) circuits. VLSI circuits having
about 5000 transistors and other circuit elements with their associated circuits on a
single chip made it possible to have microcomputers of fourth generation.
Fourth generation computers became more powerful, compact, reliable, and
affordable. As a result, it gave rise to Personal Computer (PC) revolution. In this
generation, time sharing, real time networks, distributed operating system were
used. All the high-level languages like C, C++, DBASE etc., were used in this
generation.
The main features of fourth generation are −
VLSI technology used
Very cheap
Portable and reliable
Use of PCs
Very small size
Pipeline processing
No AC required
Concept of internet was introduced
Great developments in the fields of networks
Computers became easily available
The period of fifth generation is 1980-till date. In the fifth generation, VLSI
technology became ULSI (Ultra Large Scale Integration) technology, resulting in
the production of microprocessor chips having ten million electronic components.
This generation is based on parallel processing hardware and AI (Artificial
Intelligence) software. AI is an emerging branch in computer science, which
interprets the means and method of making computers think like human beings. All
the high-level languages like C and C++, Java, .Net etc., are used in this
generation.
AI includes −
Robotics
Neural Networks
Game Playing
Development of expert systems to make decisions in real-life situations
Natural language understanding and generation
The main features of fifth generation are −
ULSI technology
Development of true artificial intelligence
Development of Natural language processing
Advancement in Parallel Processing
Advancement in Superconductor technology
More user-friendly interfaces with multimedia features
Availability of very powerful and compact computers at cheaper rates
Lecture 2
Technical means of information processing
Computer architecture . The main components of the computer
What is hardware? Webster’s dictionary gives us the following definition
of the hardware – the mechanical, magnetic, electronic, and electrical
devices composing a computer system.
Computer hardware can be divided into four categories:
1)input hardware
2)processing hardware
3)storage hardware
4)output hardware
The purpose of the input hardware is to collect data and convert them
into a form suitable for computer processing. The most common input
device is a keyboard. It looks very much like a typewriter. The mouse is a
hand held device connected to the computer by small cable. As the mouse is
rolled across the mouse pad, the cursor moves across the screen. When the
cursor reaches the desired location, the user usually pushes a button on the
mouse once or twice to signal a menu selection or a command to the
computer.
The light pen uses a light sensitive photoelectric cell to signal screen
position to the computer. Another type of input hardware is optic-electronic
scanner that is used to input graphics as well as typeset characters.
Microphone and video camera can be also used to input data into the
computer.
The purpose of processing hardware is retrieve, interpret and direct the
execution of software instructions provided to the computer. The most
common components of processing hardware are the Central Processing
Unit and main memory.
The Central Processing Unit (CPU) is the brain of the computer. It reads
and interprets software instructions and coordinates the processing activities
that must take place. The design of the CPU affects the processing power
and the speed of the CPU affects the processing power and the speed of the
computer. With a well-designed CPU in your computer, you can perform
highly sophisticated tasks in a very short time.
Memory is the system of component of the computer in which
information is stored. There are two types of computer memory: RAM and
ROM.
RAM (random access memory) is the volatile computer memory, used for
creating loading, and running programs and for manipulating and
temporarily storing data.
ROM (read only memory) is nonvolatile, nonmodifiable computer
memory, used to hold programmed instructions to the system.
The more memory you have in your computer, the more operations you
can perform.
The purpose of storage hardware is to store computer instructions and
data in a form that is relatively permanent and retrieve when needed for
processing. The most common ways of storing data are Hard disk, floppy
disk and CD-ROM.
Hard disk is a rigid disk coated with magnetic material, for storing
programs and relatively large amounts of data.
Floppy disk (diskette)–thin, usually flexible plastic disk coated with
magnetic material, for storing computer data and programs. There are two
formats for floppy disks: 5.25 and 3.5. 5.25 is not used in modern computer
systems because it has relatively large size, flexibility and small capacity.
3.5 disks are formatted 1.4 megabytes and are widely used.
CD-ROM (compact disk read only memory) is a compact disc on which
a large amount of digitized read-only data can be stored.
The purpose of output hardware is to provide the user with the means to
view information produced by the computer system. Information is output in
either hardcopy or softcopy form. Hardcopy output can be held in your hand,
such as paper with text (word or numbers) or graphics printed on it.
Softcopy output is displayed on a monitor.
Monitor is a component with a display screen for viewing computer data,
television programs, etc.
Printer is a computer output device that produces a paper copy of data or
graphics.
Modem is an example of communication hardware – an electronic device
that makes possible the transmission of data to or from computer via
telephone or other communication lines.
Processing hardware
The purpose of processing hardware is retrieve, interpret and direct the
execution of software instructions provided to the computer. The most common
components of processing hardware are the Central Processing Unit and main
memory.
The Central Processing Unit (CPU) is the brain of the computer. It reads and
interprets software instructions and coordinates the processing activities that must
take place. The design of the CPU affects the processing power and the speed of
the CPU affects the processing power and the speed of the computer. With a well-
designed CPU in your computer, you can perform highly sophisticated tasks in a
very short time.
It should be noted that there is not a single processor on the computer -
it can be up to them on the computer! Videoplata, sound card, a large number of
external ones devices (eg printer) are equipped with their own processors. This is
often the case processor processors with central processing, from productivity
point of view they can also compete. But all of them It should be noted that there is
not a single processor on the computer -it can be up to them on the computer.
Videoplata, sound card, a large number of external ones devices (eg printer) are
equipped with their own processors. This is often the case processor processors
with central processing, from productivity point of view they can also compete.
However, unlike the Central Processor, they are all specialized in a narrow
framework.
One of them is engaged in voice processing, and the other is setting up 3-
dimensional images. The central and distinctive feature of the Central Processor is
its universality. If needed, if the central processor can perform any task, the music
file's code, even if the processor of the video clip is desirable can not clarify.
Any processor - a silica crystal of special technology and, therefore, sometimes
they are called "stones". But inside this "stone." as well as a large number of
transistors connected by bridges to contacts they become separate elements. It's
these elements that make the computer "think", more Actually, perform counting
tasks on the numbers included in the computer to help.
CONTROL UNIT
The control unit (often called a control system or central controller)
manages the computer’s various components; it reads and interprets the
program instructions, transforming them into a series of control signals
which activate other parts of the computer. Control systems in advanced
computers may change the order of some instructions so as to improve
performance.
A key component common to all CPUs is the program counter, a special
memory cell that keeps track of which location in memory the next
instruction is to be read from.
The control system’s functions are as follows- note that this is a simplified
description, and some of these steps may be performed concurrently or in a
different order depending on the type of CPU:
1. Read the code for the next instruction from the cell indicated by the
program counter.
2. Decode the numerical code for the instruction into a set of commands or
signals for each of the other systems.
3. Increment the program counter so it points to the next instruction.
4. Read whatever data the instruction requires from cells in memory (or
perhaps from an input device). The location of this required data is typically
stored within the instruction code.
5. Provide the necessary data to an ALU or register.
6.If the instruction requires an ALU or specialized hardware to complete,
instruct the hardware to perform the requested operation.
7. Write the result from the ALU back to a memory location or to a register
or perhaps an output device.
8. Jump back to step (1).
Since the program counter is conceptually just another set of memory cell,
it can be changed by calculations done in the ALU. Adding 100 to the
program counter would cause the next instruction to be read from a place
100 locations further down the program.
Instructions that modify the program counter are often known as “jumps”
and allow for loops and often conditional instruction execution.
It is noticeable that the sequence of operations that the control unit goes
through to process an instruction is in itself like a short computer program-
and indeed, in some more complex CPU designs, there is another yet smaller
computer called a micro sequencer that runs a microcode program that
causes all of these events to happen
Lecture 3
Development models of Information Systems
An information system (IS) is a formal, sociotechnical, organizational
system designed to collect, process, store, and distribute information. In a
sociotechnical perspective, information systems are composed by four
components: task, people, structure (or roles), and technology.
A computer information system is a system composed of people and computers
that processes or interprets information. The term is also sometimes used to simply
refer to a computer system with software installed.
Information Systems is an academic study of systems with a specific
reference to information and the complementary networks of hardware and
software that people and organizations use to collect, filter, process, create and also
distribute data. An emphasis is placed on an information system having a definitive
boundary, users, processors, storage, inputs, outputs and the aforementioned
communication networks.
Any specific information system aims to support operations, management and
decision-making. An information system is the information and communication
technology that an organization uses, and also the way in which people interact
with this technology in support of business processes.
Some authors make a clear distinction between information systems,
computer systems, and business processes. Information systems typically include
an ICT component but are not purely concerned with ICT, focusing instead on the
end use of information technology. Information systems are also different from
business processes. Information systems help to control the performance of
business processes.
Alter argues for advantages of viewing an information system as a special type of
work system. A work system is a system in which humans or machines perform
processes and activities using resources to produce specific products or services for
customers. An information system is a work system whose activities are devoted to
capturing, transmitting, storing, retrieving, manipulating and displaying
information.
As such, information systems inter-relate with data systems on the one hand
and activity systems on the other. An information system is a form of
communication system in which data represent and are processed as a form of
social memory. An information system can also be considered a semi-formal
language which supports human decision making and action.
Information systems are the primary focus of study for organizational informatics.
The six components that must come together in order to produce an information
system are: (Information systems are organizational procedures and do not need a
computer or software, this data is erroneous, i.e., an accounting system in the
1400s using a ledger and ink utilizes an information system)
1. Hardware: The term hardware refers to machinery. This category includes
the computer itself, which is often referred to as the central processing unit
(CPU), and all of its support equipment. Among the support, equipment are
input and output devices, storage devices and communications devices.
2. Software: The term software refers to computer programs and the manuals
(if any) that support them. Computer programs are machine-readable
instructions that direct the circuitry within the hardware parts of the system
to function in ways that produce useful information from data. Programs are
generally stored on some input/output medium, often a disk or tape.
3. Data: Data are facts that are used by programs to produce useful
information. Like programs, data are generally stored in machine-readable
form on disk or tape until the computer needs them.
4. Procedures: Procedures are the policies that govern the operation of a
computer system. "Procedures are to people what software is to hardware" is
a common analogy that is used to illustrate the role of procedures in a
system.
5. People: Every system needs people if it is to be useful. Often the most
overlooked element of the system are the people, probably the component
that most influence the success or failure of information systems. This
includes "not only the users, but those who operate and service the
computers, those who maintain the data, and those who support the network
of computers."
6. Feedback: it is another component of the IS, that defines that an IS may be
provided with a feedback (Although this component isn't necessary to
function).
Data is the bridge between hardware and people. This means that the data we
collect is only data until we involve people. At that point, data is now information.
Types of information system
Specialties
Management Dimension
Managers in companies face different business challenges. These systems
provide the correct tools to win over these challenges. These tools help the
managers. They can do the following with these features.
Allocate resources
Monitor the performance
Coordinate
2. The information gained from this system is detailed. The data acquired
is stored to update a storage record. It can store data as a set of
records. This is called the store keeping function. This system helps in
making reports of the transactions.
4. Bank payroll.
Management Information System(MIS)
1. This system takes the raw data generated from TPS as its input. It then
converts it into a form like a report for the manager. The system
compares and summarizes the data and then generates the report. The
reports can be summary, ad hoc, reports-on-demand, etc.
2. These reports help the management control and predict the company's
future performance. It performs tasks like aggregation and comparisons
of the data. So, data analysis and management are at the core of this
system.
3. Sales management.
Decision Support System(DSS)
1. DSS is an information system that helps in making decisions. It gathers
and computes relevant information.
4. This system helps the management to visualize the data. It makes the
management make efficient decisions fastly.
2. It is a knowledge-based system.
It offers expertise to the management by utilizing gained
knowledge.
History
While it can be contested that the history of management information
systems dates as far back as companies using ledgers to keep track of
accounting, the modern history of MIS can be divided into
five eras originally identified by Kenneth C. Laudon and Jane Laudon in
their seminal textbook Management Information Systems.[6][7]
Technology
The terms management information system (MIS), Information
management system (IMS), information system (IS), enterprise resource
planning (ERP), computer science, electrical computer engineering,
and information technology management (IT) are often confused. MIS is a
hierarchical subset of information systems. MIS is more organization-
focused narrowing in on leveraging information technology to increase
business value. Computer science is more software-focused dealing with
the applications that may be used in MIS. Electrical computer engineering
is product-focused mainly dealing with the hardware architecture behind
computer systems. ERP software is a subset of MIS and IT management
refers to the technical management of an IT department which may include
MIS.
Management
While management information systems can be used by any or every level
of management, the decision of which systems to implement generally falls
upon the chief information officers (CIO) and chief technology
officers (CTO). These officers are generally responsible for the overall
technology strategy of an organization including evaluating how new
technology can help their organization. They act as decision-makers in the
implementation process of the new MIS.
Once decisions have been made, IT directors, including MIS directors, are
in charge of the technical implementation of the system. They are also in
charge of implementing the policies affecting the MIS (either new specific
policies passed down by the CIOs or CTOs or policies that align the new
systems with the organization's overall IT policy). It is also their role to
ensure the availability of data and network services as well as the security
of the data involved by coordinating IT activities.
Types
The following are types of information systems used to create reports,
extract data, and assist in the decision-making processes of middle and
operational level managers.
In the middle and late 1980s, executive information systems (EIS), group
decision support systems (GDSS), and organizational decision support
systems (ODSS) evolved from the single user and model-oriented DSS.
According to Sol (1987),[4] the definition and scope of DSS have been
migrating over the years: in the 1970s DSS was described as "a computer-
based system to aid decision making"; in the late 1970s the DSS
movement started focusing on "interactive computer-based systems which
help decision-makers utilize data bases and models to solve ill-structured
problems"; in the 1980s DSS should provide systems "using suitable and
available technology to improve effectiveness of managerial and
professional activities", and towards the end of 1980s DSS faced a new
challenge towards the design of intelligent workstations.[4]
The advent of more and better reporting technologies has seen DSS start
to emerge as a critical component of management design. Examples of this
can be seen in the intense amount of discussion of DSS in the education
environment.
Applications
DSS can theoretically be built in any knowledge domain. One example is
the clinical decision support system for medical diagnosis. There are four
stages in the evolution of clinical decision support system (CDSS): the
primitive version is standalone and does not support integration; the
second generation supports integration with other medical systems; the
third is standard-based, and the fourth is service model-based.[6]
DSS has been used for risk assessment to interpret monitoring data from
large engineering structures such as dams, towers, cathedrals, or masonry
buildings. For instance, Mistral is an expert system to monitor dam safety,
developed in the 1990s by Ismes (Italy). It gets data from an automatic
monitoring system and performs a diagnosis of the state of the dam. Its first
copy, installed in 1992 on the Ridracoli Dam (Italy), is still operational
24/7/365.[13] It has been installed on several dams in Italy and abroad
(e.g., Itaipu Dam in Brazil),[14] and on monuments under the name of
Kaleidos.[15] Mistral is a registered trade mark of CESI. GIS has been
successfully used since the '90s in conjunction with DSS, to show on a map
real-time risk evaluations based on monitoring data gathered in the area of
the Val Pola disaster (Italy).[16]
Components
Design of a drought mitigation
decision support system
Taxonomies
Using the relationship with the user as the criterion,
Haettenschwiler[17] differentiates passive, active, and cooperative DSS.
A passive DSS is a system that aids the process of decision making, but
that cannot bring out explicit decision suggestions or solutions. An active
DSS can bring out such decision suggestions or solutions. A cooperative
DSS allows for an iterative process between human and system towards
the achievement of a consolidated solution: the decision maker (or its
advisor) can modify, complete, or refine the decision suggestions provided
by the system, before sending them back to the system for validation, and
likewise the system again improves, completes, and refines the
suggestions of the decision maker and sends them back to them for
validation.
Another taxonomy for DSS, according to the mode of assistance, has been
created by D. Power:[22] he differentiates communication-driven DSS, data-
driven DSS, document-driven DSS, knowledge-driven DSS, and model-
driven DSS.[18]
A communication-driven DSS enables cooperation, supporting more
than one person working on a shared task; examples include integrated
tools like Google Docs or Microsoft SharePoint Workspace.[23]
A data-driven DSS (or data-oriented DSS) emphasizes access to and
manipulation of a time series of internal company data and, sometimes,
external data.
A document-driven DSS manages, retrieves, and
manipulates unstructured information in a variety of electronic formats.
A knowledge-driven DSS provides specialized problem-
solving expertise stored as facts, rules, procedures or in similar
structures like interactive decision trees and flowcharts.[18]
A model-driven DSS emphasizes access to and manipulation of a
statistical, financial, optimization, or simulation model. Model-driven
DSS use data and parameters provided by users to assist decision
makers in analyzing a situation; they are not necessarily data-intensive.
Dicodess is an example of an open-source model-driven DSS
generator.[24]
Using scope as the criterion, Power[25] differentiates enterprise-wide
DSS and desktop DSS. An enterprise-wide DSS is linked to large data
warehouses and serves many managers in the company. A desktop,
single-user DSS is a small system that runs on an individual manager's PC.
Development frameworks
Similarly to other systems, DSS systems require a structured approach.
Such a framework includes people, technology, and the development
approach.[19]
1. The actual application that will be used by the user. This is the part of
the application that allows the decision maker to make decisions in a
particular problem area. The user can act upon that particular
problem.
2. Generator contains Hardware/software environment that allows
people to easily develop specific DSS applications. This level makes
use of case tools or systems such as Crystal, Analytica and iThink.
3. Tools include lower level hardware/software. DSS generators
including special languages, function libraries and linking modules
An iterative developmental approach allows for the DSS to be changed and
redesigned at various intervals. Once the system is designed, it will need to
be tested and revised where necessary for the desired outcome.
Classification
There are several ways to classify DSS applications. Not every DSS fits
neatly into one of the categories, but may be a mix of two or more
architectures.
Holsapple and Whinston[26] classify DSS into the following six frameworks:
text-oriented DSS, database-oriented DSS, spreadsheet-oriented DSS,
solver-oriented DSS, rule-oriented DSS, and compound DSS. A compound
DSS is the most popular classification for a DSS; it is a hybrid system that
includes two or more of the five basic structures.[26]
The support given by DSS can be separated into three distinct, interrelated
categories:[27] Personal Support, Group Support, and Organizational
Support.
The term EIS lost popularity in favor of business intelligence (with the sub
areas of reporting, analytics, and digital dashboards).
History
Traditionally, executive information systems were mainframe computer-
based programs. The purpose was to package a company's data and to
provide sales performance or market research statistics for decision
makers, such as, marketing directors, chief executive officer, who were not
necessarily well acquainted with computers. The objective was to develop
computer applications that highlighted information to satisfy senior
executives' needs. Typically, an EIS provides only data that supported
executive level decisions, not all company data.
Today, the application of EIS is not only in typical corporate hierarchies, but
also at lower corporate levels. As some client service companies adopt the
latest enterprise information systems, employees can use their personal
computers to get access to the company's data and identify information
relevant to their decision making. This arrangement provides relevant
information to upper and lower corporate levels.
Components
EIS components can typically be classified as:
Hardware
Software
User interface
Telecommunications
Hardware
When talking about computer hardware for an EIS environment, we should
focus on the hardware that meets the executive's need. The executive must
be put first and the executive's needs must be defined before the hardware
can be selected. The basic hardware needed for a typical EIS includes four
components:
Applications
EIS helps executives find data according to user-defined criteria and
promote information-based insight and understanding. Unlike a
traditional management information system presentation, EIS can
distinguish between vital and seldom-used data, and track different key
critical activities for executives, both which are helpful in evaluating if the
company is meeting its corporate objectives. After realizing its advantages,
people have applied EIS in many areas, especially, in manufacturing,
marketing, and finance areas.
Manufacturing
Manufacturing is the transformation of raw materials into finished goods for
sale, or intermediate processes involving the production or finishing of
semi-manufactures. It is a large branch of industry and of secondary
production. Manufacturing operational control focuses on day-to-day
operations, and the central idea of this process is effectiveness.
Marketing
In an organization, marketing executives' duty is managing available
marketing resources to create a more effective future. For this, they need
make judgments about risk and uncertainty of a project and its impact on
the company in short term and long term. To assist marketing executives in
making effective marketing decisions, an EIS can be applied. EIS provides
sales forecasting, which can allow the market executive to compare sales
forecast with past sales. EIS also offers an approach to product price,
which is found in venture analysis. The market executive can evaluate
pricing as related to competition along with the relationship of product
quality with price charged. In summary, EIS software package enables
marketing executives to manipulate the data by looking for trends,
performing audits of the sales data, and calculating totals, averages,
changes, variances, or ratios.
Financial analysis
Financial analysis is one of the most important steps to companies today.
Executives needs to use financial ratios and cash flow analysis to estimate
the trends and make capital investment decisions. An EIS integrates
planning or budgeting with control of performance reporting, and it can be
extremely helpful to finance executives. EIS focuses on financial
performance accountability, and recognizes the importance of cost
standards and flexible budgeting in developing the quality of information
provided for all executive levels.
What is Topology?
Network topologies describe the methods in which all the elements of a network
are mapped. The topology term refers to both the physical and logical layout of a
network.
Physical topology This type of network is an actual layout of the computer cables
and other network devices
P2P Topology
Bus Topology
Ring Topology
Star Topology
Tree Topology
Mesh Topology
Hybrid Topology
1) Bus Topology
o The bus topology is designed in such a way that all the
stations are connected through a single cable known as a
backbone cable.
o Each node is either connected to the backbone cable by drop
cable or directly connected to the backbone cable.
o When a node wants to send a message over the network, it
puts a message over the network. All the stations available
in the network will receive the message whether it has been
addressed or not.
o The bus topology is mainly used in 802.3 (ethernet) and
802.4 standard networks.
o The configuration of a bus topology is quite simpler as
compared to other topologies.
o The backbone cable is considered as a "single
lane" through which the message is broadcast to all the
stations.
o The most common access method of the bus topologies
is CSMA (Carrier Sense Multiple Access).
CSMA: It is a media access control used to control the data flow
so that data integrity is maintained, i.e., the packets do not get
lost. There are two alternative ways of handling the problems that
occur when two nodes send the messages simultaneously.
o CSMA CD: CSMA CD (Collision detection) is an access
method used to detect the collision. Once the collision is
detected, the sender will stop transmitting the data.
Therefore, it works on "recovery after the collision".
o CSMA CA: CSMA CA (Collision Avoidance) is an access
method used to avoid the collision by checking whether the
transmission media is busy or not. If busy, then the sender
waits until the media becomes idle. This technique
effectively reduces the possibility of the collision. It does not
work on "recovery after the collision".
2) Ring Topology
3) Star Topology
o Star topology is an arrangement of the network in which
every node is connected to the central hub, switch or a
central computer.
o The central computer is known as a server, and the
peripheral devices attached to the server are known
as clients.
o Coaxial cable or RJ-45 cables are used to connect the
computers.
o Hubs or Switches are mainly used as connection devices in
a physical star topology.
o Star topology is the most popular topology in network
implementation.
Advantages of Star topology
4) Tree topology
o Tree topology combines the characteristics of bus topology
and star topology.
o A tree topology is a type of structure in which all the
computers are connected with each other in hierarchical
fashion.
o The top-most node in tree topology is known as a root node,
and all other nodes are the descendants of the root node.
o There is only one path exists between two nodes for the data
transmission. Thus, it forms a parent-child hierarchy.
5) Mesh topology
6) Hybrid Topology
o The combination of various different topologies is known
as Hybrid topology.
o A Hybrid topology is a connection between different links
and nodes to transfer the data.
o When two or more different topologies are combined
together is termed as Hybrid topology and if similar
topologies are connected with each other will not result in
Hybrid topology. For example, if there exist a ring topology
in one branch of ICICI bank and bus topology in another
branch of ICICI bank, connecting these two topologies will
result in Hybrid topology.
Transmission modes
Simplex mode
Half-Duplex mode
Full-duplex mode
o Both the stations can send and receive the data at the same
time.
Disadvantage of Full-duplex mode:
In half-duplex
In simplex mode, In full-duplex
mode, the
Direction of the mode, the
communication is
communication communication is communication is
bidirectional, but
unidirectional. bidirectional.
one at a time.
Examples of
Example of the
Simplex mode Example of half-
Full-duplex mode
Example are radio, duplex is Walkie-
is a telephone
keyboard, and Talkies.
network.
monitor.
Lecture 4
Computer networks
A computer network is a set of computers connected together for the
purpose of sharing resources. The most common resource shared today is
connection to the Internet. Other shared resources can include a printer or a file
server. A network is a collection of computers connected to each other by means of
data transmission. Data transmission means can consist of the following elements:
computers connected to each other by cable, satellite, telephone, fiber-optic, radio,
etc. various types of transducers based on transmitters, as well as other elements
and devices.
The architecture of a computer network defines the principles of operation
and installation of hardware and software of network elements.
Modern networks can be classified according to a number of characteristics:
the distance between computers; topology, purpose; the number of services
provided; principles of centralized or decentralized management; non-switching,
telephone switching, circuit switching, data, packet and datagram switching
methods; according to the types of transmission medium, etc.
Depending on the distance between computers, networks are divided into
two classes: local and global networks.
Any global network can be connected to other global networks, local area
networks, as well as computers that are connected to it separately and remotely, or
separate I / O devices.
There are four main types of global networks: urban, regional, national and
transnational. Printing or copying devices, cash registers and bank machines,
displays and fax machines located at certain distances from each other may be used
as input and output devices. Global networks will expand the scope of local
networks, including networks located in different buildings, cities, regions and
countries. Typically, global networks limit their reach to the range of services
provided by a regional company. These companies include Bell, Pacific Bell,
AT&T, Sprint, MCI and others. an example can be given.
Global networks are connected by serial lines, which also have lower data
rates than local networks. Typically, global networks include the following
devices:
Routing. These provide connectivity between local area networks
and manages the global network through the interface.
ATM switches. Cells between local and global networks
Used for high speed switching.
X.25 Switches and Frame Relay. Number signals are sent
connects personal and public data transmission channels.
Modems. Personal and public data to which analog signals are sent
connects transmission channels to each other.
Channels, data service modules (CSU, DSU - Channel Service
Unit, Data Service Unit). Whether the equipment is located in the client area
(CPE - Customer Processing Equipment), it is used by the client as the final
equipment of the digital channel. These devices are connected to a central
telephone exchange (CO - Central Office), ie the switching node of the telephone
company closest to the customer.
Switching servers. These are usually calling servers (dual in, out
server), which allows remote users to communicate with the required client
and connect to its local network. An example of this is the AS5200 Cisco series
communication server.
Multiplexers. Several at once through one physical channel allows you to
send signals.
The centralized management scheme of computing processes on the basis of
medium and large computers (Main frame) has recently been replaced by "client-
server" technology.
In a centralized management scheme, all computing resources, data and their
processing programs are concentrated in one computer. Users access machine
resources through terminals (displays). The terminals are connected to the
computer either via an interface or through telephone lines (if the terminals are
located at a distance). The main function of the terminal is to describe the
information provided to the user. The advantages of such a scheme are ease of
management, the possibility of software improvements and information security.
The disadvantages are low reliability (computer failure means the collapse of the
entire computing process), the difficulty of increasing hardware and software, and,
as a rule, a decrease in efficiency as the number of network users increases, and so
on.
In the client-server architecture, the terminal is replaced by one or more
powerful computers (computer-servers), which are owned by the client, and the
mainframe, which is allocated to solve common information processing problems.
The advantages of such a model are its more vividness and reliability of the
computing system, the ability of the user to work with several applications
simultaneously, high efficiency of information processing, providing the user with
a high-quality interface, etc.
Because LCNs operate within an organization (corporation, enterprise), such
networks are often referred to as corporate systems or networks. In this case
Computers are usually located inside a room, building or adjacent buildings.
Regardless of the network on which a computer operates, the function of the
software installed on that computer can be divided into two groups: those that
manage the computer's own resources and those that manage the exchange with
other computers.
Usually the computer's own resources are managed by the operating system.
Network resources are managed by network software, which is implemented either
as a separate package in the form of a network program or through a network
operating system.
A hierarchical approach is used in network software. Here, the free levels
and the interfaces between them must be predefined. As a result, it is possible to
improve the program of any level, provided that other levels are not touched. In
general, the function of any level can be simplified and, if necessary, completely
eliminated.
The International Organization for Standardization (ISO) has proposed the
Open System Interconnection (OSI) model, which provides for the interconnection
of open systems in order to regulate the operation of network software and to
organize the interaction of any computer system.
The OSI benchmark model defines the following seven levels:
Physical layer;
Network layer;
Transport layer;
Session layer;
Presentation layer;
Application layer
Internetwork
o An internetwork is defined as two or more computer network
LANs or WAN or computer network segments are connected
using devices, and they are configured by a local addressing
scheme. This process is known as internetworking.
o An interconnection between public, private, commercial,
industrial, or government computer networks can also be
defined as internetworking.
o An internetworking uses the internet protocol.
o The reference model used for internetworking is Open
System Interconnection(OSI).
Types Of Internetwork:
Intranet advantages:
A computer is an electronic device that processes input data and produces result
(output) according to a set of instructions called program.
A computer performs basically five major functions irrespective of its size and
make.
It accepts data or instructions by way of input
It stores data
It processes data as required by the user
It controls operations of a computer
It gives results in the form of output
In order to carry out the operations mentioned above the computer allocates the
task among its various functional units.
Let consider each node of this structure.Computer receive data and instraction
(command).Through input device,which get processes in CPU and result is shown
thr4ough output devices.
The main and secondary memory are use to store data inside the computer.There
are basic components that is computer process.Now lets consider following parts:
1) INPUT DEVICES
– Whatever is put into a computer system.
• Converts the external world data to a binary format, which can be understood by
CPU.These are used to enter data and instructions into the computer. Let us discuss
some of them.
KEYBOARD
This is the most common input device which uses an arrangement of buttons or
keys. In a keyboard each press of a key typically corresponds to a single written
symbol. However some symbols require pressing and holding several keys
simultaneously or in sequence. While most keyboard keys produce letters, numbers
or characters, other keys or simultaneous key presses can produce actions or
computer commands. In normal usage, the keyboard is used to type text and
numbers while in a modern computer, the interpretation of key press is generally
left to the software. A computer keyboard distinguishes each physical key from
every other and reports the key-presses to the controlling software. Keyboards are
also used for computer gaming, either with regular keyboards or by using
keyboards with special gaming features. Apart from alphabet keys (26 keys), there
are several other keys for various purposes such as;
Number keys - The 10 number keys 0-9 are there on each keyboard.
Sometimes, there are two sets of these keys.
Direction keys - There are four direction keys : left, right, up and down
which allow the curser to move in these directions. Unlike alphabet and number
keys, these keys do not display any thing.
Function keys - There are generally 12 functions keys F1-F12. These keys
have special tasks and the tasks may change from program to program. Just like
direction keys, these too do not print anything.
Other keys - There are several other non-printable keys for various different
purposes. These include caps lock, tab, ctrl, pause, delete, backspace, spacebar,
shift, enter etc which are used for special purposes.
MOUSE
A mouse is a pointing device that functions by detecting two-dimensional motion
relative to its supporting surface. The mouse's motion typically translates into the
motion of a cursor on a display, which allows for fine control of a Graphical User
Interface. A mouse primarily comprises of three parts: the buttons, the handling
area, and the rolling object. By default, the mouse is configured to work for the
right hand. If you are left-handed, the settings can be changed to suit your needs.
All mouse do not use the same mechanical operation but all of them accomplish
the same task. Some of them use a tracking ball at the bottom and some of them
use a type of light beam to detect the motion of mouse. Laptops are equipped with
a small flat surface or sometimes with a very short stick for performing same job as
mouse. Using left button of mouse different operations like selection, dragging,
moving and pasting can be done. With the right button we can open a context
menu for an item, if it is applicable.
Touch screen
This device allow interacting with the computer without any
intermediate device. You may see it at as KIOSKS installed in
various public places.
Graphics tablet
This device is used to enter data using a stylus. Most commonly it is
used to enter digital signatures.
Joystick
It is an input device consisting of a stick that pivots on a base and
translates its angle or direction as data. Joysticks are often used to
control inputs in video games.
Microphone
It is used to input audio data into the computer. They are mainly
used for sound recording.
Biometric Sensors
It is used to recognize individuals based on physical or
behavioral traits. Biometric sensor is used to mark attendance of
employees/students in organizations/institutions. It is also
popular as a security device to provide restricted entry for
secured areas.
2) OUTPUT DEVICES:
These are used to display results on video display or are used to print the result.
These can also be used to store the result for further use.
Monitor or VDU :
It is the most common output device. It looks like a TV.Its
display may be CRT, LCD, Plasma or touch sensitive.
Speakers :
These are used to listen to the audio output of computer.
Printers :
These are used to produce hard copy of output as text or
graphics.
Inkjet/Deskjet/Bubblejet printers:
These all are low cost printers which use a controlled stream
of inkfor printing
Laser Printers:
These printers use laser technology to produce printed
documents. These are very fast printers and are used for
high
quality prints.
Plotters:
These are used to print graphics. It is mainly used in
computeraided designing
RAM
Random Access Memory is used for primary storage in computers to hold active
information of data and instructions.
ROM
ROM (Read Only Memory) is used to store the instructions provided by the
manufacturer, which holds the instructions to check basic hardware interconnecter
and
to load operating system from appropriate storage device.
UNITS OF MEMORY:
The elementary unit of memory is a bit. A group of 4 bits is called a nibble and a
group of
8 bits is called a byte. One byte is the minimum space required to store one
character.
Other units of memory are:
10 1 KB(Kilo Byte) = 2 bytes = 1024 bytes
10 1 MB(Mega Byte) = 2 KB = 1024 KB
10 1 GB(Giga Byte) = 2 MB = 1024 MB
10 1 TB(Tera Byte) = 2 GB = 1024 GB
10 1 PB(Peta Byte) = 2 TB = 1024 TB
BUS STRUCTURE
MEMORY
Data bus
MAR MDR
RRR
Data bus
Address bus
o Peer-To-Peer network
o Client/Server network
Peer-To-Peer network
Client/Server Network
Lecture 5
Then there is the idea of accessing the network via a telephone line with the help of
connecting sessions. With the help of the phone, you can already connect to a
computer, which is a permanent "citizen" of the network, connect to it, and thus
become part of the Internet. Naturally, in this case, there are many organizations
that provide paid services to all users. Thus, the first providers are formed.
The role of providers can be played by anyone with a strong server, a large number
of incoming telephone lines, or rather a certain amount of money to buy a
dedicated communication channel. This channel is the main factor that
distinguishes the provider from the end user. Providers use special high-speed
communication channels, such as fiber-optic cable or satellite, to transmit
information over the Internet. Thanks to these communication channels, hundreds
and thousands of users can work on the Internet at the same time in a very
comfortable environment. Of course, at certain moments the capacity of the
channel is not enough, in which case they either improve it and increase the
capacity, or the communication connection deteriorates significantly .... Depending
on the type of connection and the bandwidth of the communication channel
between user and provider Types of stay are divided into 2 major groups:
Joining a session. In this type of connection, the user is not permanently connected
to the network, but communicates with the network for a short time via a telephone
line. In this case, the appropriate amount of money is paid for each hour of
connection to the network, and the data in the network is transmitted in analog
form.
Encoding of information
Encoding is the process of converting data into a format required for a number of
information processing needs, including:
What is encoding?
These terms should not be confused with encryption and decryption, which focus
on hiding and securing data. (We can encrypt data without changing the code or
encode data without deliberately concealing the content.)
In an ASCII file, a 7-bit binary number represents each character, which can be
uppercase or lowercase letters, numbers, punctuation marks and other common
symbols. However, URLs cannot contain spaces and often have characters that
aren't in the ASCII character set. Uniform resource locator (URL) encoding, also
known as “percent encoding,” is often done when some characters can’t be
included in URLs. URL encoding thus allows unrecognized ASCII characters to be
represented in the Unicode format so all computers can read them.Other commonly
used codes in programming include BinHex, Multipurpose Internet Mail
Extensions, Unicode and Uuencode.
Some ways encoding and decoding are used in various programming languages
include the following.
In Java
In Python
In Swift
The receiver must make sense of (decode) the message by deducing the meaning of
words and phrases to interpret the message correctly. They then can provide
feedback to the sender.
Both the sender and receiver in any communication process must deal with noise
that can get in the way of the communication process. Noise involves the various
ways that messages get disrupted, distorted or delayed. These can include actual
physiological noise, technical problems or semantic, psychological and cultural
issues that get in the way of communication.
Transmission Model
This model of communication is a linear process where a sender transmits a
message to a receiver.
Interaction Model
Transaction Model
Here, communicators generate social realities within cultural, relational and social
contexts. They communicate to create a relationship, engage with communities and
form intercultural alliances. In this model, participants are labeled as
communicators, not senders and receivers.
Decoding messages in your native tongue feels effortless. When the language is
unfamiliar, however, the receiver may need a translator or tools like Google
Translate for decoding the message.
What is Encoding?
In the world of computers, encoding works in the same way. The computer
converts data from one form to another. It does this to save on storage
space or make transmission more efficient.
One example of encoding is when you convert a huge .WAV audio file to a
tiny .MP3 file that you can easily send to a friend via email. The files are
encoded in different formats but will play the same song.
Read More about “Encoding”
Without character encoding, a website will display text a lot differently than
intended. Improper encoding spoils text readability, which may also result
in search engines failing to display data correctly or machines to process
inputs incorrectly.
Unicode Encoding
URL Encoding
Base64 Encoding
Before, Base64 was only used to represent binary data in printable
characters. It is commonly used in basic HyperText Transfer Protocol
(HTTP) authentication when encoding user credentials. It is also used to
encode email attachments to allow their transmission over the Simple Mail
Transfer Protocol (SMTP) and send binary data within cookies to make it
less readable to tamperers.
Most mail systems can’t deal with binary data. Without Base64 encoding,
images or other files sent become corrupted. Computers deal with data in
bytes, making ASCII unsuitable for transmission.
For computers, the encoding process happens every time you store a file.
Since they can only understand series of 0s and 1s, your files are
converted to such a format. When you view the file, the computer decodes
it back to its original format to make the file human-readable.
What Is Encoding in Human Communication?
When your friend receives the message, he or she tries to understand its
meaning. In essence, he or she decodes the message.
What Is Encoding in Data Communications?
Key Takeaways
Butterfly Network.
The butterfly network[8] is often used to illustrate how linear network coding
can outperform routing. Two source nodes (at the top of the picture) have
information A and B that must be transmitted to the two destination nodes
(at the bottom). Each destination node wants to know both A and B. Each
edge can carry only a single value (we can think of an edge transmitting a
bit in each time slot).
If only routing were allowed, then the central link would be only able to
carry A or B, but not both. Supposing we send A through the center; then
the left destination would receive A twice and not know B at all. Sending B
poses a similar problem for the right destination. We say that routing is
insufficient because no routing scheme can transmit both A and B to both
destinations simultaneously. Meanwhile, it takes four time slots in total for
both destination nodes to know A and B.
Entropy coding
Two of the most common entropy coding techniques are Huffman coding
and arithmetic coding.[2] If the approximate entropy characteristics of a data
stream are known in advance (especially for signal compression), a simpler
static code may be useful. These static codes include universal codes
(such as Elias gamma coding or Fibonacci coding) and Golomb codes
(such as unary coding or Rice coding).
Since 2014, data compressors have started using the asymmetric numeral
systems family of entropy coding techniques, which allows combination of
the compression ratio of arithmetic coding with a processing cost similar to
Huffman coding.
Delta encoding
From a logical point of view the difference between two data values is the
information required to obtain one value from the other – see relative
entropy. The difference between identical values (under some equivalence)
is often called 0 or the neutral element.
Simple example
Variants
Implementation issues
Sample C code
last = current;
{
unsigned char last = 0;
last = buffer[i];
Examples
https://www.techopedia.com/definition/948/encoding
https://www.techslang.com/definition/what-is-encoding/
Lecture 6
Introduction to programming
Stages of execution of the task on the computer. Algorithm and its types.
Like the BASIC programming language, Visual Basic was designed for an
easy learning curve. Programmers can create both simple and
complex GUI applications. Programming in VB is a combination of visually
arranging components or controls on a form, specifying attributes and actions for
those components, and writing additional lines of code for more functionality.
Since VB defines default attributes and actions for the components, a programmer
can develop a simple program without writing much code. Programs built with
earlier versions suffered performance problems, but faster computers and native
code compilation has made this less of an issue. Though VB programs can be
compiled into native code executables from version 5 on, they still require the
presence of around 1 MB of runtime libraries. Core runtime libraries are included
by default in Windows and later, but extended runtime components still have to be
installed. Earlier versions of Windows require that the runtime libraries be
distributed with the executable.
Visual Basic can create executables (EXE files), ActiveX controls, or DLL
files, but is primarily used to develop Windows applications and to interface
database systems. Dialog boxes with less functionality can be used to provide pop-
up capabilities. Controls provide the basic functionality of the application, while
programmers can insert additional logic within the appropriate event handlers. For
example, a drop-down combination box automatically displays a list. When the
user selects an element, an event handler is called that executes code that the
programmer created to perform the action for that list item. Alternatively, a Visual
Basic component can have no user interface, and instead provide ActiveX objects
to other programs via Component Object Model (COM). This allows for server-
side processing or an add-in module.
Characteristic
The code windows in Visual Basic, showing a function using the If, Then,
Else and Dim statements.
Visual Basic builds upon the characteristics of BASIC.
Code comments are done with a single apostrophe (') character. ' This is a
comment
Boolean constant True has numeric value −1.[21] This is because the Boolean
data type is stored as a two's complement signed integer. In this construct −1
evaluates to all-1s in binary (the Boolean value True), and 0 as all-0s (the
Boolean value False). This is apparent when performing a
(bitwise) Not operation on the two's complement value 0, which returns the
two's complement value −1, in other words True = Not False. This inherent
functionality becomes especially useful when performing logical operations
on the individual bits of an integer such as And, Or, Xor and Not.[22] This
definition of True is also consistent with BASIC since the early 1970s
Microsoft BASIC implementation and is also related to the characteristics of
CPU instructions at the time.
Programming algorithms with different structures.
VB Statements
H Assignments are the Same as in C
H Case is not significant
– Case will be adjusted for you on keywords
– For Variable Names, Case is ignored
H The Usual Operators can be used
– AND is the same as both & and && depending
on context
– OR = | and ||
– NOT = !
VB IF Statements :
If Then
<List of Statements> Else
<List of Statements> EndIf If
VB While Statements
While <condition> do
<List of Statements>
Wend
VB For Statements
Lecture 8
Software for information processing
SOFTWARE AND FIRMWARE
A computer requires more than just the actual equipment or hardware we see
and touch. It requires Software- programs for directing the operation of a
computer or electronic data.
PROGRAMS
What is a computer program (or just a program)?
It is a set of instructions arranged in sequence. Computer program is an algorithm.
It directs the computer to perform necessary operations for the solution of a
problem or the completion of a task. The instructions in the program must be
written in a language the computer can understand in a particular computer
language. The computer follows the instructions one at a time in order.
Computer programs handle data, which is held in the computer’s memory. Data
can be of two types:
1.Variable data which may change during the execution of program.
2.Constant data which cannot change during the execution of the program.
The program and the data are stored in a binary code in the memory of the
computer (as a sequence of bits). A bit is a single cell holding a value of 0 or 1. As
the computer is an electronic machine, the bit is an electrical potential which is off
(for 0) or on (for 1).
Computer’s memory is organized in such a way that each 8 bits compose a byte,
which is taken as a unit of computer’s information and memory.
A byte can have address which allows us to refer to a particular collection of
bits. The address of a byte is its decimal number converted to 16-base system.
The compiler needs to know how many bytes must be given to store the data.
This is done when constants and variables are declared within the program.
Software is the final computer system component. These computer programs
instruct the hardware how to conduct processing. The computer is merely a general
–purpose machine which requires specific software to perform a given task.
Computers can input, calculate, compare, and output data as information. Software
determines the order in which these operations are performed. Programs usually
fall in one of two categories: system software and applications software.
System software controls standard internal computer activities. An operating
system, for example, is a collection of system programs that aid in the operation of
a computer regardless of the application software being used. When a computer is
first turned on, one of system programs is booted or loaded into the computers
memory. This software contains information about memory capacity, the model of
the processor, the disk drivers to be used. Once the system software is loaded, the
applications software can be brought in.
System programs are designed for the specific pieces of hardware. These
programs are called drivers and coordinate peripheral hardware and computer
activities. User needs to install a specific driver in order to activate a peripheral
device. For example, if you intend to buy a printer or a scanner you need to worry
in advance about the driver program. By installing the driver you ‘teach’ your
mainboard to ‘understand’ the newly attached part.
Applications software satisfies your specific need. The developers of
applications software rely mostly on marketing research strategies trying to do
their best to attract more users (buyers) to their software. As the productivity of the
hardware has increased greatly in recent years, the programmers nowadays tend to
include as much as possible in one program to make software interface look more
attractive to the user. This class of programs is the most numerous and perspective
from the marketing point of view.
Data communication within and between computer systems is handled by system
software. Communication software transfers data from one computer system to
another. These programs usually provide users with data security and error
checking along with physically transferring data between the two computer’s
memories. During the past five years the developing electronic network
communication has stimulated more and more companies to produce various
communications software, such as Web-Browsers for Internet.
Firmware is a term that is commonly used to describe certain programs that
stored in ROM. Firmware often refers to a sequence of instructions (software) that
is substituted to hardware. For example, in an instance where cost is more
important than performance, the computer system architect might decide not to use
special electronic circuits (hardware) to multiply two numbers, but instead write
instructions (software) to cause the machine to accomplish the same function by
repeated use of circuits already designed to perform addition.
Often programs, particularly systems software, are stored in an area of memory
not used for applications software. These protected programs are stored in an area
of memory called – read – only memory (ROM), which can be read from but not
written on.
OPERATING SYSTEM.
An operating system (OS) is a program that runs a computer, manages all
the other programs in it. DOS, (the Disk Operating System), Windows 98,
Windows 2000, Windows 8, 10 are all examples of operating systems.
All operating systems perform the same basic tasks: control to the
computer hardware, files and folders management, applications management, built-
in utility programs support.
When programs need some hardware resources, they address to the
operating system(OS), which in its turn, accesses the hardware through the BIOS
or through the device drivers(OS “sit” between the programs and the Basic Input
Output System(BIOS)) and after that the BIOS controls the hardware. The
Windows 2000 NOS bypasses the system BIOS and controls the hardware directly.
To organize and manage files the operating system uses the file
management system. A file is a collection of data that is given a single name and
treated as a single unit. In fact all of the information that a computer stores is in the
form of a file.
There are many types of files, including program files, data files, and text
files. The way an operating system organizes information into files is called the file
system. Most operating systems use a hierarchical file system, which organizes
files into directories under a tree structure.
The beginning of the directory system is called the root directory. An
operating system creates a file structure on the computer hard drive where user
data can be stored and retrieved. When a file is saved, the operating system saves
it, attaches a name to it, and remembers where it put the file for future use.
When a user requests a program, the operating system locates the
application and loads it into RAM (Random-Access Memory, or main memory) of
the computer.
COMPUTER VIRUS
Do you know what a computer virus is? You think it is a microbe. No, it
is not. A computer virus is a program, which is capable to create copies of itself
and “inject” them into different objects of a computer system (files, system
sectors). The copies of a virus can be different from the ‘master’. These usually
fully functional copies allow a virus to spread very quickly.
Viruses are usually classified by the place where they reside on a
computer (e.g. file viruses, boot viruses, boot-sector viruses, network viruses), the
infection method (e.g. memory resident/non-resident, slow/fast etc), their
destruction capabilities (“harmless”, not dangerous, very dangerous) and any
special features of the virus algorithm (e.g. polymorphic, stealth, etc).
A “harmless” virus is a virus which does not affect a computer’s
operation. This should not lead to a conclusion that some viruses are to be
considered as being “good”. Even if such viruses may not cause direct damage,
they at least cause “economic” damage in a sense that you have to spend time to
get rid of them.
A virus is called “not dangerous” if it only manifests itself by using
e.g. disk-space and performing some “entertaining” graphics, sounds or other
effects.
A dangerous virus affects a computer’s operation, for example, by
slowing it down more and more.
Very dangerous viruses usually perform destructive actions, such as
corrupting data, deleting data and or messing up settings that are vital for proper
computer operations.
Polymorphic viruses (self-encrypting viruses or ghost viruses) are able to
change their main body from copy to copy by making use of encryption algorithms
and modifications of the decryption routine. Through these code variations the
virus hopes, that virus-scanners (antiviruses) will not be able to detect all instances
of the virus.
Stealth viruses are capable, while being active, to hide their presence
modifications they have done to files or system sectors. This is usually achieved by
the virus through intercepting DOS calls to access files or sectors and “giving
back” the “clean” information.
To fight with computer viruses there were created programs called
antiviruses programs (AVP) or virus-scanners. AVP Scanner can test your system
for virus presence in: System memory; Files, including archive and packed files;
System sectors, e.g. Master Boot Record (MBR) of harddisks and Boot sectors of
floppy and harddisks.
Virus-scanner can detect and remove thousands of viruses (it also handles
highly polymorphic viruses). AVP recursively scans in packed and archive files,
tests and disinfects resident viruses in system memory, checks files and system
sectors discover changes in them.
PROGRAMMING LANGUAGES
Programming - theoretical and practical activities related to the creation of
programs.
Programming is a collective concept and can be regarded both as a science
and as an art, on this a scientific and practical approach to program development is
based. The program is the result of intellectual work, for which creativity is
characteristic, and it, as is known, has no clear boundaries. In any program there is
an individuality of its developer, the program reflects a certain degree of art of the
programmer. At the same time, programming also involves routine work that can
and must have strict execution rules and standards.
A programming language is a formal sign system designed to describe
algorithms in a form that is convenient for the executor (for example, a computer).
The programming language defines a set of lexical, syntactic and semantic rules
used in the compilation of a computer program. It allows the programmer to
accurately determine what events the computer will respond to, how data will be
stored and transmitted, and what actions should be performed on these data under
different circumstances
A programming language is an artificial language designed to express
computations that can be performed by a machine, particularly a computer.
Programming languages can be used to create programs that control the behaviour
of a machine, to express algorithms precisely, or as a mode of human
communication.
A programming language is a very concise language with strict rules in
which a computer program must be written. There are two kinds of programming
languages:
1) low-level languages and high-level languages.
Low-level languages (assembly language) are similar to the binary codes
that the computer uses itself. Both assembly language and machine code are
complex to use and are often designed for a particular processor and can’t be easily
transferred to another. The advantages of low-level languages are their speed as
they need little or no translation.
High-level languages use English-like words what made programming
very much easier. They are BASIC, PASCAL, FORTRAN, C, C++, ADA, and
COBAL. Each language has a unique set of keywords and a special syntax for
organizing program instructions. A vocabulary is a set of grammatical rules for
instructing a computer to perform specific tasks.
High-level programming languages are more complex than the languages
the computer actually understands, called machine languages. Each different type
of CPU has its own unique machine language.
Lying between machine languages and high-level languages are languages
called assembly languages. Assembly languages are similar to machine languages,
but they are much easier to program in because they allow a programmer to
substitute names for numbers. Machine languages only consist of numbers.
Lying above high-level languages are languages called fourth-generation
languages (usually abbreviated 4GL). 4GLs are far removed from machine
languages and represent the class of computer languages closest to human
languages.
Regardless of that language you use, you need to convert your program
into machine language so that the computer can understand it. There are two ways
to do this: 1) interpret the program, 2) compile the program
An interpreter takes a single line of source code, translates it and carries
out the instruction immediately. This process is repeated line by line until the
whole program is translated and run.
A compiler translates the whole program before the program is run and
turns it into a self- contained program which can be run independently.