×

DIGITAL TECHNOLOGY
& CULTUREDTC 101 Open Education Resource


1.0 DTC 101

Digital Technology

Reading:
  • tba
  • tba
Additional Reading:
  • tba
  • tba

1.1 Digital Data

Digital: discrete and discontinuous

Most acts of communication expend energy through the material involved in the making and sharing of signs. Spoken words are sound waves made from pushed air through various mouth formations. Writing with a pen requires the energy to move the pen on paper, but also the energy needed to manufacture and distribute writing implements.

A text message sent to a friend is made of digital code. In this case, the materiality of code is the hardware and software of a computer device. The energy to send a text message is the electrical expenditure to compute, process, store, and transmit discrete symbols. Even though a snippet of digital code is nearly as weightless as a thought, it takes an enormous amount of electrical energy to run the hardware and software on a global 24/7 internet. The alphanumeric symbols typed into and sent from a phone are translated into digital code by the device and then organized into packets of data that travel the internet to another device. Despite the ease with which this happens, there may be material interruptions. Weather, blackouts, geopolitical problems can cause delays in putting the pieces of a message back together on the receiver’s device screen. There is a thickness of human labor and natural resources involved in the transmission of digital data.

The word digital means discreet and discontinuous, like the digits used to count by hand. Today, the word commonly means data that is encoded in binary form. Alphanumeric symbols are also made of discrete and discontinuous units, so representing them digitally is much simpler than trying to encode continuous or analogue waves to digital - the sound waves of voice or music, for example.

Binary Numbers

All of the images, sounds and words stored on a digital computer are encoded in two binary digits or bits: on and off, or 0 and 1. A binary string of eight bits, called a byte, can represent any of 256 (0-255) possible values of, for example, alphanumeric symbols or colored pixels of a digital image.

ASCII: Numbers and Letters in Binary

Computers speak different languages than humans: in order to make sure computers stored alpha-numeric characters the same across systems, they created a universal standard code called the American Standard Code for Information Interchange (or ASCII for short). In ASCII, A = 65 and B = 66 and so on and so forth. However, on a hardware level, computers store values either as "on" or "off" through transistors. This is represented as a 1 or a 0. In binary you can string 1s and 0s together, which make bytes (typically 8 digits). With 8-digit bytes you can store up to 256 different values, such as the ASCII codes for English.

With that in mind, take the first step that every computer scientist takes on their digital journey and type "hello world" into the textbox below. You will see what your computers translates from binary, into ASCII, and finally English for all digital text.



Representing Numbers and Letters with Binary:
Crash Course Computer Science #4

1.2 Hardware

To work with digital data, humans need the help of hardware with the power to compute quickly and efficiently. Computers are the primary hardware for digital technology.

In the early 19th century, a "computer" was a minimally skilled laborer who who knew how to add and subtract. The industrial age was built on mass production using machines and the design of efficient linear systems or assembly lines. Much of the new methods of production and distribution involved complex calculations based of variable data. Tables of logarithms were used to process this data.

logarithm table to aid human "computers"

The definition of a computer remained the same until the end of the 19th century, when the industrial revolution gave rise to machines whose primary purpose was calculating.

Charles Babbage
(1791 - 1871)

“As soon as an Analytical Engine exists, it will necessarily guide the future course of science” - Charles Babbage
Charles Babbage

In 1812, a London mathematician and engineer named Charles Babbage was observing fallible human computers performing their calculations on logarithmic tables when it struck him that this step could be performed more efficiently, more reliably and more cheaply by a machine. But how? The challenge was to have a machine be able to calculate and store data. His first invention was a steam-powered machine that he called the Difference Engine that could do simple math mechanically. But that was all it could do, one task at a time. A more useful calculating machine should be able to perform a variety of tasks simultaneously.

The Difference Engine

Babbage found inspiration in the very popular Jacquard loom, which used rectangular cards with rows of punched holes that stored specific patterns for weaving. These punch cards were used to program the loom to weave a variety of patterns. In 1832, way over budget, Charles Babbage presented his Difference Engine to the public. Most people were not impressed. It seemed expensive and cumbersome for the results it produced.

Jacquard loom

Ada Lovelace (1815 - 1852)

“Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.”- From Ada Lovelace's translation and notes on Menabrea's “Sketch of the Analytical Engine”, 1843
Ada Lovelace

At a dinner party, 17-year-old Ada Lovelace met Charles Babbage and became fascinated by his invention. Ada, daughter of the Romantic poet Lord Byron, was very skilled in math, but she also had a sensibility for art and poetry from her famous father. She seemed to understand intuitively that a machine that could perform logical calculations, that could take symbolic inputs and compute outputs, could also work with other kinds of symbols besides numbers. What could a computer do with words or sounds, she wondered?

Although Ada Lovelace became Babbage’s publicist and partner, and was a visionary about the expansive role of the computer in art and culture, she died with very little recognition for her contributions. Because she understood the Difference Engine to be a general purpose machine that could take complex instructions (algorithms) to perform a variety of tasks, many today believe she was the first programmer.

In 1834, after the failure of his Difference Engine and inspired by Ada’s ideas, Babbage came up with a better invention. The Analytical Engine was to be general purpose computer. Although it was never built, it is believed to have launched the computer era.

Analytical Engine

Early Computing:
Crash Course Computer Science #1

Components of a Computer

Computers are getting faster, smaller and more powerful by the year. But for the time being at least, the basic architecture of how a computer functions has remained the same for a 100 years: a steady current of electricity powers a central processing unit that performs tasks and stores data in memory.

Power Supply: An internal hardware component that supplies components in a computer with power.

CPU/Processor: CPU is the abbreviation for Central Processing Unit. Sometimes referred to simply as the central processor, but more commonly called processor, the CPU is the brains of the computer where most calculations take place.

Memory/RAM: RAM is an acronym for Random Access Memory, a type of computer memory that can be accessed randomly; that is, any byte of memory can be accessed without touching the preceding bytes. RAM is the most common type of memory found in computers and other devices, such as printers.

Hard Drive: Sometimes abbreviated as HD, a hard drive is a non-volatile memory hardware device that permanently stores and retrieves information.

CD ROM Drive: Short for Compact Disc-Read Only Memory, a CD-ROM is an optical disc which contains audio or software data whose memory is read only. A CD-ROM Drive or optical drive is the device used to read them.

Wireless Adapter: A device that adds wireless connectivity to a laptop or desktop computer. All of the adapters are available as external USB modules as well as PCI or PCI Express (PCIe) cards that plug into an empty slot on the motherboard.

Video Card: A video card connects to the motherboard of a computer system and generates output images to display. Video cards are also referred to as graphics cards. Video cards include a processing unit, memory, a cooling mechanism and connections to a display device.

Motherboard: One of the most essential parts of a computer system. It holds together many of the crucial components of a computer, including the central processing unit (CPU), memory and connectors for input and output devices. The base of a motherboard consists of a very firm sheet of non-conductive material, typically some sort of rigid plastic. Thin layers of copper or aluminum foil, referred to as traces, are printed onto this sheet. These traces are very narrow and form the circuits between the various components. In addition to circuits, a motherboard contains a number of sockets and slots to connect the other components.

Graphic User Interface: personal computers, desktop, mouse


1.3 Software

A computer program is a collection of specific instructions for the computer to use to complete tasks, to interact with a user or to interact with other computers. Computer software holds these instructions or programs for the computer hardware.

Early Programming:
Crash Course Computer Science #10

Why are there so many thousands of programming languages?

Programming languages are built from other programming languages and often work with the same essential programming concepts. New languages are developed to solve new problems for new hardware.

The first programmable computers required the programmers to write explicit instructions to directly manipulate the hardware of the computer using a low-level language. A low-level language has very little to no abstraction from machine code. Many programs today are mid-level or high-level languages, which means they involve greater abstraction and look more like natural language.

High-Level programming languages:

  • Ruby
  • JavaScript
  • Perl
  • Php
  • Python

Mid-Level programming languages:

  • Java
  • C++
  • C

Low-Level programming languages:

  • Machine Code
  • Assembly

The First Programming Languages:
Crash Course Computer Science #11

1.4 Unit Exercise: Data Bending


Data Bending Exercise

  1. Step 1. Find an image using Google search and download it
  2. Step 2. Change the file name of the extension from .png or .jpg to .txt
  3. Step 3. Open the new file and observe the arrangement of alphanumeric symbols. This is code for the browser to display pixels in a frame
  4. Step 4. Change some of this code, but keep the same pattern, don’t change too much
  5. Step 5. Change file back to its original extension. .png or .jpg
  6. Step 6. Observe changes to the image when its underlying code is altered
the code for an image
Glitch art

1.5 Glossary

1.6 Credits

All text by Will Luers.

Animation by Liliya Truderung.

All images and video are in the public domain or labled for non-commercial use.