Computing History (Leaving Cert Computer Science): Revision Notes
Computing History
The history section for computer science focuses on a set of milestones in computing history that changed the field. The exam is more focused about testing your knowledge on the significance of these events as opposed to definitions, dates and names. Significance may be technical, economic, cultural, social environmental or scientific.
Computing History
Ancient Counting
Methods of counting were developed in ancient civilisations to meet the needs of trade, agriculture and other societal activities.
- It is believed counting started by placing down rocks in a form to store information.
- Other forms of storing information including tally marks, knotted cords and finger counting.
- Devices such as the abacus were then invented to perform arithmetic operations such as addition.
The Difference Engine
The Difference Engine was created in 1822 by Charles Babbage who continued to refine the design throughout the 1830s.
It was considered as the first mechanical computer designed to perform polynomial calculations using the method of finite differences. It could automate the process of calculating and printing mathematical tables.
At the time, mathematical tables were calculated manually, which was prone to errors. The Difference Engine promised to produce these tables with high precision and consistency, reducing human error significantly.
The Difference Engine
Significance
- The design of the Difference Engine involved thousands of precisely machined parts. It represented an extraordinary feat of mechanical engineering.
- Although the Difference Engine was never completed in Babbage's lifetime, his work laid the foundation for future developments in computing. His concepts of mechanical computation directly influenced later designs, including the Analytical Engine.
The Analytical Engine
Following his work of the Difference Engine, Babbage started working on its successor during the 1830s called the Analytical Engine.
The Analytical Engine was designed to be programmable using punched cards, an idea borrowed from the Jacquard loom, which used punched cards to control the weaving of patterns in textiles.
Babbage's design included the capability for conditional branching, enabling the machine to make decisions based on the results of previous calculations.
The Analytical Engine was designed with a memory unit to hold numbers and intermediate results.
Unlike the Difference Engine, which was limited to specific types of calculations, the Analytical Engine was designed as a general-purpose computing device capable of performing a wide range of calculations.
Significance
- The Analytical Engine laid the groundwork for the development of modern computers, which are also general-purpose machines, capable of running various programmes and applications.
- Punched cards were used in computing and data processing well into the 20th century, influencing the design of early computers and data storage systems.
- The Analytical Engine inspired many later pioneers in computing, including Ada Lovelace, who is often considered the first computer programmer due to her work on Babbage's machine.
Ada Lovelace
Ada Lovelace is often celebrated as the first computer programmer. She recognised the potential of the Analytical Engine and documented how it could be programmed, highlighting its capabilities.
Ada Lovelace worked closely with Charles Babbage who referred to her as the "Enchantress of Numbers" because of her deep understanding of his machines.
The Turing Machine
The Turing Machine is a theoretical model that forms the foundation of modern computation.
A Turing Machine consists of four components :
- Tape : An infinite tape divided into cells, each of which can hold a symbol (typically a 0 or 1). The tape serves as the machine's memory.
- Head : A read/write head that moves along the tape, reading symbols and writing new ones based on a set of rules.
- State Register : Holds the state of the Turing Machine. There is a finite number of states, including a special start state and one or more halting states.
- Finite Table of Instructions : Dictates the machine's actions based on the current state and the symbol it reads from the tape. Actions include writing a symbol, moving the tape left or right, and changing states. These are known as transition functions. The Turing Machine provided a formal definition of an algorithm or mechanical procedure. It helped establish the concept of Turing completeness, which describes systems capable of performing any computation that can be algorithmically defined.
Turing Machine
Significance
- The Turing Machine provided a formal definition of an algorithm or mechanical procedure. It helped establish the concept of Turing completeness, which describes systems capable of performing any computation that can be algorithmically defined.
- Turing's work showed that some problems are undecidable, meaning no algorithm can determine the solution for all possible inputs. This was a significant insight in understanding the limits of computation.
Electromechanical Computers
Electromechanical computers were developed primarily during the 1930s and 1950s.
They used electrical switches to open and close circuits, enabling binary operations. Relays were faster than purely mechanical parts but slower and less reliable than later electronic components.
Significance
- Electromechanical computers bridged the gap between purely mechanical calculators and fully electronic computers.
- They provided the computational power needed for complex scientific and engineering calculations, such as those required in ballistics, cryptography, and physics.
- They introduced the concept of automated computing, reducing the need for manual intervention in calculations and data processing.
Vacuum Tubes
Vacuum tubes act as electronic switches or amplifiers. They can control the flow of electric current in a high-vacuum environment inside a sealed glass or metal container.
They were critical components in the development of early electronic computers. They replaced electromechanical relays, offering faster switching times and greater reliability, enabling the creation of more powerful and complex computing systems.
Significance
- Vacuum tube computers were much faster than their electromechanical predecessors, enabling real-time calculations and complex data processing.
- Although vacuum tubes could burn out, they were more reliable than mechanical switches, reducing downtime and maintenance.
- They allowed businesses and government agencies to process large volumes of data more efficiently, leading to the development of new applications and industries.
Transistors
Invented in 1947, transistors revolutionised electronics and computing, marking the beginning of the modern era of technology. They replaced vacuum tubes, providing a more efficient, reliable, and scalable way to build electronic circuits and computers.
A transistor is a semiconductor device used to amplify or switch electronic signals and electrical power. It is a fundamental building block of modern electronic devices.
Significance
- Transistors enabled the development of smaller, faster, and more powerful computers. This led to the proliferation of personal computers and the growth of the technology industry.
- The ability to fabricate millions of transistors on a single chip led to the creation of microprocessors and the miniaturisation of electronic devices, including smartphones, tablets, and wearable technology.
- Transistors are the building blocks of integrated circuits, which combine multiple electronic components into a single chip.
Integrated Circuits
An integrated circuit (IC) is a set of electronic circuits on a small flat piece (or chip) of semiconductor material, usually silicon. Integrated circuit integrate multiple components such as transistors, resistors, and capacitors into a single chip, performing a variety of functions.
Significance
- Integrated circuits led to the development of microprocessors, contributing to the growth of the computing industry.
- ICs can be manufactured at scale using photolithography and other semiconductor fabrication techniques
Microprocessors
ICs led to the development of microprocessors which are commonly known as CPUs, taking binary input data and performs operations on that data from instructions stored in its memory.
Significance
- The invention of the microprocessor made it possible to develop personal computers, bringing computing power to homes and small businesses and democratising access to technology.
- The invention of the microprocessor made it possible to develop personal computers, bringing computing power to homes and small businesses and democratising access to technology.
Personal Computers
Personal computers (PCs) hit the markets in the early 1970s from major technology firms such as Apple, IBM and Commodore.
Significance
- Personal computers have made computing power accessible to individuals, transforming how we work, learn, and communicate.
- PCs have revolutionised industries by enabling automation, data processing, and digital communication, driving innovation and productivity growth.
ARPANET
ARPANET, short for the Advanced Research Projects Agency Network, was the first wide-area packet-switched network and a precursor to the modern internet.
The primary goal was to create a robust, distributed network that could survive partial outages and continue to operate in the event of a nuclear attack or other disruptions. The network aimed to connect various research institutions to share information and computing resources efficiently.
Significance
- ARPANET was the first operational packet-switching network and laid the groundwork for the development of the internet, demonstrating the feasibility and advantages of packet-switched networks.
- The creation and refinement of networking protocols, particularly TCP/IP, set the standard for global data communication and are still used as the core protocols of the internet today.