ada and the first computer

6
76 Scientific American May 1999 P eople called Augusta Ada King’s father “mad and bad” for his wild ways, but he was better known as Lord Byron, the poet. Ada inherited her famous father’s way with words and his zest for life. She was a beautiful, flirtatious woman who hobnobbed with England’s elite and who died at the youthful age of 36, the same age at which her father died. And like Byron, Ada is best known for something she wrote. In 1843 she published an influential set of notes that described Charles Babbage’s An- alytical Engine, the first automatic, general-purpose computing machine ever designed. Although the Analytical Engine was never builtlargely because Babbage could not raise the funds for its constructionAda’s notes included a program for using it to com- pute a series of figures called Bernoulli numbers [ see box on page 78]. Ada’s notes established her importance in computer science, but her fascinating life and lineageand her role as a female pioneer in a field in which women have always been notoriously underrepresentedhave lately turned her into an icon. In addition to numerous biographies, she has inspired plays and novels written by the likes of such lu- minaries as Tom Stoppard and Arthur C. Clarke. Conceiving Ada, a movie loosely based on her life, was released by Fox Lorber in February. And whereas many women have helped to advance computer science, only Ada has had a computer language named after her; it is used largely for military and aerospace applications. Not surprisingly, Ada’s contributions to computer science have been both embellished and diminished, and her true legacy has elicited controversy among historians in the field. Many people, for instance, incorrectly claim that Ada was the first computer pro- grammer. (Babbage, not Ada, wrote the first programs for his Analytical Engine, al- though most were never published.) Others unfairly challenge Ada’s authorship of the program included in the notes and even of the notes themselves. As with most things, the truth lies somewhere in the middle. Babbage characterized Ada’s contributions best when he referred to her as his “interpretress.” He did discuss the notes with Ada and reviewed early drafts, but there can be no question that she her- self was the author. And whereas Babbage’s groundbreaking work formed the basis of Ada’s notes and her thinking, her lucid writing revealed unique insight into the significance and the many possibilities of the Analytical Engine. A Young Mathematician A ugusta Ada Byron was born on December 10, 1815, in London; she was the daughter of Lord Byron and his wife of 11 months, mathematician Annabella Milbanke. By the time Ada was born, Annabella already had reservations about her marriage to By- ron. Rumors, most likely started by Annabella’s cousin, Caroline Lamb, were circulat- ing that Byron had had an affair with his half-sister, giving Annabella the excuse to sep- arate from him. Byron left England in April 1816, never to see his daughter again. Lady Byron raised Ada to be a mathematician and a scientist and discouraged her liter- ary leanings, in part to distance her from her father. Ada received an excellent education: she was tutored in mathematics by Mary Somerville, a prominent scientist best known for Ada and the First Computer The collaboration between Ada, countess of Lovelace, and computer pioneer Charles Babbage resulted in a landmark publication that described how to program the world’s first computer by Eugene Eric Kim and Betty Alexandra Toole Copyright 1999 Scientific American, Inc.

Upload: independent

Post on 23-Feb-2023

1 views

Category:

Documents


0 download

TRANSCRIPT

76 Scientific American May 1999

People called Augusta Ada King’s father “mad and bad” for his wild ways, but hewas better known as Lord Byron, the poet. Ada inherited her famous father’sway with words and his zest for life. She was a beautiful, flirtatious woman who

hobnobbed with England’s elite and who died at the youthful age of 36, the same age atwhich her father died. And like Byron, Ada is best known for something she wrote.

In 1843 she published an influential set of notes that described Charles Babbage’s An-alytical Engine, the first automatic, general-purpose computing machine ever designed.Although the Analytical Engine was never built—largely because Babbage could notraise the funds for its construction—Ada’s notes included a program for using it to com-pute a series of figures called Bernoulli numbers [see box on page 78].

Ada’s notes established her importance in computer science, but her fascinating lifeand lineage—and her role as a female pioneer in a field in which women have alwaysbeen notoriously underrepresented—have lately turned her into an icon. In addition tonumerous biographies, she has inspired plays and novels written by the likes of such lu-minaries as Tom Stoppard and Arthur C. Clarke. Conceiving Ada, a movie looselybased on her life, was released by Fox Lorber in February. And whereas many womenhave helped to advance computer science, only Ada has had a computer languagenamed after her; it is used largely for military and aerospace applications.

Not surprisingly, Ada’s contributions to computer science have been both embellishedand diminished, and her true legacy has elicited controversy among historians in thefield. Many people, for instance, incorrectly claim that Ada was the first computer pro-grammer. (Babbage, not Ada, wrote the first programs for his Analytical Engine, al-though most were never published.) Others unfairly challenge Ada’s authorship of theprogram included in the notes and even of the notes themselves.

As with most things, the truth lies somewhere in the middle. Babbage characterizedAda’s contributions best when he referred to her as his “interpretress.” He did discussthe notes with Ada and reviewed early drafts, but there can be no question that she her-self was the author. And whereas Babbage’s groundbreaking work formed the basis ofAda’s notes and her thinking, her lucid writing revealed unique insight into thesignificance and the many possibilities of the Analytical Engine.

A Young Mathematician

Augusta Ada Byron was born on December 10, 1815, in London; she was the daughterof Lord Byron and his wife of 11 months, mathematician Annabella Milbanke. By

the time Ada was born, Annabella already had reservations about her marriage to By-ron. Rumors, most likely started by Annabella’s cousin, Caroline Lamb, were circulat-ing that Byron had had an affair with his half-sister, giving Annabella the excuse to sep-arate from him. Byron left England in April 1816, never to see his daughter again.

Lady Byron raised Ada to be a mathematician and a scientist and discouraged her liter-ary leanings, in part to distance her from her father. Ada received an excellent education:she was tutored in mathematics by Mary Somerville, a prominent scientist best known for

Ada and the First ComputerThe collaboration between Ada, countess of Lovelace, and

computer pioneer Charles Babbage resulted in a landmark publicationthat described how to program the world’s first computer

by Eugene Eric Kim and Betty Alexandra Toole

Copyright 1999 Scientific American, Inc.

Scientific American May 1999 77

ADA LOVELACE satfor this portrait by A. E.

Chalôn around 1838, severalyears after she first met Charles

Babbage, the designer of the world’sfirst computer. The inset shows a stamp re-

leased in 1991 by the British postal serviceto commemorate the 200th anniversary ofBabbage’s birth. The background depicts pro-gramming ideas sketched by Babbage. Adalater extended his proposals.

POR

TRA

IT C

OU

RTE

SY O

F TH

E B

RITI

SH M

USE

UM

; STA

MP:

© T

HE

POST

OFF

ICE—

A B

RITI

SH S

TATU

TORY

CO

RPO

RAT

ION

, REP

RO

DU

CED

BY

KIN

DPE

RMIS

SIO

N O

F TH

E B

RITI

SH P

OST

OFF

ICE,

ALL

RIG

HTS

RES

ERV

ED; B

AC

KGRO

UN

D C

OU

RTE

SY O

F SC

IEN

CE

MU

SEU

M L

IBR

ARY

, LO

ND

ON

Copyright 1999 Scientific American, Inc.

her translations of the works of Frenchmathematician and physicist Pierre-Simon Laplace, and by logician andmathematician Augustus De Morgan.

Ada’s mathematical education wasunusual at the time, even for someoneof noble lineage. While mathematicsflourished in continental Europe in thefirst half of the 19th century, Britishmathematics was floundering. Mathe-maticians De Morgan, George Peacockand their college friend Charles Bab-bage were helping to rejuvenate Britishmathematics during Ada’s youth, butthe state of mathematical education for

young people—and especially youngwomen—remained poor. Nevertheless,under De Morgan’s tutelage, Ada be-came well schooled in the principles ofalgebra, logic and calculus.

On June 5, 1833, 17-year-old Ada at-tended a party where she met Babbage,a 41-year-old widower who was as wellknown for his political activism and hisoutrageous ideas as for his work in math-ematics and economics. A few weeksafter the meeting, Babbage showed Adahis partially completed Difference En-gine, an early calculating machine [see“Redeeming Charles Babbage’s Mechan-

ical Computer,” by Doron D. Swade;Scientific American, February 1993].She was captivated. For the next severalyears, she followed the development ofthe Difference Engine closely, readingthe few published articles on the engineand discussing it with Babbage.

Babbage devised the Difference En-gine as a machine that would generatemathematical tables, automating the“mechanical” steps of calculation. Al-though it was efficient, it was limitedcomputationally. It could perform onlyaddition and subtraction and solve a se-ries of polynomial equations (such as 0= a + bx + cx2 + dx3. . . ).

Babbage, however, had already start-ed thinking about bigger and betterthings. As their friendship deepened, hebegan outlining to Ada a new machinehe was designing, one that would be sig-nificantly more advanced than the Dif-ference Engine. He called it the Analyt-ical Engine and spent the remaining 38years of his life refining the plans for it.

Working with Babbage

According to Babbage’s designs, theAnalytical Engine would have none

of the restrictions of the Difference En-gine. Devised to solve general compu-tational problems, it would possess anarchitecture remarkably similar to thatof today’s modern computers, consist-ing of a “store” (memory), a “mill”(central processing unit, or CPU) and apunched-card reader (input device).Babbage intended to rely on punchedcards for programming data input (anidea borrowed from the Jacquard loom,which wove patterns automatically byusing such cards). The engine’s outputwould take the form of a printed pageor punched cards. The Analytical En-gine would perform addition, subtrac-tion, multiplication and division. Itwould be able to execute or repeat a setof instructions based on certain condi-tions (“if x, then y”), a central conceptin modern computer science known asconditional branching.

In 1840 Babbage made his first andonly public presentation on the Analyt-ical Engine to a group of mathemati-cians and engineers in Turin, Italy.Among those attending was a youngmathematician named Luigi FedericoMenabrea (Italy’s future prime minis-ter), who took notes at the meeting and,with some additional notes from Bab-bage, published a paper in French enti-tled “Sketch of the Analytical Engine.”

Ada and the First Computer78 Scientific American May 1999

Bernoulli Numbers

The Bernoulli numbers are found in the polynomial expansion of sometrigonometric functions that were once employed for constructing naviga-

tional tables, among other uses. They are defined as the constant Bn in the poly-nomial expansion of the expression:

For her program, Ada simplified this expression to:

To calculate Bn from this expression, start by letting x = 1. Notice that the fractionnext to B1 becomes 1 and that the fractions next to B2, B3 and so on all equal 0, be-cause each numerator contains the factor (2x –2), which is 0 when x = 1. This leaves:

So B1 = 1⁄6. Now, if you let x = 2, the fraction next to B2 becomes 1, because boththe numerator and the denominator are equal to 4! (4 × 3 × 2 × 1), and the frac-tions next to B3, B4 and so on all equal 0, because each numerator contains thefactor (2x –4), which is 0 when x = 2. The substituted expression is:

You already know the value of B1 from the previous substitution, so you can eas-ily see that B2= –1⁄30. The first five Bernoulli numbers are 1⁄6, –1⁄30, 1⁄42, –1⁄30 and 5⁄66.

For various reasons, the indices Ada used in her program were all odd numbers:B1, B3, B5 and so on, as opposed to B1, B2, B3 and so on. Computing each Bernoullinumber one at a time constituted the outer loop of the program, to use moderncomputer programming parlance. To compute the fractional value next to eachBernoulli number, Ada used a second loop. She started by dividing the first factorof the numerator by the first factor of the denominator and storing that value. Shethen divided the second factor of the numerator by the second factor of the de-nominator and multiplied that value by the previously stored value. These stepswere repeated until the value of the fraction was completely calculated, at whichpoint it was multiplied by the appropriate Bernoulli number. —E.E.K. and B.A.T.

0= – 1 (2x –1) + B12x + B2

(2x) (2x –1) (2x –2) +2 (2x +1) 2! 4!

x = ∑ Bn x

n

e x– 1n ≥ 0

n !

B3

(2x) (2x–1) (2x –2) (2x –3) (2x –4) + 6!

… + Bn

(2x) (2x –1) … (2x –2n +2) (2n)!

0 = ( – 1 × 1 )+ B12 3

0 = (– 1 × 3 ) + (B1 × 2) + B22 5

Copyright 1999 Scientific American, Inc.

Menabrea focused his attention pri-marily on the mathematical underpin-nings of both the Difference and Analyt-ical Engines rather than on their under-lying mechanical operations. Menabreaoutlined the purpose of the various com-ponents of the Analytical Engine andrecognized that it would be able tocompute any algebraic formula proper-ly expressed (or programmed) on thepunched cards. “The cards,” Menabrea

wrote, “are merely a translation of alge-braical formulae, or, to express it better,another form of analytical notation.”

Ada—who had since married WilliamKing, the earl of Lovelace, and becomethe countess of Lovelace—read Mena-brea’s paper and began translating itinto English. Babbage had remained a good friend of Ada’s, and on hearingof her work in early 1843, he encour-aged her to annotate the translation.

With that suggestion began a majorcollaboration that resulted in Ada’spublishing the first paper to discuss theprogramming of a computer at greatlength; it was to be the only such paperin existence for the next century. She in-cluded seven notes in all (A through G),which combined are more than twice aslong as Menabrea’s original article. Animportant theme was the significance ofthe Analytical Engine’s ability to be pro-

Ada and the First Computer Scientific American May 1999 79

Ada’s program for computing B7, the fourth Bernoulli num-ber, is shown. The first six columns demonstrate the vari-

ous operations that would be performed by the Analytical En-gine, and the remaining columns represent the values of each ofthe variables. Each row represents a single operation.

When the program begins, there are six variables in use: V1, V2,V3, V21, V22 and V23 [see shaded boxes]. (The superscripts in thechart indicate the number of times the variable has been used.)The values of these variables are 1, 2, n (which in this case is 4, be-cause Ada is calculating B7, the fourth Bernoulli number), B1, B3and B5. V10 is used to store the number of iterations left to per-form. At the first iteration, V10 is equal to n –1, at the second itera-tion, V10 is equal to n –2, and so on. When V10 equals 1, the loopstops, and the program is finished computing the Bernoullinumber.

The first six operations calculate (1⁄2) × (2n–1) / (2n + 1) andstore the value in V13. Operation 7 subtracts 1 from n and assignsit to V10 because the first iteration is complete. Operations 8, 9and 10 calculate 2n/2 and multiply it by B1, which was calculatedearlier and stored in V21; they store the value in V12. Operation 11takes V12 and adds it to V13, and operation 12 subtracts 2 from nand stores that value in V10, because the second iteration is com-plete. Operations 13 through 21 calculate the next value andmultiply it by B5.

One flaw in Ada’s program is that she does not use a variableto keep track of each iteration while calculating the fractionalvalues, as she does with V10 when she computes the product ofthe fractions by the previous Bernoulli numbers. Also, note a bugin Ada’s program in Operation 21, where the third factor of thedenominator should be 4, not 3. —E.E.K. and B.A.T.

Ada’s Scheme for Computing the Bernoulli Numbers

REPR

INTE

D F

RO

M S

CIE

NTI

FIC

MEM

OIR

S. E

DIT

ED B

Y RI

CH

ARD

TAY

LOR,

VO

L. II

I, 18

43

Copyright 1999 Scientific American, Inc.

Ada and the First Computer

grammed using the Jacquard punchedcards. “The distinctive characteristic ofthe Analytical Engine,” wrote Ada,“. . . is the introduction into it of theprinciple which Jacquard devised forregulating, by means of punched cards,the most complicated patterns in thefabrication of brocaded stuffs. . . . Wesay most aptly that the Analytical En-gine weaves algebraical patterns just asthe Jacquard-loom weaves flowers andleaves.” Cards were a particularly cleversolution for weaving cloth—or for per-forming calculations—because they al-lowed any desired pattern—or equa-tion—to be generated automatically.

Ada went on to elaborate greatly onMenabrea’s descriptions and to exam-ine the gritty details of programmingthe Analytical Engine. For example, sheemphasized the computational impor-tance of the engine’s ability to branch todifferent instructions based on certainconditions, and she drew the distinctionbetween what was theoretically possi-ble to compute and what was, in reali-ty, impractical. Ada also wrote aboutthe benefits of the Analytical Engine’sability to reuse code. In addition, in de-scribing the symbolic processing pow-ers of the engine, she wrote of its poten-tial to compose music: “Supposing, forinstance, that the fundamental relationsof pitched sounds in the science of har-mony and of musical composition weresusceptible of such expression andadaptations, the engine might composeelaborate and scientific pieces of musicof any degree of complexity or extent.”

Finally, Ada debunked the notion thatthe engine was “thinking” in the waysthat humans think. “The Analytical En-gine has no pretensions whatever tooriginate anything,” she asserted. “Itcan do whatever we know how to or-der it to perform.” Over a century laterAlan M. Turing made her sentiment fa-mous in a landmark lecture on artificialintelligence, dubbing it “Lady Lovelace’sObjection.”

The remainder of Ada’s notes weredevoted to the mechanics of program-ming the Analytical Engine, including adescription of the punched-card mecha-nism and of the notation for writingprograms. If, as Menabrea had statedin his article and Ada had reaffirmed,the punched cards merely expressed analgebraic formula, then there had to bea rigorous notation for expressing theformula on the punched cards. Bab-bage had adopted a tabular format forexpressing programs, which Ada modi-

fied in her publication.Ada ends her notes

with her program forcomputing Bernoullinumbers. Swiss mathe-matician Jakob Ber-noulli wrote about hisnumbers in a classicbook about probabili-ty, Ars conjectandi (TheArt of Conjecture), firstpublished in 1713.Ada’s program for de-riving Bernoulli num-bers demonstrated theAnalytical Engine’s con-ditional branching ca-pability and used twoloops. It was far moreambitious and com-plex than any programBabbage had writtenfor the Engine.

All that historiansknow regarding Ada’swork comes from cor-respondence between Ada and Bab-bage, Babbage’s notebooks and autobi-ography, and Ada’s notes themselves,which were published in Richard Tay-lor’s Scientific Memoirs. Of the lettersbetween Ada and Babbage that havesurvived, most were written by Ada.Sadly, Ada’s own notebook is lost; itcould have answered many questionsabout her path of understanding.

Babbage and the Notes

Ada compiled her notes between Feb-ruary and September 1843 and dis-

cussed her progress often with Babbageduring this period, both through lettersand face-to-face. Although she relied onBabbage to explain the inner workingsof his machine and to confirm the accu-racy of her descriptions, Ada often as-tonished Babbage with her insights. Onreading a draft of Note A, for example,Babbage responded, “I am very reluc-tant to return your admirable & philo-sophic Note A. Pray do not alter it . . . .All this was impossible for you to knowby intuition and the more I read yournotes the more surprised I am at themand regret not having earlier exploredso rich a vein of the noblest metal.”

Ada sought Babbage’s opinions andwas open to suggestions regarding con-tent; she resisted any changes to herprose, however. In August 1843, amonth before the final proofs went tothe printer, Babbage tried to insert into

her notes a preface complaining aboutthe British government’s lack of sup-port for his Analytical Engine. Ada wasfurious and sent him an angry letter.They eventually resolved their differ-ences, and Babbage’s preface was pub-lished separately and anonymously.

In a letter to Babbage dated July 1843,Ada wrote, “I want to put in somethingabout Bernoulli’s Numbers, in one ofmy Notes, as an example of how an im-plicit function may be worked out bythe engine, without having been workedout by human head & hands first. Giveme the necessary data & formulae.”(Ada had studied Bernoulli numberswith De Morgan two years before butapparently needed to refresh her memo-ry of the formula for generating them.)

From this letter, two things are clear.First, including a program that comput-ed Bernoulli numbers was Ada’s idea.Second, Babbage at the very least pro-vided the formulas for calculatingBernoulli numbers, a fact he confirmed21 years later in his autobiography, Pas-sages from the Life of a Philosopher.

We cannot know for certain the ex-tent to which Babbage helped Ada onthe Bernoulli numbers program. Shewas certainly capable of writing theprogram herself given the proper for-mula; this is clear from her depth of un-derstanding regarding the process ofprogramming and from her improve-ments on Babbage’s programming no-tation. Additionally, letters between

BABBAGE’S ANALYTICAL ENGINE was never com-pleted, but a portion (above) consisting of part of the mill(CPU) and the printing devices was assembled shortly be-fore his death in 1871. The engine would have been pro-grammed using punched cards, an idea borrowed from theJacquard loom for weaving patterned cloth (right).

SCIE

NC

E M

USE

UM

LIB

RA

RY, L

ON

DO

N

80 Scientific American May 1999

Copyright 1999 Scientific American, Inc.

Babbage and Ada at the time seem toindicate that Babbage’s contributionswere limited to the mathematical for-mula and that Ada created the programherself. While she was working on theprogram, Ada wrote to Babbage, “Ihave worked incessantly, & most suc-cessfully, all day. You will admire theTable & Diagram extremely. They havebeen made out with extreme care, & allthe indices most minutely & scrupu-lously attended to.”

The importance of Ada’s choosing towrite this program cannot be overstat-ed. Babbage had written several smallprograms for the Analytical Engine inhis notebook in 1836 and 1837, butnone of them approached the complex-ity of the Bernoulli numbers program.Because of her earlier tutelage, Ada wasat least familiar with the numbers’properties. It is possible that Ada recog-nized that a Bernoulli numbers pro-gram would nicely demonstrate someof the Analytical Engine’s key features,such as conditional branching. Also,because Menabrea had alluded to theBernoulli numbers in his article, Ada’sprogram tied in nicely with her transla-tion of Menabrea.

Finally, any discussion of Ada’s workwould not be complete without men-tioning Dorothy Stein of the Universityof London, perhaps Ada’s most outspo-ken critic, who wrote Ada: A Life and aLegacy in 1985. One of Stein’s assertionswas that Ada was an incompetent math-

ematician who was not capable ofwriting the Bernoulli numbersprogram herself, an idea that hassince been expressed by others.

Stein’s conclusion is based pri-marily on two pieces of evidence.First, she points out a mathemati-cal error in Ada’s translation ofMenabrea, in which she translateda French typo into an impossiblemathematical statement. Mena-brea’s original paper read “le cos.de n = ∞,” when it should haveread “le cas de n = ∞.” The prop-er translation would have been“in the case of n = ∞,” but Adatranslated the statement literallyto “when the cos n = ∞,” a math-ematical impossibility.

Second, Stein quotes letters be-tween Ada and her tutors thatshow that Ada had difficulty withfunctional substitution (provingan equation by substituting afunction with its identity). Steinwrites, “The evidence of the tenu-

ousness with which she grasped thesubject of mathematics would be diffi-cult to credit about one who succeededin gaining a contemporary and posthu-mous reputation as a mathematical tal-ent, if there were not so much of it.”

Ada indeed mistakenly translatedone of Menabrea’s statements, but itcannot be fairly attributed to mathe-matical incompetence. It was not theonly mistake in her article; Ada evenmiswrote her initials on her final noteas “A.L.L.” instead of “A.A.L.” Her 65pages of translation and annotationswere peer-reviewed by Babbage andothers, who also overlooked the errors.

Stein’s charge that Ada did not un-derstand functional substitution ismore serious, because it is a vital con-cept for computer programmers. It iscrucial to remember, however, that al-gebra was cutting-edge mathematics inEngland at the time and that Ada waslearning via correspondence. Recogniz-ing that her tutors were helping her forfree, Ada was more likely to write tothem about matters she did not under-stand than about concepts she had al-ready grasped. The level of mathemati-cal sophistication in her late lettersshows that despite the fact that Adamay have had trouble with functionalsubstitution before she began workingon her notes, she most likely under-stood it when she began writing them.

Ada’s health, which was poor on andoff throughout her life, declined further

after 1843, limiting her ability to prac-tice mathematics. She died on Novem-ber 27, 1852, probably of uterine can-cer. At her request, she was buried nextto her father. Her work remained rela-tively obscure until 1953, when Ber-tram V. Bowden compiled Faster thanThought, a history of computers thatmentioned Ada’s work and called her a“prophet.”

Many modern computer pioneerseventually became aware of Babbage’swork and of Ada’s paper, but all ofthem made their conceptual break-throughs independently. Howard Aiken,the Harvard University professor whodesigned and built the Mark I in 1944,liked to consider himself a direct suc-cessor of Babbage. He was not familiarwith Ada’s work, however, and failedto realize the importance of conditionalbranching.

What we now know about designingand programming computers may notbe directly traceable to Babbage andAda, but they can claim precedence formany of these concepts. And Ada inparticular has become a figure whoselife and work still stir the imaginationof many computer scientists today.

Scientific American May 1999 81Ada and the First Computer

The Authors

EUGENE ERIC KIM and BETTY ALEX-ANDRA TOOLE both became interested inAda Lovelace while working on their under-graduate and graduate theses, respectively.Kim is technical editor at Dr. Dobb’s Journalin San Mateo, Calif. He is the author of CGIDeveloper’s Guide and of an upcomingbook on the history of free software. Heholds a bachelor’s degree in history and sci-ence from Harvard University. Toole re-ceived both her B.A. and Ed.D. from theUniversity of California, Berkeley, where shespecialized in history of science and the inte-gration of technology into education. She isthe author of Ada, the Enchantress of Num-bers: A Selection from the Letters of LordByron’s Daughter and Her Description ofthe First Computer and of the abridged, pa-perback version, Ada, the Enchantress ofNumbers: Prophet of the Computer Age.Toole is a consultant and an adjunct profes-sor of computer science at Dominican Col-lege in San Rafael, Calif.

Further Reading

The Mathematical Work of Charles

Babbage. J. M. Dubbey. Cambridge Univer-sity Press, 1978.

Charles Babbage: Pioneer of the Com-

puter. Anthony Hyman. Princeton Uni-versity Press, 1982.

S

CO

RBIS

-BET

TMA

NN

Copyright 1999 Scientific American, Inc.