# data[].attributes.body
This is lil moo moo. I made her on code.org and she is my best friend.

# data[].attributes.body
This is the self-portrait I made of myself. Scary, but still me nonetheless.

# data[].attributes.attachment_link.description
Choose from a wide variety of shapes to create diagrams and charts. Free from Google.

# data[].attributes.body
This is the house that I made in Tinkercad.

# data[].attributes.attachment_link.description
Create a new document and edit with others at the same time -- from your computer, phone or tablet. Get stuff done with or without an internet connection. Use Docs to edit Word files. Free from Google.

# data[].attributes.body
My full name is Ariana Janine Lynn Bundy. I am 12 years old and my only pet is my dog, Pepperchini. In STEM, I am not super advanced but I have a good understanding and I can usually grasp the concept of the project I am working on. I love making jokes and that can sometimes get me in trouble but my motto is, "YOLO" :).

# data[].attributes.body
I think that coding is important because the result of it gives us all of out=r computer made pictures and can be very helpful in programming.

# data[].attributes.body
I think students should learn to code because it could be very helpful in the future knowing it and it also is very fun all the while growing your brain academically.

# data[].attributes.body
I liked the wind turbine and tinkercad most because they allowed me to be creative with the possibilities of what I could create. I liked the self portrait the least because I don't feel that it involved me applying my skills in STEM very much.

# data[].attributes.headline
Which was the hardest or most challenging?

# data[].attributes.subject
Which was the hardest or most challenging?

# data[].attributes.body
The hardest project was probably the wind turbine because after we had created it and tested it out, it had taken a while and hard work to gradually increase the energy that it had collected using our design.

# data[].attributes.headline
Which was the most enjoyable or interesting?

# data[].attributes.subject
Which was the most enjoyable or interesting?

# data[].attributes.body
The most interesting and enjoyable project we had was when made our tinkercad houses because it allowed us to make it our own style but still keep it to fit the criteria.

# data[].attributes.body
In STEM, the thing that had been most challenging was when we made our wind turbines or making our own codes.

# data[].attributes.body
In STEM, so far I have enjoyed making our own mini scaled wind turbines and trying them out, while modifying them to their full potential.

# data[].attributes.headline
What is the internet and how does it work?

# data[].attributes.subject
What is the internet and how does it work?

# data[].attributes.body
The internet is a world-wide computer networking that gives out many different types of information and provides a way to communicate with other people through a computer.

# data[].attributes.body
STEM is important to study because it helps fuel people innovative and inventive ability as they would also have to apply things they learn to the real world.

# data[].attributes.headline
What is STEM and how is STEAM different?

# data[].attributes.subject
What is STEM and how is STEAM different?

# data[].attributes.body
Stem is the learning of science, technology, engineering, and math. STEAM is different because there is art added into it.

# data[].attributes.body
These are all machine codes, or binary codes which is the language in which computers only understand.

# data[].attributes.attachment_link.readable_text
A computer is basically a programmable machine capable to perform arithmetic and logical operations automatically and sequentially. It is also known as a data processor, as it can store, process, and retrieve data as per the wish of the user.

Data processing involves the following three activities −

Input of data

Manipulation/processing of data

Giving output (i.e. management of output result)

In computer system, data is arranged orderly and systematically.

The term "computer" is derived from a Latin term "compute," which means 'to calculate.' Initially, the computer system had been designed to calculate; it was intended to be a computing device. However, over a period of time, this device technically advanced; at present, it can perform a wide range of desirable works apart from data processing.

Major Functions of Computer System

Following are the core functions of a computer system −

Salient Features of Computer System

Following are the salient features of a Computer System −

Automation − The operating system of a computer system is automatic, as no human intervention is required; simply you need to give the command and then it will do the work automatically.

Speed − Depending upon the power of the computer, it can perform, it can take Millions of instructions per second.

Storage − A computer system can store enormous quantity of data in different format. The storage capacity of a computer system is normally expressed in terms of Kilobytes (KB), Megabytes (MB), Gigabytes (GB), or Terabytes (TB).

Accuracy − The accuracy of a computer system is very high.

Versatility − A computer system is capable of performing a wide range of tasks.

Diligence − A computer neither get tired nor lose concentration.

Reliability − As a computer system always gives accurate result; therefore, its reliability is very high.

Vast memory − A computer system can have a wide range of memory which can recall the desired data at any point of time.

Evolution of Computer System

The present Computer System has evolved after centuries of efforts from different intellectuals who contributed their works during different periods of time.

Abacus is (most likely) considered as the earlier counting device.

Let us now read about the innovators who contributed immensely in the development of a computer system.

John Napier

Napier was a Scottish mathematician who invented logarithms.

Further, Napier also invented a computing device, which consisted of sticks with numbers imprinted on them. Napier named sticks 'bones,' as they were made up of bones.

Blaise Pascal

Pascal was a French mathematician who invented a machine based on gear wheels, which helped greatly in calculation.

Charles Babbage

Babbage was an English Polymath, Mathematician, Mechanical Engineer, Philosopher, and Inventor. In 1822, he developed a machine capable to calculate the successive difference of expression and prepared a table which helped him in his calculations.

Lady Ada Lovelace

Lovelace was an English mathematician, who researched on Babbage's work. She has given the concept that 'computers can be programmed'. Her work helped a great deal in the advancement of computer system.

John Atanstoff

With the assistance of Berry, John Atanstoff developed the Atanstoff Berry Computer (more popular as ABC) in 1937. It marked the beginning of the development of electronic digital computer.

John Mauchly and Eckart

In 1947, John Mauchly and Eckart developed the first large scale Electronic Digital Computer. It was called the Electronic Numerical Integrator and Calculator (ENIAC).

Maurice V. Wilkes

In 1949, Wilkes (at Cambridge University) designed Electronic Delay Storage Automatic Calculator (EDSAC). It was the first computer that started its operating system on the stored program concept.

In today's world, for almost every activity whether personal (for example, operating personal savings bank account) or business-related (for example, selling any product or services); in some or the other way, we rely on the computer system.

Due to the growing dependency on computers, every small and big organizations and other business companies have started offering computer-based service. Furthermore, the advancement of communications, electronic service networks, and multimedia have opened a new door for corporates by providing an effective way of business processing, payment transfer, and service delivery.

Advantages of Computers in Business

Following are the major advantages of introducing computer system in business −

Independency

As computers help in making the business automated, the businesses are becoming more and more independent. No more, there is the need to put man-power for every work, as with the help of computer most of the works can be automated. Starting from ticket booking to a luxury car manufacturing, everything is automated.

Cost Cutting

A number of business are based online in recent times; therefore, there is no need to open business branch in every city, rather having one centralized inventory can make the business easier. There is no need to employ many man-power.

Marketing

With the use of computer system with Internet facility, it is very simple to make a business global in a given period of time. Website, email, social media websites, online advertisements, etc. are the important tools of online marketing.

Huge Transaction Capacity

A number of tasks are being done by computer including ticket booking to money transactions; this increases the transaction capacity.

Huge Storage Capacity

Normally, most of the businesses need to store and maintain huge data and other records; manually, it is very difficult to maintain, but the use of computer not only increases the storage capacity, but also facilitates the processing and retrieval of data anytime.

Improvement of Productivity & Efficiency

As most of the tasks in almost every industry has become automated, it has now become much easier to manufacture a huge bulk of products in very less time. Through computer technology, services also became faster and easier.

High Accuracy

There is hardly any scope of errors in an automated system; however, if any error occurs, it is largely a human error.

Ease of Data Sharing

Data sharing has now become very simple just the way it is simple to link one computer system to another.

Competition

The applicability of computer technology has increased competition; now, the customers can avail support 24x7.

Enhanced the Security System

Computer also helps keep the data of businesses secure. However, this security can face threats too. For instance, if someone hacks the system or there is a virus attack, it can have the potential to damage all the data that is secured.

A computer system is an integrated form of different components that work together to give a desirable result. It has different component and each works for a specific purpose; however, they generate a common result as required by the user.

Components of Computer System

Let us now understand the following basic components of a computer system.

Hardware

The physical components collectively form the hardware of a computer system. Hardware comprises of the equipment that helps in the working system of the computer.

Following are the different types of hardware components (which have specific functions) −

Monitor − It displays (visual) the result.

CPU − It is the Central Processing Unit that controls the computer's functions and transmits data.

Motherboard − It is mainly accountable to establish communication between components and transmission of information.

RAM − It is the Random Access Memory and responsible for the storage of programs that are currently running and also stores data temporarily.

Hard Disk Drive − It is a permanent memory storage device.

Floppy Disk Drive − It is hardly being used in recent times.

Optical disks − It is a device that also store data. For example, CD, DVD, etc.

Input & Output Device

The following table categorically lists down the input and output device −

Software

The hardware components can only function when software components are added to the computer system. Software is a program that performs different commands given by a user.

Software is an intangible part of hardware and controls the sequence of operations.

Types of Software

Depending on the basic features and functionality, software can be categorized as −

Let us now discuss the software components in brief.

Operating System

This software helps to load the basic program automatically as soon as the computer is started. Following are the major types of operating system −

Application Software

The software, which can be used on an installed operating system, is known as application software. Following are the significant examples of application software −

Application Software

Examples

Office programs

Microsoft Office, OpenOffice, LibreOffice, etc.

Web browser

Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, etc.

Antivirus Program

Norton, McAfee, Quick Heal, Avira, Kaspersky, etc.

E-accessibility Software

The E-accessibility software components additional facilities to users such as −

The computer system is simply a machine and hence it cannot perform any work; therefore, in order to make it functional different languages are developed, which are known as programming languages or simply computer languages.

Over the last two decades, dozens of computer languages have been developed. Each of these languages comes with its own set of vocabulary and rules, better known as syntax. Furthermore, while writing the computer language, syntax has to be followed literally, as even a small mistake will result in an error and not generate the required output.

Following are the major categories of Programming Languages −

Let us discuss the programming languages in brief.

Machine Language or Code

This is the language that is written for the computer hardware. Such language is effected directly by the central processing unit (CPU) of a computer system.

Assembly Language

It is a language of an encoding of machine code that makes simpler and readable.

High Level Language

The high level language is simple and easy to understand and it is similar to English language. For example, COBOL, FORTRAN, BASIC, C, C+, Python, etc.

High-level languages are very important, as they help in developing complex software and they have the following advantages −

Although a high-level language has many benefits, yet it also has a drawback. It has poor control on machine/hardware.

The following table lists down the frequently used languages −

The following table highlights the points that differentiate a hardware from a software.

The following table highlights the basic differences between analog and digital −

An operating system is the fundamental basis of all other application programs. Operating system is an intermediary between the users and the hardware.

Operating system controls and coordinates the use of hardware among application programs. The major services of an operating system are −

Applications of Operating System

Following are the major applications of an operating system −

Types of Operating System

Following are the major types of operating system −

Let us now discuss each operating system in detail.

Disk Operating System

MS-DOS is one of the oldest and widely used operating system. DOS is a set of computer programs, the major functions of which are file management, allocation of system resources, providing essential features to control hardware devices.

DOS commands can be typed in either upper case or lower case.

Features of DOS

Following are the significant features of DOS −

It is a single user system.

It controls program.

It is machine independence.

It manages (computer) files.

It manages input and output system.

It manages (computer) memory.

It provides command processing facilities.

It operates with Assembler.

Types of DOS Commands

Following are the major types of DOS Command −

Internal Commands − Commands such as DEL, COPY, TYPE, etc. are the internal commands that remain stored in computer memory.

External Commands − Commands like FORMAT, DISKCOPY, etc. are the external commands and remain stored on the disk.

Windows Operating System

The operating system window is the extension of the disk operating system.

It is the most popular and simplest operating system; it can be used by any person who can read and understand basic English, as it does not require any special training.

However, the Windows Operating System requires DOS to run the various application programs initially. Because of this reason, DOS should be installed into the memory and then window can be executed.

Elements of Windows OS

Following are the significant element of Windows Operating S ystem (WOS) −

Graphical User Interface

Icons (pictures, documents, application, program icons, etc.)

Taskbar

Start button

Windows explorer

Mouse button

Hardware compatibility

Software compatibility

Help, etc.

Versions of Windows Operating System

Following are the different versions of Windows Operating System −

Unix Operating System

The Unix Operating System is the earliest operating system developed in 1970s. Let us consider the following points relating to the Unix Operating System −

Internet is a system that interconnects the different computer systems across the world. It uses the Internet protocol suite to link devices located in different corners of the world.

The Internet system carries an extensive range of information resources and services including World Wide Web (WWW), telephony, electronic mail, etc. It uses standard internet protocols, such as TCP/IP and HTTP, etc.

An internal web comprises of all Hypertext Transfer Protocol (HTTP) nodes on a private network; for example, an organization's LAN or WAN.

Features of Internet

Let us now discuss the features of Internet. The features are described below −

Accessibility

An Internet is a global service and accessible to all. Today, people located in a remote part of an island or interior of Africa can also use Internet.

Easy to Use

The software, which is used to access the Internet (web browser), is designed very simple; therefore, it can be easily learned and used. It is easy to develop.

Interaction with Other Media

Internet service has a high degree of interaction with other media. For example, News and other magazine, publishing houses have extended their business with the help of Internet services.

Low Cost

The development and maintenance cost of Internet service are comparatively low.

Extension of Existing IT Technology

This facilitates the sharing of IT technology by multiple users in organizations and even facilitates other trading partners to use.

Flexibility of Communication

Communication through Internet is flexible enough. It facilitates communication through text, voice, and video too. These services can be availed at both organizational and individual levels.

Security

Last but not the least, Internet facility has to a certain extent helped the security system both at the individual and national level with components such as CCTV camera, etc.

Internet Software

Internet Software comprises of all the tools needed for networking through computer. Following are a few important components of the Internet Software −

Internet Applications

Internet applications are server-based applications. Following are a few Internet Applications −

All the computers that are developed are not alike rather they have different designs and features. Some computers have very high capacity as well as working speed; however, some are slow. Depending upon the requirements, computers are being developed.

Types of Computer

Depending upon the internal structure and subsequent features and applicability, computer system is categorized as follows −

Mainframe Computer

It is high capacity and costly computer. It is largely used by big organizations where many people can use it simultaneously.

Super Computer

This category of computer is the fastest and also very expensive. A typical supercomputer can solve up to ten trillion individual calculations per second.

Workstation Computer

The computer of this category is a high-end and expensive one. It is exclusively made for complex work purpose.

Personal Computer (PC)

It is a low capacity computer developed for single users.

Apple Macintosh (Mac)

It is a sort of personal computer manufactured by Apple company.

Laptop computer (notebook)

It is a handy computer that can be easily carried anywhere.

Tablet and Smartphone

Modern technology has advanced further. It has helped develop computers that are pocket-friendly. Tablets and smartphones are the best examples of such computer.

In this chapter, we will discuss the major terminologies used in computer networking −

WAN

It stands for Wide Area Network and covers a wide area such as a city.

LAN

It stands for Local Area Network and covers a small area such as a small office or home. It physically connects all the computers located in the premises.

Internet

It is a computer network system that connects the computers of the world. It is normally connecting through WAN and LAN.

Intranet

It is a close room computer network system, as it covers a small area and only authorized people can access it.

Extranet

It is also a sort of Internet the access to which is granted only to a few.

World Wide Web (WWW)

It is the service that is used on Internet to view and search contents (in the form of web-pages).

Instant messaging (IM)

It is an online facility that facilitates us to chat or talk. Such service is provided by Skype, Google Talk, Windows Live Messenger, Yahoo Messenger, etc.

Voice over Internet Protocol (VoIP)

It is a Protocol, which is used especially for voice transfer over IP network. Likewise, it facilitates users to make phone-calls by using internet.

Really Simple Syndication (RSS)

It is a technique, which is used for the dissemination of information, articles, etc. Users normally subscribe to the RSS channel in order to receive news. After subscription, users do not need to visit the respective website rather they receive emails regarding the same.

Web log

It is a sort of online inventory (normally on a specialized topics) that consists of a series of entries. These entries are arranged in opposite chronological order. The person who maintains the weblog regularly update it with a new information.

Podcast

It is a digital file that normally contains audio or video record and is available on the Internet as well.

Social networking websites

It refers to the websites that facilitate users with a common platform where they can share their message (in text, audio, or even video form), images, videos, etc. For example, Facebook, Google+, Twitter, LinkedIn, MySpace, etc.

Chat Rooms

It is a dedicated area on the Internet that facilitates users to communicate.

Public Switched Telephone Network (PSTN)

It is a technical expression for public telephone system.

Integrated Services Digital Network (ISDN)

It is a set of communication standards that transmits voice, video, data, and other network services simultaneously.

Asymmetric Digital Subscriber Line (ADSL)

It is a sort of digital subscriber line (DSL) technology that facilitates faster data transmission.

Download

It is a process that saves data from Internet onto a personal computer.

Upload

It is a process that transfers the saved data from a personal computer to Internet server.

Dial-up

It is a technique in which a phone line is used in order to connect to the Internet.

Broadband

It is a wide bandwidth data transmission that transports multiple signals and traffic types swiftly.

A number of tasks in today's world is computer based - filling an application, transferring fund, or doing online business everything can be done through computer application.

Easily accessible and user friendly, computer applications process the required transactions very quickly and accurately.

Computer applications are designed in such a simple manner that no qualification or training is required to use it; any person who can read and write can use computer application.

Uses of Computer Applications

In this section, we will discuss the different computer applications and their uses.

Online Applications

Today, most of the applications are being accepted online, whether it is for opening a bank account, filling admission form, filling job application, etc.

Following are the important forms of online applications −

Banking

Most of the banks are interlinked through computer networking and offer core banking facilities. Computer networking helps maintain accounts online, offers net banking facility, makes available online transactions facility, and offers digital signature facility, the biggest advantage being that ATM machines can dispense money anytime, etc.

Ticket Booking

Ticket booking has become easier with computer networking. Flight ticket, railway ticket, and even bus ticket can be booked online with simple and easy steps.

Passport Application

If you want to apply for a new passport, you can do it by yourself online. Besides, you can also apply for other essential documents online such as PAN card, Aadhaar Card, etc.

Job Application

Today, most of the applications (private as well as government) are being filled online. Many of the organizations also conduct competitive exams leading to employment online.

Admission Application

Most of the schools and universities have made their admission applications available online; they also accept fees online.

Real-time Application

Real-time application is a computer based application program that functions in a given period of time. Or in other words, in a given period of time, a user has to perform certain functions before the time lapses.

For example, if you are making online transactions, then you have to provide the required information in a given time framework or else you will miss the chance.

Following are significant examples of real-time application −

Videoconferencing

With this technology, people can connect with each other visually from different places.

VoIP (voice over Internet Protocol)

This technology helps to make telephone calls over digital computer networks.

E-commerce transactions

This technology helps in buying and selling products over the digital computer network.

Online banking

Online banking is virtual banking from any place with the help of computer networks.

Instant messaging

This is where messages can be exchanged over the Internet instantly.

Online gaming

This enables playing of games partially or completely over the Internet.

Business Application

Different businesses have different computer applications; however, a few applications such as for maintaining the data base (of respective business), keeping employees' records, offering online business facilities, online promotions, etc. are the common features of almost every business organization.

As such, introduction of computer technology has made business easier, simpler, and accessible 24×7.

The development of computer systems is normally discussed as the development over different generations.

With the succession of different generations, came the advancement in computer technology.

Computer Generations

Let us now discuss the development in Computer Technology over the different generations.

First Generation

The period 1940 to 1956, roughly considered as the First Generation of Computer.

The first generation computers were developed by using vacuum tube or thermionic valve machine.

The input of this system was based on punched cards and paper tape; however, the output was displayed on printouts.

The first generation computers worked on binary-coded concept (i.e., language of 0-1). Examples: ENIAC, EDVAC, etc.

Second Generation

Third Generation

Fourth Generation

Fifth Generation

Collection, manipulation, and processing collected data for the required use is known as data processing. It is a technique normally performed by a computer; the process includes retrieving, transforming, or classification of information.

However, the processing of data largely depends on the following −

Methods of Data Processing

Let us now discuss the different methods of data processing.

Single User Programming

It is usually done by a single person for his personal use. This technique is suitable even for small offices.

Multiple Programming

This technique provides facility to store and execute more than one program in the Central Processing Unit (CPU) simultaneously. Further, the multiple programming technique increases the overall working efficiency of the respective computer.

Real-time Processing

This technique facilitates the user to have direct contact with the computer system. This technique eases data processing. This technique is also known as the direct mode or the interactive mode technique and is developed exclusively to perform one task. It is a sort of online processing, which always remains under execution.

On-line Processing

This technique facilitates the entry and execution of data directly; so, it does not store or accumulate first and then process. The technique is developed in such a way that reduces the data entry errors, as it validates data at various points and also ensures that only corrected data is entered. This technique is widely used for online applications.

Time-sharing Processing

This is another form of online data processing that facilitates several users to share the resources of an online computer system. This technique is adopted when results are needed swiftly. Moreover, as the name suggests, this system is time based.

Following are some of the major advantages of time-sharing processing −

Distributed Processing

This is a specialized data processing technique in which various computers (which are located remotely) remain interconnected with a single host computer making a network of computer.

All these computer systems remain interconnected with a high speed communication network. This facilitates in the communication between computers. However, the central computer system maintains the master data base and monitors accordingly.

A computer networking is a process of connecting two more than two computers with the purpose to share data, provide technical support, and to communicate (especially for the business purpose.

Internet is the technology that is used to connect different computer systems (located in different geographic location). Networking technology has revolutionized the world and created a new arena for the overall development of every nation.

Advantages of Networking

Let us now discuss the advantages of networking. The advantages are described below −

Facility of Technical Support

Because of having computer networking, a person sitting in the United States of America provides technical support to a person sitting in a remote part of India.

Easy Sharing of Data

With the help of networking, it is very simple to share all formats of digital data from one computer system to another (irrespective of their geographic location).

Easy Sharing of Hardware Resource

With the help of networking, it has now become very simple to share the expensive resources including storage space, processor, fax, etc.

Easy Sharing Software

Through the networking system, it is easy to share and install the software from one computer system to another computer system.

Easy to Decentralize Data Processing

Through the networking system, it is very simple to decentralize the data processing system. It ultimately helps to control, secure, and manage the important data.

Easy to Communicate

With the help of networking, the communication system has now become highly efficient, frugal, and fast. The different modes of communication are text chatting, video chatting, emails, etc.

Types of Network

In this section, we will discuss the different types of network. The types are described below −

Local Area Network

Local Area Network or simply LAN is the technique of interconnecting a few computers located in a given premise. It is normally used for a single business office or a residential apartment.

The major purpose of such interconnectivity is to establish a communication system in order to make the work easier.

However, in such connectivity, some other devices can also be attached such as laser printers, fax machine, etc.

Metropolitan Area Network

Metropolitan Area Network or simply MAN is a system of network that normally covers a large metropolitan area (city part).

It provides high speed Internet services throughout the area covered within the network.

Wide Area Network

Wide Area Network or simply WAN is a system of network that covers a large geographical area across the world.

The services of WAN are provided by public (government) agencies as well as private agencies. The network also provides the facility to access databases located remotely.

The WAN system is highly beneficial for MNCs and other big corporate companies (offering online services).

The fast computerization of every work and gradual dependency on computer based work has exponentially opened a new arena of Information technology for employment.

However, the IT field requires qualified and trained employees who can design and develop a new information system.

Information technology has also helped in research and development and has further developed new technologies. The IT employees emphasize on planning, designing, developing, managing the work, and providing technical support to various users.

Types of Computer Related Jobs

In recent times, a number of jobs have come up that are done with the assistance of computer. We will discuss the different job titles performing computer related jobs −

Programmer

A person who is qualified enough to write a creative code for the computer program is known as Programmer.

The codes written by programmer are the instructions given to the computer over what to do, how to do, when to do, etc.

There are dozens of languages, which are written by the different programmers. E.g. Java, C, C++, python, Ajax, etc.

System Analyst

The job of a system analyst is highly classified and also very crucial.

A system analyst fundamentally designs, develops, and implements new systems or adds some additional features in the existing system to give instructions to perform additional tasks.

System analyst also specializes in fields such as engineering, science & technology, finance, business, accounting, etc.

Database Administrator

A database administrator or simply DBA is a trained person who is accountable for the storage of and management of the database system.

Network Administrator

Computer networking is another specialized field where a qualified person is required.

A network administrator specializes in installing, configuring, and supporting computer network system. Likewise, he manages the local area network, wide area network, the Internet system or the segment of a network system in the respective organization.

The job of a network administrator is a very crucial one as almost every network in an organization requires at least one network administrator.

Web Designers

A web designer is an architect who designs an effective and communicative website.

He places the images, contents, and other such information on right places to make the website interactive and user friendly.

Information Security Analysts

This is one of the most significant jobs under which an Information Security Analyst designs, implements, and supports the security system of a computer or whole network.

The advancement of computer technology and internet, domestic as well as international businesses are being fascinated towards these technologies. Today, most of the small or big businesses and domestic or international businesses offer their products and services through Internet.

The business organizations these days have attractive and interactive website through which they promote and market their business.

The facility of computer based technology and Internet collectively integrates the fragmented markets by offering them a common arena. Technology has further helped organizations in cost cutting and has also helped reduce the cost of products and services.

Technology facilitates customers in buying products or services of their requirement by sitting at home or any place.

What is Electronic Commerce?

Electronic commerce or simply ecommerce is normally a process that involves facilitating the availability of products and services online. The users can search, choose, sell, buy from a wide range of options through Internet.

The major activities of ecommerce are as follows −

Selling products and services online (through internet)

Buying products and services online

Paying and accepting payment online

Transaction of businesses and other services online

Features of E-Commerce

Following are the important features of ecommerce −

Types of E-Commerce

Following are the major types of e-commerce businesses −

Business-to-Business (B2B)

It is conducted between two business firms.

Business-to-Consumer (B2C)

It is conducted between the business firm and the consumer.

Consumer-to-Consumer (C2C)

Consumer-to-consumer business deals happen between two consumers; there are certain websites that facilitate a common platform to both the consumers - one who wants to buy and one who wants to sell.

Benefits of E-Commerce

Let us now discuss the benefits of e-commerce −

In order to make a computer functional, a set of instructions need to be programmed, as these programmed languages are carriers to the performance of a task.

Likewise, a computer accepts users' instructions in the form of computer programming and then carries out the given task.

Features of Software Programming

A computer program, which actually is a set of instructions and helps computer to perform a specific task, has the following basic features −

Steps to Development of Program

Development of programming language is entirely dependent on the kind of problem and requirement. However, development of a programming language normally (not essentially, but) includes the following steps −

Defining the Problem

This the first step, wherein the problem has to be defined.

Analysis of Task and Methods

Once the problem is defined, the developer analyzes and develops various solutions in order to solve the problem and finally, the best feasible solution is developed.

Development of Algorithm

Algorithm is a proper technique that illustrates the right solution in logical and feasible steps. Algorithm is normally done in the form of flowcharts and pseudo codes.

Verification of Algorithm

Once the algorithm is developed, it cannot be applied directly rather primarily it needs to be tested specially for the accuracy. If there is any error, it is rectified and solved in the beginning itself. The verification process saves time, money, and energy.

Coding

Once the basic processes and steps are completed successfully, then the actual coding of a program starts in the given programming language.

Testing of Program

Testing of the development of program code is another essential feature, as it is bound with errors; hence, testing makes it error free. The developer keeps testing and correcting the coding until he/she develops it finally.

Documentation

Once the coding and programming is done successfully, it is the job of the developer to document all these features and steps. The documented program instructs users on how to run and operate the respective program.

Implementation

Once the above steps are executed successfully, the developed codes (programming language) are installed in the computer system for the end users. The users are also manuals - explaining how to run the respective programs.

A flowchart is a blueprint that pictorially represents the algorithm and its steps. The steps of a flowchart do not have a specific size and shape rather it is designed in different shapes and sizes (see the image given below).

As shown in the above image, the boxes in different shapes and interconnected with arrows, are logically making a flow chart. A flow-chart represents the general steps in a process.

Benefits of Flowchart

Let us now discuss the benefits of a flowchart.

Simplify the Logic

As it provides the pictorial representation of the steps; therefore, it simplifies the logic and subsequent steps.

Makes Communication Better

Because of having easily understandable pictorial logic and steps, it is a better and simple way of representation.

Effective Analysis

Once the flow-chart is prepared, it becomes very simple to analyze the problem in an effective way.

Useful in Coding

The flow-chart also helps in coding process efficiently, as it gives directions on what to do, when to do, and where to do. It makes the work easier.

Proper Testing

Further, flowchart also helps in finding the error (if any) in program

Applicable Documentation

Last but not the least, a flowchart also helps in preparing the proper document (once the codes are written).

Flow-Chart Symbols

The following table illustrates the symbols along with their names (used in a flow-chart) −

Sample of Flow Chart

An extranet is a sort of personalized service, which is controlled and regulated by private network.

This personalized and controlled technology provides access only to partners, vendors, and suppliers; sometimes, not essentially, but also to some specific customers.

An extranet is a private network organization, which is actually the part of respective company's intranet and its services are extended to users outside the company. Sometimes, it is also considered as a specialized technique to practice business with other companies and selling products to the customers.

In order to do business with other business partners, extranet technology facilitates the intranet from one location to other and also provides security to data flow.

An extranet service requires firewall server management in order to provide security and privacy.

Features of Extranet Services

Following are the significant features of extranet services −

Application of Extranet

Extranet can be applied for the following services −

It facilitates collaborative business between two (or more) companies

By using this technology, a joint training program (with other company) is conducted

By using electronic data interchange, large volumes of data are shared swiftly

It is used to share product catalogs especially with wholesalers

Extranet service is also used in providing customer support

It is used to share business news with partner companies

Advantages of Extranet

The advantages of Extranet services are as follows −

Major Fields Using Extranet

Following are some of the major fields that are using Extranet service on a large scale −

Intranet is more localized, as only internal employees have the accessibility. In contrast, Extranet covers a wider area, as outsiders (such as partner, vendor, or even customer) have the authorized accessibility.

Mobile computers are the systems, which are physically not remain connected to specific place rather these are mobile in nature, as one can carry anywhere anytime.

The mobile computer technology carries battery back; therefore, it does not require consistent electric power.

Mobile computers can be connected with Internet through wire or the connection can be wireless as well through Wi-Fi or Bluetooth technology. Likewise, it is portable, self-powered (because of inbuilt battery), and infused with wireless technology computing device.

Types of Mobile Computing Device

Following are the popular mobile computing devices −

Laptop

A laptop is a portable version of desktop computer. It is equally competent to do any computing work.

Notebook

It is a light weight portable personal computer.

Tablet

It is comparatively handier slate-shaped mobile computer.

Smart Phone

A smart phone is a fully equipped cell phone with most of the computing features.

Personal Digital Assistant (PDA)

It is a computer device more popular as pocket computer. It is largely used in calculation, accessing the Internet, sending and receiving E-mails, scanning bar codes, use as a radio or stereo, playing computer games, video recording, typewriting and word processing, use as an address book, making and writing on spreadsheets, Global Positioning System (GPS), as a clock and calendar, etc.

Portable Data Terminal (PDT)

It is a computer device, which is largely used to enter or retrieve data through wireless transmission (i.e., WLAN or WWAN).

Mobile Data Terminal(MDT)

It is a computer device, which is used in police cars, taxi-cabs, military logistics, service trucks, commercial trucking fleets, courier vehicles, fishing fleets, etc.

Ultra-mobile Personal Computer (UMPC)

It is small form of tablet PC.

Once you are logged in a window computer system, you will get dozens of applications, so you can choose an option of your requirement.

Many of the options have shortcut icon readily available on your computer screen; however, in some computers, you may not find any such option on the screen; in such a case, you can take the help of menu button (as shown in the image given below) −

As you can see in the above image, in the left bottom, there is a window symbol (i.e., menu button); once you click on it, the given menu option will appear and from here you can choose your option.

Start Menu Options

The following table lists down the options that appear after clicking on the Start menu −

Note − Depending on the version of your window, the menu option may vary in terms of appearance and number of menu options; however, there would not be any change in basics.

Recycle Bin

Recycle Bin is a trash location where deleted files remain stored. Once you delete any sort of file, it gets stored (automatically) into recycle bin; therefore, if you mistakenly deleted some important file, don't panic, go to recycle bin and restore it. However, if you deleted file from recycle bin as well, then it is very difficult to restore that permanently deleted file.

Internet Option

The option (i.e., short-cut key) of the Internet browser may be available on the main screen or at the bottom menu bar (as shown in the image given below). However, if do not find it at both these places, go to the menu, as all programs are listed there.

In this chapter, we will discuss how the Computer Multimedia works. If a system presents, some information through more than two media, it is known as multimedia. For example, TV presents audio and video; book presents text, image, and graphs, computer, etc.

The information presented through multimedia has better quality and capability, as it can be understood easily.

The advanced computer system is a great example of modern multimedia.

Literal Meaning of Multimedia

In this section, we will understand the literal meaning of multimedia.

Multi − it means more than one

Medium − it is singular and it means intermediary or mean

Media − it is plural and it means conveying the information

Likewise, Multimedia is the field of Computer Science that integrates different forms of information and represents in the form of audio, video, and animation along with the traditional media, i.e., text, graphics/drawings, images, etc.

Multimedia Computer System

Multimedia computer system has high capacity to integrate different media including text, image, graphics, audio, and video.

The multimedia computer system stores, represents, processes, manipulates, and makes available to users.

Significant Features of Multimedia Computer System

Following are the major features multimedia computer system −

Multimedia Components

Following are the major components of a multimedia computer system −

Text

It contains alphanumeric and some other special characters. Keyboard is usually used for input of text; however, there are some internal (inbuilt) features to include such text.

Graphics

It is technology to generate, represent, process, manipulate, and display pictures. It is one of the most important components of multimedia application. The development of graphics is supported by a different software.

Animation

Computer animation is a modern technology, which helps in creating, developing, sequencing, and displaying a set of images (technically known as ' frames '). Animation gives visual effects or motion very similar to that of a video file (see image given below).

Audio

This technology records, synthesizes, and plays audio (sound). There are many learning courses and different instructions that can be delivered through this medium appropriately.

Video

This technology records, synthesizes, and displays images (known as frames) in such sequences (at a fixed speed) that makes the creation appear as moving; this is how we see a completely developed video. In order to watch a video without any interruption, video device must display 25 to 30 frames/second.

Multimedia Application

Let us now see the different fields where multimedia is applied. The fields are described in brief below −

Presentation

With the help of multimedia, presentation can be made effective.

E-books

Today, books are digitized and easily available on the Internet.

Digital Library

The need to be physically present at a library is no more necessary. Libraries can be accessed from the Internet also. Digitization has helped libraries to come to this level of development.

E-learning

Today, most of the institutions (public as well as private both) are using such technology to education people.

Movie making

Most of the special effects that we see in any movie, is only because of multimedia technology.

Video games

Video games are one of the most interesting creations of multimedia technology. Video games fascinate not only the children but adults too.

Animated films

Along with video games, animated film is another great source of entertainment for children.

Multimedia conferencing

People can arrange personal as well as business meetings online with the help of multimedia conferencing technology.

E-shopping

Multimedia technology has created a virtual arena for the e-commerce.

Advancement of computer technology has radically changed the world; resultantly, most of the works whether it is matter of nation's security system or buying a shoe online everything depends on computer.

Such increased dependency also raises the issue of security, as most of the data is now stored in the computer system.

Your computer systems store various sorts of data and hence if it is not secured, then you might be in for a big trouble.

Why Do We Computer Security?

Let us now see why do we need Computer security. It is required for the following major reasons −

Protection of Data and Information

Following are the important steps to protect data −

Further, if you use internet, then you need to take greater precaution. Consider the following points to understand the precautions that need to be taken −

Do not click on any link that you don't know (as it may be dangerous for your computer - virus attack).

Do not open unauthorized an unlawful website (it may damage your computer system).

Do not download unsolicited data from unknown website.

What is Defragmentation?

Frequent saving and deleting of file (data) from the hard disk creates problems in performance and also reduce the space; therefore, defragmentation again clean-up the drive and restore the system to run smoothly.

Following are the simple steps of defragmentation −

Disk Cleanup

While browsing websites (on internet), many of the files get stored in the hard disk automatically (actually these stored files later help to reopen the website faster); besides some other cookies also get stored in the hard disk. All these stored files create problem along with eating space.

So, disk cleanup process cleans all these files and releases the space occupied by these unwanted files.

Following are the simple steps of disk cleanup −

Threat in a computer system is a possible danger that might put your data security on stake. The damage is at times irreparable.

Definition

As defined by the National Information Assurance Glossary −

"Any circumstance or event with the potential to adversely impact an IS through unauthorized access, destruction, disclosure, modification of data, and/or denial of service."

A computer threat can be " intentional" such as hacking or " accidental" such as malfunctioning of or physical damage.

Types of Threat

Following are the most common types of computer threats −

Physical damage − It includes fire, water, pollution, etc.

Natural events − It includes climatic, earthquake, volcanic activity, etc.

Loss of services − It includes electrical power, air conditioning, telecommunication, etc.

Technical failures − It includes problems in equipment, software, capacity saturation, etc.

Deliberate type − It includes spying, illegal processing of data, etc.

Some other threats include error in use, abuse of rights, denial of actions, eavesdropping, theft of media, retrieval of discarded materials, etc.

Sources of Threat

The possible sources of a computer threat may be −

Internal − It includes employees, partners, contractors (and vendors).

External − It includes cyber-criminals (professional hackers), spies, non-professional hackers, activists, malware (virus/worm/etc.), etc.

Common Terms

Following are the common terms frequently used to define computer threat −

Virus Threats

A computer virus is a program designed to disrupt the normal functioning of the computer without the permission of the user.

Spyware Threats

Spyware is a computer program that monitors user's online activities or installs programs without user's consent for profit or theft of personal information.

Hackers

Hackers are programmers who put others on threats for their personal gain by breaking into computer systems with the purpose to steal, change or destroy information.

Phishing Threats

It is an illegal activity through which phishers attempt to steal sensitive financial or personal data by means of fraudulent email or instant messages.

How to Secure Your Computer System from Threats?

Following are the significant tips through which you can protect your system from different types of threat −

Install, use, and keep updated Anti-Virus in your system.

Install, use, and keep updated a Firewall Program.

Always take backups of your important Files and Folders.

Use Strong and Typical Passwords.

Take precaution especially when Downloading and Installing Programs.

Install, use, and keep updated a File Encryption Program.

Take precaution especially when Reading Email with Attachments.

Keep your Children aware of Internet threats and safe browsing.

A virus is a computer code or program, which is capable of affecting your computer data badly by corrupting or destroying them.

Computer virus has the tendency to make its duplicate copies at a swift pace, and also spread it across every folder and damage the data of your computer system.

A computer virus is actually a malicious software program or "malware" that, when infecting your system, replicates itself by modifying other computer programs and inserting its own code.

Infected computer programs may include data files, or even the "boot" sector of the hard drive.

Types of Virus

Following are the major types of computer virus −

Worms

This is a computer program that replicates itself at a swift pace. Unlike a computer virus, it is self-contained and hence does not need to be part of another program to propagate itself.

Trojan Horse

A Trojan Horse is also a sort of destructive program that remains disguised in a normal software program. It is not exactly a virus, as it cannot replicate itself. However, there is possibility that virus program may remain concealed in the Trojan Horse.

Bombs

It is similar to Trojan Horse, but Logic bombs have some specialty; these include a timing device and hence it will go off only at a particular date and time.

How Does Virus Affect?

Let us discuss in what ways a virus can affect your computer system. The ways are mentioned below −

Impact of Virus

Let us now see the impact of virus on your computer system −

Virus Detection

The most fundamental method of detection of virus is to check the functionality of your computer system; a virus affected computer does not take command properly.

However, if there is antivirus software in your computer system, then it can easily check programs and files on a system for virus signatures.

Virus Preventive Measures

Let us now see the different virus preventive measures. A computer system can be protected from virus through the following −

Most Effective Antivirus

Following are the most popular and effective antivirus from which you can choose one for your personal computer −

McAfee Antivirus Plus

Symantec Norton Antivirus

Avast Pro Antivirus

Bitdefender Antivirus Plus

Kaspersky Anti-Virus

Avira Antivirus

Webroot Secure Anywhere Antivirus

Emsisoft Anti-Malware

Quick Heal Antivirus

ESET NOD32 Antivirus

In this chapter, we will discuss the different abbreviations in Computer Science. The following table lists down those abbreviations −

In this chapter, we will discuss the development in Computer Science chronologically.

The following table lists down the development −

The following table illustrates the names of major innovators with their works and year −

Pāṇini

Pāṇini, the ancient Indian Sanskrit linguist, grammarian, and honorable scholar had systematized and mentioned the technical use of metarules, transformations, and recursions, in his book 'Ashtadhyayi.' It is considred as the forerunner to the computer programming language.

5 th Century BC (about)

The following table shows the different short-cut keys frequently used while working on the computer system −

Function

Short-cut keys

Commonly Used Short-cut Keys

F1

Universal help (for any sort of program).

Alt + F

File menu options in current program.

Alt + E

Edits options in current program.

Ctrl + X

Cuts the selected item.

Ctrl + C

Copies the selected item.

Ctrl + V

Pastes copied item.

Home

Takes the user to the beginning of the current line.

End

Takes the user to the end of the current line.

Ctrl + Home

Takes the user to the beginning of the document.

Ctrl + End

Takes the user to the end of the document.

Shift + Home

Highlights from the current place to the beginning of line.

Shift + End

Highlights from the current place to the end of line.

Microsoft Windows Shortcut Keys

Ctrl + F4

Closes window in program.

Alt + F4

Closes current open program.

F2

Renames the selected icon.

F3

Start find from desktop.

F4

Opens the drive selection when browsing.

Alt + Tab

Switches from one open application to another open application.

Alt + Shift + Tab

Switches backwards between open applications.

Alt + Print Screen

Creates screen shot for current program.

Ctrl + Alt + Del.

Opens windows task manager/reboot.

Ctrl + Esc

Brings up start menu.

Alt + Esc

Switches between applications on taskbar.

Ctrl + Plus (+) Key

Automatically adjusts widths of all columns in Windows Explorer.

Alt + Enter

Opens properties window of selected icon or program.

Shift + F10

Simulates right-click on selected item.

Shift + Del

Deletes selected programs/files permanently.

Holding Shift During Boot-up

Enables boot safe mode or bypass system files.

Ctrl + O

Opens a recently used note.

Ctrl + S

Saves changes to a note.

Alt + F4

Closes a note and its Journal window.

Ctrl + Z

Helps Undo a change.

Ctrl + Y

Helps Redo a change.

Ctrl + A

Selects all items on a page.

Ctrl + C

Copies a selection to the Clipboard.

Ctrl + V

Pastes a selection from the Clipboard.

Esc

Cancels a selection.

Ctrl + F

Start a search tool.

Ctrl + Shift + C

Display a shortcut menu for column headings in a note list.

Microsoft Word Shortcut Keys

Ctrl + N

Creates a new document.

Ctrl + O

Opens an existing document.

Ctrl + S

Saves changes to a document.

F12

Saves the document as a new file.

Ctrl + P

Prints a document.

Ctrl + Z

Helps Undo a change.

Ctrl + Y

Helps Redo a change.

Ctrl + A

Selects the whole document.

Ctrl + X

Helps cut a selection

Ctrl + C

Copies a selection to the Clipboard.

Ctrl + V

Pastes a selection from the Clipboard.

Ctrl + B

Makes selected text bold.

Ctrl + I

Italicizes selected text.

Ctrl + U

Underlines selected texts.

Ctrl + R

Aligns text right.

Ctrl + E

Aligns text center.

Ctrl + J

Helps justify text.

Ctrl + 1

Sets single line spacing.

Ctrl + 2

Sets double line spacing.

Ctrl + 5

Sets line spacing to 1.5.

Ctrl + Shift + A

Changes characters to all capitals.

Ctrl + D

Inserts a Microsoft Paint drawing.

Ctrl + Home

Moves to the beginning of the document.

Ctrl + End

Moves to the end of the document.

# data[].attributes.attachment_link.title
Basics of Computer Science - Quick Guide

# data[].attributes.attachment_link.description
A computer is basically a programmable machine capable to perform arithmetic and logical operations automatically and sequentially. It is also known as a data processor, as it can store, process, and retrieve data as per the wish of the user. Data processing involves the following three activities − Input of data Manipulation/processing of data Giving output (i.e.

# data[].attributes.body
Tim Berners-Lee is the inventor of the world wide web.

# data[].attributes.attachment_link.readable_text
Sir Tim Berners-Lee invented the World Wide Web in 1989.

He is the co-founder and CTO of Inrupt.com, a tech start-up which uses, promotes and helps develop the open source Solid platform. Solid aims to give people control and agency over their data, questioning many assumptions about how the web has to work. Solid technically is is new level of standard at the web layer, which adds things never put into the original spec, such as global single sign-on, universal access control, and a universal data API so that any app can store data in any storage place. Socially Solid is a movement away from much of the issues with the current WWW, and toward a world in which users are in control, and empowered by large amounts of data, private, shared, and public.

Sir Tim is the Director of the World Wide Web Consortium ( W3C), a Web standards organization founded in 1994 which develops interoperable technologies (specifications, guidelines, software, and tools) to lead the Web to its full potential. He is a Director of the World Wide Web Foundation which was launched in 2009 to coordinate efforts to further the potential of the Web to benefit humanity.

A graduate of Oxford University, Sir Tim invented the Web while at CERN, the European Particle Physics Laboratory, in 1989. He wrote the first web client and server in 1990. His specifications of URIs, HTTP and HTML were refined as Web technology spread.

He is the 3Com Founders Professor of Engineering in the School of Engineering with a joint appointment in the Department of Electrical Engineering and Computer Science at the Laboratory for Computer Science and Artificial Intelligence ( CSAIL) at the Massachusetts Institute of Technology ( MIT) where he co-leads the Decentralized Information Group (DIG).

The Decentralized Information Group, works on the Solid Project to give people control of their own data and to re-decentralize the Web. He is the co-founder and CTO of inrupt, the company launched to ensure the success of the Solid platform and its open source community, and to build the ecosystem that supports it.

He is also a Professor in the Computer Science Department at the University of Oxford, UK. He is President of and founded the Open Data Institute in London. He is President of London's Open Data Institute.

In 2001 he became a Fellow of the Royal Society. He has been the recipient of several international awards including the Japan Prize, the Prince of Asturias Foundation Prize, the Millennium Technology Prize and Germany's Die Quadriga award. In 2004 he was knighted by H.M. Queen Elizabeth and in 2007 he was awarded the Order of Merit. In 2009 he was elected a foreign associate of the National Academy of Sciences. He is the author of " Weaving the Web".

On March 18 2013, Sir Tim, along with Vinton Cerf, Robert Kahn, Louis Pouzin and Marc Andreesen, was awarded the Queen Elizabeth Prize for Engineering for "ground-breaking innovation in engineering that has been of global benefit to humanity."

Sir Tim has promoted open government data globally and spends time fighting for rights such as net neutrality, privacy and the openness of the Web.

On 4 April 2017, Sir Tim was awarded the ACM A.M. Turing Prize for inventing the World Wide Web, the first web browser, and the fundamental protocols and algorithms allowing the Web to scale. The Turing Prize, called the "Nobel Prize of Computing" is considered one of the most prestigious awards in Computer Science.

( Longer biography)

Email:

Chief of Staff cos@timbl.com

PGP fingerprint

4D4B 9D1D C032 0710 3CDC DE0B 344D 9666 1177 9EE7

PGP

Key

Address

W3C/MIT/CSAIL

32 Vassar Street
Cambridge MA 02139
USA

Identity on Wikipedia

Timbl

Videos Essays and articles in text form

We Need to Change How We Share Our Personal Data Online in the Age of COVID-19, Time magazine, 15 July 2020

Tim Berners-Lee thinks the world can be better after Covid-19, Quartz, 30 June 2020

Covid-19 makes it clearer than ever: access to the internet should be a universal right, The Guardian, 4 June 2020

Why the web needs to work for women and girls, The World Wide Web Foundation, 2020

I Invented the World Wide Web. Here's How We Can Fix It, OpEd, New York Times, 24 November 2019

Where Does the World Wide Web Go From Here?, Wired, 3 November 2019

30 years on, what's next #ForTheWeb?, The World Wide Web Foundation, 2019

One Small Step for the Web..., Inrupt, November 2018

The web is under threat. Join us and fight for it, The World Wide Web Foundation, 2018

Three challenges for the web, according to its inventor, The World Wide Web Foundation, 2017

The many meanings of Open, Telefonica, 2013

"Tim Berners-Lee on the Web at 25: the past, present and future", Wired, 23 August 2014

Long Live the Web: A Call for Continued Open Standards and Neutrality Scientific American Noverber 2010

"Linked Data" (slides) at the TED 2009 conference, "The Great Unveiling" in Long Beach, CA, USA, 4 February 2009.

The Future of the Web. Testimony before the United States House of Representatives Committee on Energy and Commerce Subcommittee on Telecommunications and the Internet. (2007-03-01)

The Mobile Web Keynote, 3GSM Barcelona, (2007-02-22)

Speech and the Future Keynote, SpeechTek New York, (2004-09-14)

Comment on the '906 patent (2003)

Japan Prize commemorative lecture on the universality of the Web (2002)

Michael Dertouzos R.I.P. (2001-08-27)

D.M.Sendall. R.I.P. July 15 1999

The future of the Web - LCS 35th anniversary talk transcript

WWW, UU and I - Unitarian Universalism and the Web (1998/4)

A one-page personal history of the web (1998/5/7)

Realizing the full potential of the web (1997/12/3)

World-Wide Computer Communications of the ACM, February 1997, Vol. 40 No 2.

The web: Past, Present and Future (1996)

The Web; Europe and the US; Harmony and Diversity (1996)

Hypertext and Our Collective Destiny , (1995)

Presentation to CDA challenge by CDT et al , 28 Feb 1996

Original proposal for a global hypertext project at CERN (1989)

Interviews:

Rethinking Digital Access, BBC "Rethink" podcast, 24 June 2020

World wide web founder scales up efforts to reshape internet, Forbes, 22 February 2020

The World Wide Web Turns 30 Today. Here's How Its Inventor Thinks We Can Fix It, Time Magazine, 12 March 2019

"I was devastated": Tim Berners-Lee, the man who created the world wide web, has some regrets, Vanity Fair, 1 July 2018

"The Web's Creator Looks to Reinvent It", New York Times, 7 June 2016

"Putting data back into the hands of owners", TechCrunch, 20 December 2016

If you want to know what we are working on now, look at the W3C site and check out all the activities at W3C. Also see:

I do a limited amount of speaking. If you have something you think I would be interested in speaking at, for academic events email timbl+speaking@w3.org with details of the event, projected audience size and profile, location and date.

My professional speaking is handled by Emma Christensen at the Harry Walker Agency, (emmac@harrywalker.com) (you may also cc Don Walker donw@harrywalker.com and please cc me as above).

Please use an email subject line with relevant information such as: : "Keynote in Milan, 23 Febrary 2100 at ISWC2100" including the date and place proposed.

If I use slides (I often do not) I use a laptop -- currently a Mac running OSX. I do not need audio from the laptop.

If you need a photo for publication, please complete the W3C photo request form. You do not need an account to complete the form, but an email address is required.

Alternatively, you can ask:

If you need an interview for an article, please check the

first, then please use email rather than phone. Please contact w3t-pr@w3.org the general PR request line at W3C, rather than Amy van der Hiel (my assistant) or my Chief of Staff ( cos@timbl.com) or Coralie Mercier (Head of Communications at W3C) to set up interviews with me or with other W3C staff.

[Photo: in Sheldonian, Oxford: LeFevre communications, 2001.]

Accessibility at MIT and at W3C

$Id: Overview.html,v 1.221 2021/08/11 20:22:24 amy Exp $ timbl timbl
disclaimer

# data[].attributes.attachment_link.description
Sir Tim Berners-Lee invented the World Wide Web in 1989. He is the co-founder and CTO of Inrupt.com, a tech start-up which uses, promotes and helps develop the open source Solid platform. Solid aims to give people control and agency over their data, questioning many assumptions about how the web has to work.

# data[].attributes.body
Alan Turing was known to have invented the computer age.

# data[].attributes.attachment_link.readable_text
In 1936, whilst studying for his Ph.D. at Princeton University, the English mathematician Alan Turing published a paper, " On Computable Numbers, with an application to the Entscheidungsproblem," which became the foundation of computer science. In it Turing presented a theoretical machine that could solve any problem that could be described by simple instructions encoded on a paper tape. One Turing Machine could calculate square roots, whilst another might solve Sudoku puzzles. Turing demonstrated you could construct a single Universal Machine that could simulate any Turing Machine. One machine solving any problem, performing any task for which a program could be written-sound familiar? He'd invented the computer.

Back then, computers were people; they compiled actuarial tables and did engineering calculations. As the Allies prepared for World War II they faced a critical shortage of human computers for military calculations. When men left for war the shortage got worse, so the U.S. mechanized the problem by building the Harvard Mark 1, an electromechanical monster 50 feet long. It could do calculations in seconds that took people hours.

The British also needed mathematicians to crack the German Navy's Enigma code. Turing worked in the British top-secret Government Code and Cipher School at Bletchley Park. There code-breaking became an industrial process; 12,000 people worked three shifts 24/7. Although the Polish had cracked Enigma before the war, the Nazis had made the Enigma machines more complicated; there were approximately 10 ¹¹⁴ possible permutations. Turing designed an electromechanical machine, called the Bombe, that searched through the permutations, and by the end of the war the British were able to read all daily German Naval Enigma traffic. It has been reported that Eisenhower said the contribution of Turing and others at Bletchley shortened the war by as much as two years, saving millions of lives.

As the 1950s progressed business was quick to see the benefits of computers and business computing became a new industry. These computers were all Universal Turing Machines-that's the point, you could program them to do anything.

"There will positively be no internal alteration [of the computer] to be made even if we wish suddenly to switch from calculating the energy levels of the neon atom to the enumeration of groups of order 720. It may appear somewhat puzzling that this can be done. How can one expect a machine to do all this multitudinous variety of things? The answer is that we should consider the machine to be doing something quite simple, namely carrying out orders given to it in a standard form which it is able to understand." - Alan Turing

By the 1970s a generation was born who grew up with " electronic brains" but they wanted their own personal computers. The problem was they had to build them. In 1975 some hobbyists formed the Homebrew Computer Club; they were excited by the potential the new silicon chips had to let them build their own computers.

One Homebrew member was a college dropout called Steve Wozniak who built a simple computer around the 8080 microprocessor, which he hooked up to a keyboard and television. His friend Steve Jobs called it the Apple I and found a Silicon Valley shop that wanted to buy 100 of them for $500 each. Apple had its first sale and Silicon Valley's start-up culture was born. Another college drop-out, Bill Gates, realized that PCs needed software and that people were willing to pay for it-his Microsoft would sell the programs.

Turing's legacy is not complete. In 1950 he published a paper called " Computing machinery and intelligence." He had an idea that computers would become so powerful that they would think. He envisaged a time when artificial intelligence (AI) would be a reality. But, how would you know if a machine was intelligent? He devised the Turing Test: A judge sitting at a computer terminal types questions to two entities, one a person and the other a computer. The judge decides which entity is human and which the computer. If the judge is wrong the computer has passed the Turing Test and is intelligent.

Although Turing's vision of AI has not yet been achieved, aspects of AI are increasingly entering our daily lives. Car satellite navigation systems and Google search algorithms use AI. Apple's Siri on the iPhone can understand your voice and intelligently respond. Car manufacturers are developing cars that drive themselves; some U.S. states are drafting legislation that would allow autonomous vehicles on the roads. Turing's vision of AI will soon be a reality.

In 1952 Turing was prosecuted for gross indecency, as being gay was then a crime in Britain. He was sentenced to chemical castration. It's believed that this caused depression, and in 1954 Turing committed suicide by eating an apple poisoned with cyanide. Outside of academia Turing remained virtually unknown because his World War II work was top-secret. Slowly word spread about Turing's genius, his invention of the computer and artificial intelligence, and after a petition campaign in 2009, the British Prime Minister Gordon Brown issued a public apology that concluded:

"...on behalf of the British government, and all those who live freely thanks to Alan's work, I am very proud to say: we're sorry. You deserved so much better."

June 23, 2012 is the centenary of Alan Turing's birth. I'm happy to say that finally Turing is getting the recognition he deserves, not just for his vital work in the war, but also for inventing the computer-the Universal Machine-that has transformed the modern world and will profoundly influence our future.
Image of Apple I computer via Wikimedia Commons

# data[].attributes.attachment_link.title
How Alan Turing Invented the Computer Age

# data[].attributes.attachment_link.description
In 1936, whilst studying for his Ph.D. at Princeton University, the English mathematician Alan Turing published a paper, " On Computable Numbers, with an application to the Entscheidungsproblem," which became the foundation of computer science. In it Turing presented a theoretical machine that could solve any problem that could be described by simple instructions encoded on a paper tape.

# data[].attributes.body
Ada Lovelace was considered the first computer programmer who showed her talent for mathematics at a early age.

# data[].attributes.attachment_link.readable_text
Ada Lovelace has been called the world's first computer programmer. What she did was write the world’s first machine algorithm for an early computing machine that existed only on paper. Of course, someone had to be the first, but Lovelace was a woman, and this was in the 1840s. Lovelace was a brilliant mathematician, thanks in part to opportunities she was afforded that were denied most women of the time.

Born Ada Byron on December 10, 1815, Ada was just a teenager when she met Cambridge mathematics professor Charles Babbage, who had invented the Difference Engine, a mechanical computer designed to produce mathematical tables automatically and error-free. Babbage never built the actual machine due to personal setbacks and financing difficulty. By 1834 he had moved on to design his Analytical Engine, the first general-purpose computer, which used punch cards for input and output. This machine also lacked financing and was never built. (Babbage's Difference Engine was finally constructed between 1985 and 2002—and it worked.)

Babbage was impressed with the brilliant young woman, and they corresponded for years, discussing math and computing as he developed the Analytical Engine. In 1842, Babbage gave a lecture on the engine at the University of Turin. Luigi Menabrea, a mathematician (and future Italian prime minister), transcribed the lecture in French. Ada, now in her late 20s and known as Countess of Lovelace, was commissioned to translate the transcript into English. Lovelace added her own notes to the lecture, which ended up being three times as long as the actual transcript. It was published in 1843.

Lovelace's notes made it clear that she understood the Analytical Engine as well as Babbage himself. Furthermore, she understood how to make it do the things computers do. She suggested the data input that would program the machine to calculate Bernoulli numbers, which is now considered the first computer program. But more than that, Lovelace was a visionary: She understood that numbers could be used to represent more than just quantities, and a machine that could manipulate numbers could be made to manipulate any data represented by numbers. She predicted that machines like the Analytical Engine could be used to compose music, produce graphics, and be useful to science. Of course, all that came true ... in another 100 years.

Babbage was so impressed with Lovelace's contributions, he dubbed her "The Enchantress of Numbers."

How did a young woman get the opportunity to show the world her talents in the 19th century? Mathematical intelligence was not the only thing Ada Lovelace had going for her. She was the daughter of the poet Lord Byron and his first wife Anne Isabella Noel Byron. Both were privileged members of the aristocracy, and both were gifted and well-educated. Their marriage broke up shortly after Ada was born.

Lady Byron, who studied literature, science, philosophy, and—most unusual for a woman—mathematics, was determined that Ada not follow in her father's footsteps. Instead of art and literature, Ada was tutored in mathematics and science. Ada excelled in all her studies, and her interests were wide-ranging. Ada became a baroness in 1835 when she married William King, 8th Baron King; the two had three children. In 1838, she became Countess of Lovelace when her husband was elevated to Earl of Lovelace. Her pedigree and peerage alone would have landed Lovelace in the history books, but her accomplishments in mathematics made her a pioneer of not only computing, but of women in science.

Lovelace died of cancer in 1852, when she was just 36 years old. Nearly 170 years later, we remember her contributions to science and engineering in the celebration of Ada Lovelace Day on October 13. First celebrated in 2009 (in March), it is a day set aside to learn about women in science, technology, engineering, and mathematics.

A version of this story ran in 2015; it has been updated for 2021.

# data[].attributes.attachment_link.title
Ada Lovelace: The First Computer Programmer

# data[].attributes.attachment_link.description
Ada Lovelace has been called the world’s first computer programmer. What she did was write the world’s first machine algorithm for an early computing machine that existed only on paper.

# data[].attributes.body
Charles Babbage's significance in computing history was because e was known as the father of computing.

# data[].attributes.attachment_link.readable_text
"What is imagination?...It is a God-like, a noble faculty. It renders earth tolerable; it teaches us to live, in the tone of the eternal." - Ada Lovelace to Charles Babbage

When Charles Babbage, in 1837, proposed a "Fully programmable machine" which would be later called an Analytical engine, not even the government who seed-funded his Difference Engine believed him.

Undoubtedly the most influential machine in existence in today's modern computer.

But back in the 19th century, when the world was drooling over the industrial revolution and railway tracks and steam engines, a machine which could think and calculate looked like a distant dream.

While most see the evolution of these advanced machines such as computers and smartphones as examples of electronic innovation, what people have taken for granted had been an evolution and the hard work of transforming a mechanical device into a self-thinking smart device which would become an integral part of our lives.

Charles Babbage - The father of the computer

In the 19th century, the concept of specialization had not breached the revered halls of universities and laboratories.

Most of the geniuses were polymaths, so was the Englishman Charles Babbage. Charles Babbage was a renowned mathematician, philosopher, and mechanical engineer of his times.

During those days, mathematical tables (such as your logbook) were manually made and were used in navigation, science, and engineering.

Since most of these tables were manually updated and calculated, the values in these tables varied frequently, giving inconsistent results during studies.

While at Cambridge, Charles Babbage noticed this flaw and thought of converting this mathematical-table based calculation into a mechanical product to avoid any discrepancies.

Difference Engine

In 1822, Charles Babbage decided to make a machine to calculate the polynomial function-a machine which would calculate the value automatically.

In 1823, the British government gave Charles Babbage £1700 (probably the first ever seed funding).

He named it the Difference Engine, possibly after the finite difference method is used to calculate.

Charles Babbage invited Joseph Clement to design his ambitious massive difference engine that had about 25,000 parts, weighed around 15 tons, and was 8 feet tall.

Despite the ample funding by the government, the engine never got completed. And in the late 1840s, he planned on making an improved engine.

But that was not completed either due to lack of funds.

In 1989-1991, scientists and engineers studying Charles Babbage's research paper built the first difference engine, which is now placed in The Museum of the History of Science, Oxford.

How Does Charles Babbage's Difference Engine work?

Wikipedia says: " A difference engine is an automatic mechanical calculator designed to tabulate polynomial functions.

The name derives from the method of divided differences, a way to interpolate or tabulate functions by using a small set of polynomial coefficients."

Let's take an example with a polynomial function R = x + 1

To solve this manually, you need to solve the equation "n+1" times, where n is the polynomial. So, for the given equation, we need three steps.

When X = 0, result of R = 1; X= 1, R =2; X=2, R= 5, and so on.

Difference 1 : D11 = R2 (Step 2) - R1 (Step 1) or D12 (Step 2) = R3 (Step 3) - R2 ( Step 2) and so on

So for the Difference 1 column in the table above,

D11 = 2 (R2) - 1(R1) = 1

D12 = 5 (R3) - 2(R2) = 3

D13 = 10 (R4) - 5(R3) = 5

Difference 2 : D21 = D12 (Difference 1 -Step 2) - D11( Difference 1- Step 1), and so on.

By subtracting two consecutive values from the Difference 1 column,

D21 = 3 (D12) - 1(D11) = 2

D22 = 5 (D13) - 3 (D12) = 2

Similarly, for a third-order equation, we can prepare a new column called Difference 3, and calculate it by subtracting two consecutive numbers from the last column.
*The values in the last column or the highest power value always remain constant in the last difference column.*
Since the engine could only add and subtract, some of the values from each column are given to the difference engine to feed the engine with information necessary for further calculations.

Working of a difference engine

Let's take another example where you have to calculate the result for x = 3 from the above equation (R = x 2 + 1), and the engine was already given the values of Step 1 and Step 2 columns (Refer to above table). The engine would follow the following steps:

Step 1: To calculate the value for D12, Step 1 difference 2 is added to Step 1 Difference 1, which is 2(D21) +1( D11)=3.

Step 2: This D12 when added with R2, which gives the result for Step 3 = 3 (D12) + 2( R2) = 5

Similarly, to calculate the result for x = 4

Step 1 - For X = 4, Step 2 - Difference 2 added to Difference 1 = 2 (D22) +1 (D12) = 5

Step 2 - Add value from Step 1 to Step 3 result R3, which is 5+5, giving the final value as 10

A difference engine (shown above) consisted of N+1 columns, where column N could only store constants and Column 1 showed the value of the current iteration.

And the machine was only capable of adding values from column n+1 to N.

The engine is programmed by setting initial values to the columns. Column 1 is set to the value of the polynomial at the start of computation.

Column 2 is set to a value derived from the first and higher derivatives of the polynomial at the same value of X.

Each column from 3 to N is set to a value derived from the first-order derivative. To simplify what the difference engine did, here is a simple code for Polynomial Function calculation using C++ -

Polynomial function using C++

The difference engine was never finished, and during its construction, Charles Babbage had a brilliant idea of using Punch Cards for calculation.

Till then, punch cards that had been used only for the mundane job of weaving would form the basis of future computer programming.

Punch Cards

Before Joseph Jacquard came up with the idea of punch cards, the weaving was done using draw looms. A drawloom generally used a "figure harness" to control the weaving pattern.

The drawloom required two operators to control the machine.

Although till 1801, punch cards were only used for individual weaving, Jacquard decided to use perforated papers with the mechanism, because he found that though being intricate, weaving was mechanical and repetitive.

Working

In the most basic form, a weaving design is made by passing one thread over another.

In a patterned weave, the threads crossing each other are not synchronized by equal blocks but are changed according to the required pattern.

A weaver controls the threads by pulling and releasing them.

When Joseph Jacquard came up with the idea of a loom, the fabric design in it was first copied on square papers.

This design on the square was translated into punch cards. These cards are stitched together in a continuous belt and fed into the loom.

The holes in the card controlled which threads are raised into the weaving pattern.

This automation allowed Jacquard to make designs and produce them again at lesser costs. Keeping this bunch of cards helped to reproduce the same design repeatedly with perfection on the same or another machine.

"Visualizing" the concept of using these punch cards to calculate, Charles Babbage described using them for the analytical engine.

In 1883, Charles Babbage was introduced to a young brilliant mathematician, Ada, who later became Countess of Lovelace, by her tutor.

He was impressed with Ada's analytical skills and invited her to look the difference engine, which fascinated her.

This formed the basis of a lasting friendship that continued until her death.

Ada Lovelace - The first programmer

Born to British poet Lord Byron and Annabella Milbanke, Augusta Ada Byron married William King-Noel, who was the first Earl of Lovelace.

Ada was a natural poet who found mathematics poetic.

Growing up, Ada's education and her families' influential presence got her in touch with a few prestigious innovators and literary figures of her time.

While studying mathematics, her tutor Mary Somerville introduced her to Charles Babbage, who, after his work on the unsuccessful Difference Engine, was working on an ambitious project of a machine which could solve any complex mathematical function (the Analytical Engine).

What you see below is a caricature image of the Analytical Engine as proposed by Charles Babbage.

The important parts of this engine still constitute our modern computers.

Part 1 - The Store, was what we now call Hard disk or memory

Part 2 - The Mill, was what we now call Central Processing Unit (Mill where the churning or production is done)

Part 3 - Steam engine, which would be the source of energy

Ada, impressed by the theory and concept of the Analytical Engine, decided to work with Charles Babbage on the construction of the engine.

During her study of the Analytical Engine, she wrote a series of notes which explained the difference between a Difference Engine and an Analytical Engine.

She took up Bernoulli number theory and built a detailed algorithm on the process of calculating Bernoulli numbers using an Analytical engine which was demonstrated in Note G of her article shown below.

This made her the first programmer in the world. (This is disputed.)

Though her notes were never accepted, and as there was no funding or investment to back Charles Babbage's fantastic idea, the analytical engine was never completed.

Here is a simple C++ program to the algorithm developed by Ada Lovelace in her lengthy notes:

Bernoulli Distribution in C++

Charles Babbage declined both the title of Knighthood and baronetcy and instead asked for a life peerage, but that wish wasn't granted in his lifetime.

He died in 1871 ate the age of 79. Ada Lovelace died at the young age of 36 in 1852.

Her contribution to computer science for having come up with the "first" algorithm still remains one of the greatest controversies in technology history.

Irrespective of these facts, their contribution to the field of computer and programming cannot be ignored.

A super calculator which would be able to solve any mathematical problem and a device which would have the ability to think of ways to approach a problem is what Charles Babbage and Ada Lovelace thought of; this was the founding stone of the first programmable computer.

In the next article, we will discuss the use of Punch Cards and how with all technological developments in Europe, the USA got the first computer!

# data[].attributes.attachment_link.title
Charles Babbage's computer - History of computer programming- Part 1 | HackerEarth Blog

# data[].attributes.attachment_link.description
"What is imagination?...It is a God-like, a noble faculty. It renders earth tolerable; it teaches us to live, in the tone of the eternal." - Ada Lovelace to Charles Babbage When Charles Babbage, in 1837, proposed a "Fully programmable machine" which would be later called an Analytical engine, not even the government who seed-funded his Difference Engine believed him.

# data[].attributes.body
Bill Gates is important to the history of computers because he is the Co founder of Microsoft.

# data[].attributes.attachment_link.readable_text
Bill Gates, in full William Henry Gates III, (born October 28, 1955, Seattle, Washington, U.S.), American computer programmer and entrepreneur who cofounded Microsoft Corporation, the world's largest personal-computer software company.

Gates wrote his first software program at the age of 13. In high school he helped form a group of programmers who computerized their school's payroll system and founded Traf-O-Data, a company that sold traffic-counting systems to local governments. In 1975 Gates, then a sophomore at Harvard University, joined his hometown friend Paul G. Allen to develop software for the first microcomputers. They began by adapting BASIC, a popular programming language used on large computers, for use on microcomputers. With the success of this project, Gates left Harvard during his junior year and, with Allen, formed Microsoft. Gates's sway over the infant microcomputer industry greatly increased when Microsoft licensed an operating system called MS-DOS to International Business Machines Corporation-then the world's biggest computer supplier and industry pacesetter-for use on its first microcomputer, the IBM PC ( personal computer). After the machine's release in 1981, IBM quickly set the technical standard for the PC industry, and MS-DOS likewise pushed out competing operating systems. While Microsoft's independence strained relations with IBM, Gates deftly manipulated the larger company so that it became permanently dependent on him for crucial software. Makers of IBM-compatible PCs, or clones, also turned to Microsoft for their basic software. By the start of the 1990s he had become the PC industry's ultimate kingmaker.

Largely on the strength of Microsoft's success, Gates amassed a huge paper fortune as the company's largest individual shareholder. He became a paper billionaire in 1986, and within a decade his net worth had reached into the tens of billions of dollars-making him by some estimates the world's richest private individual. With few interests beyond software and the potential of information technology, Gates at first preferred to stay out of the public eye, handling civic and philanthropic affairs indirectly through one of his foundations. Nevertheless, as Microsoft's power and reputation grew, and especially as it attracted the attention of the U.S. Justice Department's antitrust division, Gates, with some reluctance, became a more public figure. Rivals (particularly in competing companies in Silicon Valley) portrayed him as driven, duplicitous, and determined to profit from virtually every electronic transaction in the world. His supporters, on the other hand, celebrated his uncanny business acumen, his flexibility, and his boundless appetite for finding new ways to make computers and electronics more useful through software.

All of these qualities were evident in Gates's nimble response to the sudden public interest in the Internet. Beginning in 1995 and 1996, Gates feverishly refocused Microsoft on the development of consumer and enterprise software solutions for the Internet, developed the Windows CE operating system platform for networking noncomputer devices such as home televisions and personal digital assistants, created the Microsoft Network to compete with America Online and other Internet providers, and, through Gates's company Corbis, acquired the huge Bettmann photo archives and other collections for use in electronic distribution.

In addition to his work at Microsoft, Gates was also known for his charitable work. With his then wife, Melinda, he launched the William H. Gates Foundation (renamed the Bill & Melinda Gates Foundation in 1999) in 1994 to fund global health programs as well as projects in the Pacific Northwest. During the latter part of the 1990s, the couple also funded North American libraries through the Gates Library Foundation (renamed Gates Learning Foundation in 1999) and raised money for minority study grants through the Gates Millennium Scholars program. In June 2006 Warren Buffett announced an ongoing gift to the foundation, which would allow its assets to total roughly $60 billion in the next 20 years. At the beginning of the 21st century, the foundation continued to focus on global health and global development, as well as community and education causes in the United States. After a short transition period, Gates relinquished day-to-day oversight of Microsoft in June 2008-although he remained chairman of the board-in order to devote more time to the Bill & Melinda Gates Foundation. In February 2014 he stepped down as chairman but continued to serve as a board member until 2020. During this time he was awarded the Presidential Medal of Freedom (2016). The documentary series Inside Bill's Brain: Decoding Bill Gates appeared in 2019. Two years later Gates and his wife divorced.

It remains to be seen whether Gates's extraordinary success will guarantee him a lasting place in the pantheon of great Americans. At the very least, historians seem likely to view him as a business figure as important to computers as John D. Rockefeller was to oil. Gates himself displayed an acute awareness of the perils of prosperity in his 1995 best seller, The Road Ahead, where he observed, "Success is a lousy teacher. It seduces smart people into thinking they can't lose."

# data[].attributes.attachment_link.title
Bill Gates | Biography, Microsoft, & Facts

# data[].attributes.attachment_link.description
Bill Gates, the visionary computer programmer and co-founder of Microsoft, revolutionized the technology industry with his innovations and became one of the world's most influential philanthropists.

# data[].attributes.headline
How could the world be different if the research had continued?

# data[].attributes.subject
How could the world be different if the research had continued?

# data[].attributes.body
If the research had continued, we would have been far more advanced in our computers and Charles Babbage would not have stopped his mechanics at that.

# data[].attributes.attachment_link.readable_text
The London Science Museum's difference engine, the first one actually built from Babbage's design. The design has the same precision on all columns, but in calculating polynomials, the precision on the higher-order columns could be lower.

A difference engine is an automatic mechanical calculator designed to tabulate polynomial functions. It was designed in the 1820s, and was first created by Charles Babbage. The name difference engine is derived from the method of divided differences, a way to interpolate or tabulate functions by using a small set of polynomial co-efficients. Some of the most common mathematical functions used in engineering, science and navigation, are built from logarithmic and trigonometric functions, which can be approximated by polynomials, so a difference engine can compute many useful tables.

Closeup of the London Science Museum's difference engine showing some of the number wheels and the sector gears between columns. The sector gears on the left show the double-high teeth very clearly. The sector gears on the middle-right are facing the back side of the engine, but the single-high teeth are clearly visible. Notice how the wheels are mirrored, with counting up from left-to-right, or counting down from left-to-right. Also notice the metal tab between "6" and "7". That tab trips the carry lever in the back when "9" passes to "0" in the front during the add steps (Step 1 and Step 3).

The notion of a mechanical calculator for mathematical functions can be traced back to the Antikythera mechanism of the 2nd century BC, while early modern examples are attributed to Pascal and Leibniz in the 17th century.

In 1784 J. H. Müller, an engineer in the Hessian army, devised and built an adding machine and described the basic principles of a difference machine in a book published in 1786 (the first written reference to a difference machine is dated to 1784), but he was unable to obtain funding to progress with the idea.

Charles Babbage's difference engines

Charles Babbage began to construct a small difference engine in c. 1819 and had completed it by 1822 (Difference Engine 0). He announced his invention on 14 June 1822, in a paper to the Royal Astronomical Society, entitled "Note on the application of machinery to the computation of astronomical and mathematical tables". This machine used the decimal number system and was powered by cranking a handle. The British government was interested, since producing tables was time-consuming and expensive and they hoped the difference engine would make the task more economical.

In 1823, the British government gave Babbage £1700 to start work on the project. Although Babbage's design was feasible, the metalworking techniques of the era could not economically make parts in the precision and quantity required. Thus the implementation proved to be much more expensive and doubtful of success than the government's initial estimate. According to the 1830 design for Difference Engine No. 1, it would have about 25,000 parts, weigh 4 tons, and operate on 20-digit numbers by sixth-order differences. In 1832, Babbage and Joseph Clement produced a small working model (one-seventh of the plan), which operated on 6-digit numbers by second-order differences. Lady Byron described seeing the working prototype in 1833: "We both went to see the thinking machine (or so it seems) last Monday. It raised several Nos. to the 2nd and 3rd powers, and extracted the root of a Quadratic equation." Work on the larger engine was suspended in 1833.

By the time the government abandoned the project in 1842, Babbage had received and spent over £17,000 on development, which still fell short of achieving a working engine. The government valued only the machine's output (economically produced tables), not the development (at unpredictable cost) of the machine itself. Babbage refused to recognize that predicament. Meanwhile, Babbage's attention had moved on to developing an analytical engine, further undermining the government's confidence in the eventual success of the difference engine. By improving the concept as an analytical engine, Babbage had made the difference engine concept obsolete, and the project to implement it an utter failure in the view of the government.

The incomplete Difference Engine No. 1 was put on display to the public at the 1862 International Exhibition in South Kensington, London.

Babbage went on to design his much more general analytical engine, but later produced an improved "Difference Engine No. 2" design (31-digit numbers and seventh-order differences), between 1846 and 1849. Babbage was able to take advantage of ideas developed for the analytical engine to make the new difference engine calculate more quickly while using fewer parts.

Per Georg Scheutz's third difference engine

Inspired by Babbage's difference engine in 1834, Per Georg Scheutz built several experimental models. In 1837 his son Edward proposed to construct a working model in metal, and in 1840 finished the calculating part, capable of calculating series with 5-digit numbers and first-order differences, which was later extended to third-order (1842). In 1843, after adding the printing part, the model was completed.

In 1851, funded by the government, construction of the larger and improved (15-digit numbers and fourth-order differences) machine began, and finished in 1853. The machine was demonstrated at the World's Fair in Paris, 1855 and then sold in 1856 to the Dudley Observatory in Albany, New York. Delivered in 1857, it was the first printing calculator sold. In 1857 the British government ordered the next Scheutz's difference machine, which was built in 1859. It had the same basic construction as the previous one, weighing about 10 cwt (1,100 lb; 510 kg).

Martin Wiberg improved Scheutz's construction (c. 1859, his machine has the same capacity as Scheutz's: 15-digit and fourth-order) but used his device only for producing and publishing printed tables (interest tables in 1860, and logarithmic tables in 1875).

Alfred Deacon of London in c. 1862 produced a small difference engine (20-digit numbers and third-order differences).

American George B. Grant started working on his calculating machine in 1869, unaware of the works of Babbage and Scheutz (Schentz). One year later (1870) he learned about difference engines and proceeded to design one himself, describing his construction in 1871. In 1874 the Boston Thursday Club raised a subscription for the construction of a large-scale model, which was built in 1876. It could be expanded to enhance precision and weighed about 2,000 pounds (910 kg).

Christel Hamann built one machine (16-digit numbers and second-order differences) in 1909 for the "Tables of Bauschinger and Peters" ("Logarithmic-Trigonometrical Tables with eight decimal places"), which was first published in Leipzig in 1910. It weighed about 40 kilograms (88 lb).

Burroughs Corporation in about 1912 built a machine for the Nautical Almanac Office which was used as a difference engine of second-order. It was later replaced in 1929 by a Burroughs Class 11 (13-digit numbers and second-order differences, or 11-digit numbers and [at least up to] fifth-order differences).

Alexander John Thompson about 1927 built integrating and differencing machine (13-digit numbers and fifth-order differences) for his table of logarithms "Logarithmetica britannica". This machine was composed of four modified Triumphator calculators.

Leslie Comrie in 1928 described how to use the Brunsviga-Dupla calculating machine as a difference engine of second-order (15-digit numbers). He also noted in 1931 that National Accounting Machine Class 3000 could be used as a difference engine of sixth-order.

During the 1980s, Allan G. Bromley, an associate professor at the University of Sydney, Australia, studied Babbage's original drawings for the Difference and Analytical Engines at the Science Museum library in London. This work led the Science Museum to construct a working calculating section of difference engine No. 2 from 1985 to 1991, under Doron Swade, the then Curator of Computing. This was to celebrate the 200th anniversary of Babbage's birth in 1991. In 2002, the printer which Babbage originally designed for the difference engine was also completed. The conversion of the original design drawings into drawings suitable for engineering manufacturers' use revealed some minor errors in Babbage's design (possibly introduced as a protection in case the plans were stolen), which had to be corrected. The difference engine and printer were constructed to tolerances achievable with 19th-century technology, resolving a long-standing debate as to whether Babbage's design could have worked using Georgian-era engineering methods. The machine contains 8,000 parts and weighs about 5 tons.

The printer's primary purpose is to produce stereotype plates for use in printing presses, which it does by pressing type into soft plaster to create a flong. Babbage intended that the Engine's results be conveyed directly to mass printing, having recognized that many errors in previous tables were not the result of human calculating mistakes but from slips in the manual typesetting process. The printer's paper output is mainly a means of checking the engine's performance.

In addition to funding the construction of the output mechanism for the Science Museum's difference engine, Nathan Myhrvold commissioned the construction of a second complete Difference Engine No. 2, which was on exhibit at the Computer History Museum in Mountain View, California from May 2008 to January 2016. It has since been transferred to Intellectual Ventures in Seattle where it is on display just outside the main lobby.[citation needed ]

Fully operational difference engine at the Computer History Museum in Mountain View, California

The Mountain View machine in action

The difference engine consists of a number of columns, numbered from 1 to N. The machine is able to store one decimal number in each column. The machine can only add the value of a column n + 1 to column n to produce the new value of n. Column N can only store a constant, column 1 displays (and possibly prints) the value of the calculation on the current iteration.

The engine is programmed by setting initial values to the columns. Column 1 is set to the value of the polynomial at the start of computation. Column 2 is set to a value derived from the first and higher derivatives of the polynomial at the same value of X. Each of the columns from 3 to N is set to a value derived from the first and higher derivatives of the polynomial.[42]

In the Babbage design, one iteration (i.e. one full set of addition and carry operations) happens for each rotation of the main shaft. Odd and even columns alternately perform an addition in one cycle. The sequence of operations for column is thus:[42]

1. Count up, receiving the value from column (Addition step)

2. Perform carry propagation on the counted up value

3. Count down to zero, adding to column

4. Reset the counted-down value to its original value

Steps 1,2,3,4 occur for every odd column, while steps 3,4,1,2 occur for every even column.

While Babbage's original design placed the crank directly on the main shaft, it was later realized that the force required to crank the machine would have been too great for a human to handle comfortably. Therefore, the two models that were built incorporate a 4:1 reduction gear at the crank, and four revolutions of the crank are required to perform one full cycle.

Each iteration creates a new result, and is accomplished in four steps corresponding to four complete turns of the handle shown at the far right in the picture below. The four steps are:

1. All even numbered columns (2,4,6,8) are added to all odd numbered columns (1,3,5,7) simultaneously. An interior sweep arm turns each even column to cause whatever number is on each wheel to count down to zero. As a wheel turns to zero, it transfers its value to a sector gear located between the odd/even columns. These values are transferred to the odd column causing them to count up. Any odd column value that passes from "9" to "0" activates a carry lever.

2. This is like Step 1, except it is odd columns (3,5,7) added to even columns (2,4,6), and column one has its values transferred by a sector gear to the print mechanism on the left end of the engine. Any even column value that passes from "9" to "0" activates a carry lever. The column 1 value, the result for the polynomial, is sent to the attached printer mechanism.

3. This is like Step 2, but for doing carries on even columns, and returning odd columns to their original values.

The engine represents negative numbers as ten's complements. Subtraction amounts to addition of a negative number. This works in the same manner that modern computers perform subtraction, known as two's complement.

The principle of a difference engine is Newton's method of divided differences. If the initial value of a polynomial (and of its finite differences) is calculated by some means for some value of X, the difference engine can calculate any number of nearby values, using the method generally known as the method of finite differences. For example, consider the quadratic polynomial

with the goal of tabulating the values p(0), p(1), p(2), p(3), p(4), and so forth. The table below is constructed as follows: the second column contains the values of the polynomial, the third column contains the differences of the two left neighbors in the second column, and the fourth column contains the differences of the two neighbors in the third column:

The numbers in the third values-column are constant. In fact, by starting with any polynomial of degree n, the column number n + 1 will always be constant. This is the crucial fact behind the success of the method.

This table was built from left to right, but it is possible to continue building it from right to left down a diagonal in order to compute more values. To calculate p(5) use the values from the lowest diagonal. Start with the fourth column constant value of 4 and copy it down the column. Then continue the third column by adding 4 to 11 to get 15. Next continue the second column by taking its previous value, 22 and adding the 15 from the third column. Thus p(5) is 22 + 15 = 37. In order to compute p(6), we iterate the same algorithm on the p(5) values: take 4 from the fourth column, add that to the third column's value 15 to get 19, then add that to the second column's value 37 to get 56, which is p(6). This process may be continued ad infinitum. The values of the polynomial are produced without ever having to multiply. A difference engine only needs to be able to add. From one loop to the next, it needs to store 2 numbers-in this example (the last elements in the first and second columns). To tabulate polynomials of degree n, one needs sufficient storage to hold n numbers.

Babbage's difference engine No. 2, finally built in 1991, can hold 8 numbers of 31 decimal digits each and can thus tabulate 7th degree polynomials to that precision. The best machines from Scheutz could store 4 numbers with 15 digits each.

The initial values of columns can be calculated by first manually calculating N consecutive values of the function and by backtracking (i.e. calculating the required differences).

Col gets the value of the function at the start of computation . Col is the difference between and ...[44]

If the function to be calculated is a polynomial function, expressed as

the initial values can be calculated directly from the constant coefficients a ₀, a ₁, a ₂, ..., without calculating any data points. The initial values are thus:

Col = a ₀

Col = a ₁ + a ₂ + a ₃ + a ₄ + ... + an

Col = 2a ₂ + 6a ₃ + 14a ₄ + 30a ₅ + ...

Col = 6a ₃ + 36a ₄ + 150a ₅ + ...

Col = 24a ₄ + 240a ₅ + ...

Col = 120a ₅ + ...

Many commonly used functions are analytic functions, which can be expressed as power series, for example as a Taylor series. The initial values can be calculated to any degree of accuracy; if done correctly the engine will give exact results for first N steps. After that, the engine will only give an approximation of the function.

The Taylor series expresses the function as a sum obtained from its derivatives at one point. For many functions the higher derivatives are trivial to obtain; for instance, the sine function at 0 has values of 0 or for all derivatives. Setting 0 as the start of computation we get the simplified Maclaurin series

The same method of calculating the initial values from the coefficients can be used as for polynomial functions. The polynomial constant coefficients will now have the value

The problem with the methods described above is that errors will accumulate and the series will tend to diverge from the true function. A solution which guarantees a constant maximum error is to use curve fitting. A minimum of N values are calculated evenly spaced along the range of the desired calculations. Using a curve fitting technique like Gaussian reduction an N−1th degree polynomial interpolation of the function is found. With the optimized polynomial, the initial values can be calculated as above.

# data[].attributes.attachment_link.description
A difference engine is an automatic mechanical calculator designed to tabulate polynomial functions. It was designed in the 1820s, and was first created by Charles Babbage. The name difference engine is derived from the method of divided differences, a way to interpolate or tabulate functions by using a small set of polynomial co-efficients.

# data[].attributes.body
The difference engine is a mechanical calculator.

# data[].attributes.attachment_link.readable_text
The difference engine is a mechanical calculator first developed by Charles Babbage in 1822. It is capable of computing several sets of numbers and making a hard copies of the results. Due to a lack of funding, he was never able to complete a full-scale functional version of this machine. However, in June 1991, the London Science Museum completed the difference engine No 2 for the bicentennial year of Babbage's birth and later completed the printing mechanism in 2000. Below is a video from Wired magazine that gives a good overview of the difference engine No. 2 shown at the Computer History Museum.

Analytical Engine, Computer History, Hardware terms

# data[].attributes.attachment_link.description
The difference engine is a mechanical calculator first developed by Charles Babbage in 1822. It is capable of computing several sets of numbers and making a hard copies of the results. Due to a lack of funding, he was never able to complete a full-scale functional version of this machine.

# data[].attributes.body
The Jacquard Loom was important to the history of computers because it was the first ever computer to punch cards in a direct machine to carry out automated tasks.

# data[].attributes.body
An algorithm is a set of rues to be followed, usually relating to math or calculations. A simple algorithm  would be solving an math equation.

# data[].attributes.attachment_link.readable_text
In its most general sense, an algorithm is any set of detailed instructions which results in a predictable end-state from a known beginning. Algorithms are only as good as the instructions given, however, and the result will be incorrect if the algorithm is not properly defined.

Examples of Algorithms

A common example of an algorithm would be instructions for assembling a model airplane. Given the starting set of a number of marked pieces, one can follow the instructions given to result in a predictable end-state: the completed airplane. Misprints in the instructions, or a failure to properly follow a step, will result in a faulty end product.

A computer program is another pervasive example. Every computer program is simply a series of instructions, which may vary in complexity, and is listed in a specific order, designed to perform a specific task. Mathematics also uses algorithms to solve equations by hand, without the use of a calculator. One last example is the human brain: most conceptions of the human brain define all behavior - from the acquisition of food to falling in love - as the result of a complex algorithm.

Classes of Algorithms

While there is no universally accepted breakdown for the various types of algorithms, there are common classes that algorithms are frequently agreed to belong to. Among these are:

Dynamic Programming Algorithms: This class remembers older results and attempts to use this to speed the process of finding new results.

Greedy Algorithms: Greedy algorithms attempt not only to find a solution, but to find the ideal solution to any given problem.

Brute Force Algorithms: The brute force approach starts at some random point and iterates through every possibility until it finds the solution.

Randomized Algorithms: This class includes any algorithm that uses a random number at any point during its process.

Branch and Bound Algorithms: Branch and bound algorithms form a tree of subproblems to the primary problem, following each branch until it is either solved or lumped in with another branch.

Simple Recursive Algorithms: This type goes for a direct solution immediately, then backtracks to find a simpler solution.

Backtracking Algorithms: Backtracking algorithms test for a solution; if a solution is found the algorithm has solved, if not it recurs once and tests again, continuing until a solution is found.

Divide and Conquer Algorithms: A divide and conquer algorithm is similar to a branch and bound algorithm, except it uses the backtracking method of recurring while dividing a problem into subproblems.

Serial and Parallel Algorithms

In addition to these general classes, algorithms may also be divided into two primary groups: serial algorithms, which are designed for serial execution, wherein each operation is enacted in a linear order; and parallel algorithms, used with computers running parallel processors, wherein a number of operations are run parallel to each other. Parallel algorithms also exist in the natural world in the case of, for example, genetic mutation over a species.

# data[].attributes.attachment_link.description
In its most general sense, an algorithm is any set of detailed instructions which results in a predictable end-state from a known beginning. Algorithms are only as good as the instructions given, however, and the result will be incorrect if the algorithm is not properly defined.

# data[].attributes.body
The ENIAC was designed for the sole purpose of helping US troops in world war 2.

# data[].attributes.attachment_link.title
What is the Electronic Numerical Integrator And Computer (ENIAC)? - Definition from Techopedia

# data[].attributes.attachment_link.description
Electronic Numerical Integrator And Computer ENIAC Definition - The Electronic Numerical Integrator And Computer (ENIAC) was the very first general-purpose...

# data[].attributes.body
The world's oldest computer is thought to be the Antikythera mechanism.