You are on page 1of 19

CAPTULO

Introduo 0
Neste captulo preliminar, consideramos o escopo da cincia da
computao, desenvolvemos uma perspectiva histrica e estabelecemos
uma base a partir da qual iniciaremos nosso estudo.

0.1 O papel dos algoritmos 0.3 A cincia dos 0.5 Um esboo de


algoritmos nosso estudo
0.2 A histria da
computao 0.4 Abstrao 0.6 Repercusses sociais

Brookshear_00.indd 1 19/03/13 16:59


2 Cincia da Computao: Uma Viso Abrangente

A cincia da computao a disciplina que busca construir uma base cien-


tfica para tpicos como projeto e programao de computadores, processa-
mento de informao, solues algortmicas de problemas e o prprio pro-
cesso algortmico. Ela fornece a estrutura das aplicaes computacionais
atuais, bem como a base para a futura infraestrutura de computao.
Este livro fornece uma introduo abrangente a essa cincia. Investiga-
remos uma ampla faixa de tpicos, incluindo a maioria daqueles que cons-
tituem um currculo tpico de cincia da computao nas universidades.
Queremos analisar completamente o escopo e a dinmica da rea. Logo,
alm dos tpicos propriamente ditos, estaremos interessados no seu desen-
volvimento histrico, no estado atual da pesquisa e nas perspectivas para o
futuro. Nosso objetivo estabelecer um entendimento funcional da cincia
da computao, que tanto oferea suporte aos que desejam buscar estudos
mais especializados na rea quanto possibilite a outras pessoas, de outras
reas, prosperar em uma sociedade cada vez mais tcnica.

0.1 O papel dos algoritmos


Iniciamos com o conceito mais fundamental da cincia da computao
o conceito de algoritmo. Informalmente, um algoritmo um conjunto de
passos que define como uma tarefa realizada. (Seremos mais precisos pos-
teriormente, no Captulo 5.) Por exemplo, existem algoritmos para cozinhar
(chamados de receitas), para se localizar em uma cidade desconhecida (mais
comumente chamados de indicaes), para operar mquinas de lavar (nor-
malmente mostrados no interior da tampa da lavadora ou talvez na parede
de uma lavanderia), para tocar msica (expresso na forma de uma partitura)
e para realizar truques de mgica (Figura 0.1).
Antes de uma mquina, como um computador, poder realizar uma ta-
refa, um algoritmo para realizar essa tarefa deve ser descoberto e represen-
tado em um formato que seja compatvel com a mquina. A representao
de um algoritmo chamada de programa. Para a convenincia humana,
os programas de computadores so normalmente impressos em papel ou
mostrados em telas de computadores. Para a convenincia das mquinas,
os programas so codificados em uma maneira compatvel com a tecnologia
da mquina. O processo de desenvolver um programa, codificando-o em um
formato compatvel de mquina, e inseri-lo em uma mquina chamado
de programao. Os programas e os algoritmos que eles representam so
coletivamente chamados de software, em contraste com o maquinrio pro-
priamente dito, que conhecido como hardware.
O estudo de algoritmos iniciou como um assunto de estudos matem-
ticos. Na verdade, a busca por algoritmos era uma atividade significativa dos
matemticos muito antes do desenvolvimento dos computadores atuais. O
objetivo era encontrar um nico conjunto de instrues que descrevesse
como todos os problemas de um tipo especfico poderiam ser resolvidos. Um
dos mais conhecidos exemplos dessa pesquisa inicial o algoritmo da divi-
so longa para encontrar o quociente de dois nmeros de mltiplos dgitos.
Outro exemplo o algoritmo de Euclides, descoberto pelo antigo matemti-
co grego Euclides, para encontrar o mximo divisor comum de dois inteiros
positivos (Figura 0.2).

Brookshear_00.indd 2 19/03/13 16:59


Captulo 0 Introduo 3

Efeito: O artista coloca algumas cartas de um baralho normal de cartas com a


face para baixo em uma mesa e as mistura completamente enquanto as
espalha pela mesa. Ento, medida que o pblico solicita ou cartas vermelhas ou
pretas, o artista vira as cartas da cor solicitada.
Segredo e execuo:
Passo 1. A partir de um baralho normal de cartas, selecione dez cartas vermelhas e
dez cartas pretas. Distribua essas cartas na mesa com a face para cima em
duas pilhas de acordo com a cor.
Passo 2. Anuncie que voc selecionou algumas cartas vermelhas e algumas cartas pretas.

Passo 3. Pegue as cartas vermelhas. Sob a pretenso de alinh-las em uma pequena pilha,
mantenha-nas com a face para baixo em sua mo esquerda e, com o polegar e o
indicador de sua mo direita, pressione as bordas da pilha de forma que
cada carta forme uma pequena curvatura para trs. Ento, coloque o baralho de
cartas vermelhas com as faces para baixo na mesa enquanto diz:
Aqui, nesta pilha, esto as cartas vermelhas.

Passo 4. Pegue as cartas pretas. De modo similar ao passo 3, d a essas cartas uma
curvatura para frente. Ento, recoloque estas cartas sobre a mesa com as faces para baixo
enquanto diz: E aqui, nesta pilha, esto as cartas pretas.

Passo 5. Imediatamente aps recolocar as cartas pretas sobre a mesa, use ambas as mos para misturar
as cartas vermelhas e pretas (ainda com as faces para baixo), medida que voc as
espalha no topo da mesa. Explique que voc est misturando completamente as cartas.

Passo 6. Enquanto houver cartas com a face para baixo na mesa, execute repetidamente os
seguintes passos:

6.1. Pea ao pblico para solicitar uma carta vermelha ou preta.

6.2. Se a cor solicitada for vermelha e existir uma carta com a face para baixo na
mesa com uma aparncia cncava, vire tal carta e diga: Aqui est uma
carta vermelha.

6.3. Se a cor solicitada for preta e existir uma carta com a face para baixo na mesa com
uma aparncia convexa, vire tal carta e diga: Aqui est uma carta preta.

6.4. Caso contrrio, diga que no existem mais cartas da cor solicitada e vire as cartas
restantes para provar sua afirmao.

Figura 0.1 Um algoritmo para um truque de mgica.

Descrio: Este algoritmo assume que sua entrada consiste em dois nmeros inteiros
positivos e realiza o cmputo do maior divisor comum desses dois valores.
Procedimento:
Passo 1. Atribua a M e N o valor do maior e do menor dos dois valores, respectivamente.

Passo 2. Divida M por N e chame o restante de R.

Passo 3. Se R no for zero, atribua a M o valor de N, atribua a N o valor de R e retorne ao


passo 2; caso contrrio, o mximo divisor comum o valor atualmente atribudo a N.

Figura 0.2 O algoritmo de Euclides para encontrar o mximo divisor comum de dois
inteiros positivos.

Brookshear_00.indd 3 19/03/13 16:59


4 Cincia da Computao: Uma Viso Abrangente

Uma vez que um algoritmo para realizar uma tarefa tenha sido en-
contrado, a realizao de tal tarefa no mais requer um entendimento dos
princpios nos quais o algoritmo baseado. No lugar disso, a realizao da
tarefa reduzida ao mero processo de seguir instrues. (Podemos usar o
algoritmo de diviso longa para encontrar um quociente ou o algoritmo de
Euclides para encontrar um mximo divisor comum sem entender por que
o algoritmo funciona.) De certa forma, a inteligncia necessria para solu-
cionar o problema est codificada no algoritmo.
por intermdio desta habilidade de capturar e transmitir inteligncia
(ou ao menos comportamento inteligente) por meio de algoritmos que so-
mos capazes de construir mquinas que realizam tarefas teis. Consequen-
temente, o nvel de inteligncia mostrado pelas mquinas limitado pela in-
teligncia que pode ser transmitida por algoritmos. Podemos construir uma
mquina para realizar uma tarefa apenas se existir um algoritmo que realize
tal tarefa. Por sua vez, se no existir um algoritmo para resolver o problema,
ento a soluo para tal problema est alm das capacidades das mquinas.
A identificao das limitaes das capacidades algortmicas se solidi-
ficou como um assunto da matemtica nos anos 1930, com a publicao do
teorema da incompletude de Kurt Gdel. Esse teorema, essencialmente,
diz que, em qualquer teoria matemtica que abranja nosso sistema aritm-
tico tradicional, existem sentenas cuja veracidade ou falsidade no pode
ser estabelecida por meios algortmicos. Em resumo, qualquer estudo com-
pleto de nosso sistema aritmtico est alm das capacidades de atividades
algortmicas.
Essa percepo abalou as bases da matemtica, e os estudos subse-
quentes das capacidades algortmicas foram o incio da rea conhecida hoje
como cincia da computao. Na verdade, o estudo dos algoritmos que
forma o ncleo da cincia da computao.

0.2 A histria da computao


Os computadores atuais possuem uma vasta genealogia. Um dos primeiros
dispositivos de computao foi o baco. provvel que ele tenha tido suas
razes na China antiga e fosse usado nas primeiras civilizaes gregas e ro-
manas. A mquina bastante simples, consistindo em elementos de con-
tagem (contas) fixados em hastes que, por sua vez, so montadas em uma
moldura retangular (Figura 0.3). medida que as contas so movidas para
frente e para trs nas hastes, suas posies representam valores armazena-
dos. nas posies das contas que este computador representa e armazena
dados. Para o controle da execuo de um algoritmo, a mquina depende do
operador humano. Logo, o baco por si s meramente um sistema de ar-
mazenamento de dados; ele precisa ser combinado a um humano para criar
uma mquina computacional completa.
No perodo entre a Idade Mdia e a Era Moderna, a busca por m-
quinas de computao mais sofisticadas intensificou-se. Alguns inventores
comearam a realizar experimentos com a tecnologia de engrenagens. Den-
tre eles estavam Blaise Pascal (1623-1662), da Frana, Gottfried Wilhelm
Leibniz (1646-1716), da Alemanha, e Charles Babbage (1792-1871), da Ingla-
terra. Essas mquinas representavam dados por meio do posicionamento

Brookshear_00.indd 4 19/03/13 16:59


Captulo 0 Introduo 5

Figura 0.3 Um baco. (Fotografia de Wayne Chandler.)

de engrenagens, com os dados sendo informados mecanicamente pelo es-


tabelecimento de posies iniciais das engrenagens. A sada das mquinas
de Pascal e de Leibniz era obtida pela observao das posies finais das
engrenagens. Babbage, por outro lado, tinha a viso de que as mquinas
poderiam imprimir os resultados das computaes em papel, de forma que
a possibilidade de erros de transcrio seria eliminada.
No que diz respeito habilidade de seguir um algoritmo, podemos ver
uma progresso na flexibilidade destas mquinas. A mquina de Pascal foi
construda para realizar apenas adies. Consequentemente, a sequncia
apropriada de passos estava embutida na estrutura da mquina propria-
mente dita. De maneira similar, a mquina de Leibniz tinha seus algoritmos
firmemente embarcados em sua arquitetura, apesar de ela oferecer uma
variedade de operaes aritmticas que poderiam ser selecionadas pelo
operador. A Mquina Diferencial de Babbage (da qual apenas um modelo
de demonstrao foi construdo) poderia ser modificada para realizar uma
variedade de clculos, mas sua Mquina Analtica (para cuja construo ele
nunca recebeu financiamento) foi projetada para ler instrues na forma de
perfuraes em cartes de papel. Logo, a Mquina Analtica de Babbage era
programvel. Na verdade, Augusta Ada Byron (Ada Lovelace), que publicou
um artigo no qual demonstrava como a Mquina Analtica de Babbage po-
deria ser programada para realizar diversas computaes, frequentemente
identificada atualmente como a primeira programadora do mundo.
A ideia de comunicar mquina um algoritmo por meio de perfura-
es em papel no foi de Babbage. Ele obteve a ideia de Joseph Jacquard
(1752-1834), que, em 1801, desenvolveu um tear no qual os passos a serem

Brookshear_00.indd 5 19/03/13 16:59


6 Cincia da Computao: Uma Viso Abrangente

A mquina diferencial de Babbage


As mquinas projetadas por Charles Babbage foram de fato as precursoras do projeto moderno de
computadores. Se a tecnologia tivesse sido capaz de produzir suas mquinas de maneira economi-
camente vivel e se as demandas de processamento de dados do comrcio e do governo estivessem
na escala dos requisitos de hoje, as ideias de Babbage poderiam ter levado a uma revoluo da
computao nos anos 1800. No entanto, apenas um modelo de demonstrao de sua Mquina Di-
ferencial foi construdo durante sua vida. Essa mquina determinava valores numricos calculando
diferenas sucessivas. Podemos obter uma noo dessa tcnica ao considerarmos o problema
de calcular os quadrados de inteiros. Comeamos com o conhecimento de que o quadrado de 0 0,
o quadrado de 1 1, o quadrado de 2 4 e o quadrado de 3 9. Com isso, podemos determinar o
quadrado de 4 da seguinte maneira (veja o diagrama a seguir). Primeiro, computamos as diferenas
dos quadrados que j sabemos: 12 02 1, 22 12 3 e 32 22 5. Ento, computamos as dife-
renas entre esses resultados: 3 1 2 e 5 3 2. Note que ambas so 2. Assumindo que essa
consistncia continua (a matemtica pode mostrar que isso verdade), conclumos que a diferena
entre o valor (42 32) e o valor (32 22) tambm deve ser 2. Logo, (42 32) deve ser 2 unidades
maior que (32 22), ento 42 32 7 e, logo, 42 32 7 16. Agora que sabemos o quadrado de
4, podemos continuar nosso procedimento de computar o quadrado de 5 baseados nos valores de
12, 22, 32 e 42. (Apesar de uma discusso mais aprofundada de diferenas sucessivas estar alm do
escopo de nosso estudo atual, estudantes de clculo podem querer observar que o exemplo ante-
rior baseado no fato de que a derivada de y x2 uma linha reta com uma inclinao 2.)

Primeira Segunda
x x2
diferena diferena

0 0
1
1 1 2
3
2 4 2
5
3 9 2
7
4 16 2
5

realizados durante o processo de tecelagem eram determinados por padres


de perfuraes em grandes cartes finos feitos de madeiras (ou de papelo).
Dessa maneira, o algoritmo seguido pelo tear poderia ser facilmente modifi-
cado para produzir diferentes desenhos de tecelagem. Outro beneficirio da
ideia de Jacquard foi Herman Hollerith (1860-1929), que aplicou o conceito
de representar informaes como perfurao em cartes de papel para ace-
lerar o processo de apurao do censo americano de 1890 (foi esse trabalho
que levou criao da IBM). Por fim, tais cartes vieram a ser conhecidos
como cartes perfurados e sobreviveram como um popular meio de comuni-
cao com computadores at os anos 1970. Na verdade, a tcnica permanece

Brookshear_00.indd 6 19/03/13 16:59


Captulo 0 Introduo 7

viva at hoje, como pde-se testemunhar pelas questes de votao levanta-


das na eleio presidencial dos EUA em 2000.
A tecnologia da poca no era suficiente para produzir as complexas
mquinas guiadas por engrenagens de Pascal, Leibniz e Babbage de uma
maneira financeiramente vivel. Contudo, com os avanos na eletrnica
no incio dos anos 1900, essa barreira foi superada. Exemplos desse pro-
gresso incluem a mquina eletromecnica de George Stibitz, finalizada em
1940 no Bell Labs, e o Mark I, finalizado em 1944 na Universidade de Har-
vard por Howard Aiken e um grupo de engenheiros da IBM (Figura 0.4).
Essas mquinas faziam forte uso de rels mecnicos controlados eletroni-
camente. Nesse sentido, elas tornaram-se obsoletas quase to logo foram
construdas, pois outros pesquisadores estavam aplicando a tecnologia de
vlvulas eletrnicas para construir computadores totalmente eletrnicos. A
primeira dessas mquinas foi a mquina Atanasoff-Berry, construda entre
1937 e 1941 na Faculdade Estadual de Iowa (atual Universidade Estadual
de Iowa) por John Atanasoff e seu assistente, Clifford Berry. Outra era uma
mquina chamada Colossus, construda sob a direo de Tommy Flowers,
na Inglaterra, para decodificar mensagens alems durante a parte final da
Segunda Guerra Mundial. (De fato, ao menos dez dessas mquinas foram
construdas, mas segredos militares e questes de segurana nacional im-
pediram que sua existncia se tornasse parte da rvore genealgica dos
computadores.) Outras mquinas mais flexveis, como o ENIAC (Electronic
Numerical Integrator And Calculator Calculador e Integrador Numrico
Eletrnico) desenvolvido por John Mauchly e J. Presper Eckert na Escola
de Engenharia Eltrica Moore, da Universidade da Pensilvnia, logo foram
sendo desenvolvidas.

Figura 0.4 O computador Mark I. (Cortesia dos arquivos da IBM. Proibido o uso sem
permisso.)

Brookshear_00.indd 7 19/03/13 16:59


8 Cincia da Computao: Uma Viso Abrangente

A partir deste ponto, a histria das mquinas de computao tem es-


tado fortemente ligada ao avano tecnolgico, incluindo a inveno dos
transistores (pela qual os fsicos William Shockley, John Bardeen e Walter
Brattain receberam um Prmio Nobel de Fsica) e o desenvolvimento subse-
quente de circuitos completos construdos como unidades nicas, chamados
de circuitos integrados (pelos quais Jack Kilby tambm recebeu um Prmio
Nobel de Fsica). Com essa evoluo, as mquinas, do tamanho de salas
nos anos 1940, foram sendo reduzidas, nas ltimas dcadas, ao tamanho de
pequenos gabinetes. Ao mesmo tempo, o poder de processamento das m-
quinas computacionais comeou a dobrar a cada dois anos (uma tendncia
que continua at hoje). medida que os trabalhos no desenvolvimento de
circuitos integrados progrediam, muitos dos circuitos dentro de um com-
putador tornaram-se prontamente disponveis no mercado, como circuitos
integrados encapsulados em blocos de plstico do tamanho de brinquedos,
chamados de chips.
Um grande passo em direo popularizao da computao foi o de-
senvolvimento de computadores de mesa (desktops). A origem dessas m-
quinas pode ser remetida aos hobistas de computadores, que construam
computadores feitos em casa a partir da combinao de chips. Foi dentro
desta atividade underground que Steve Jobs e Stephen Wozniak constru-
ram um computador caseiro comercialmente vivel, em 1976, estabele-
cendo a Apple Computer Inc. (atualmente Apple Inc.) para fabricar e co-
mercializar seus produtos. Outras empresas que comercializaram produtos
similares foram a Commodore, a Heathkit e a Radio Schack. Apesar de

Augusta Ada Byron


Augusta Ada Byron, a Condessa de Lovelace, tem sido tema de muitos comentrios na comunida-
de da computao. Ela viveu uma vida um tanto trgica, de menos de 37 anos (1815-1852), que
foi complicada por uma sade frgil e pelo fato de ser inconformada com uma sociedade que li-
mitava o papel profissional da mulher. Apesar de seu interesse por uma ampla faixa de assuntos,
ela concentrou seus estudos na matemtica. Seu interesse em cincia da computao iniciou
quando ela ficou fascinada pelas mquinas de Charles Babbage em uma demonstrao de um
prottipo de sua Mquina Diferencial em 1833. Sua contribuio cincia da computao est
principalmente em sua traduo, do francs para o ingls, de um artigo que discutia os proje-
tos de Babbage para a Mquina Analtica. Para essa traduo, Babbage a incentivou a adicionar
um adendo descrevendo aplicaes da mquina e contendo exemplos de como a mquina pode-
ria ser programada para realizar vrias tarefas. O entusiasmo de Babbage pelo trabalho de Ada
Byron era aparentemente motivado por sua esperana de que, com sua publicao, ele poderia
ter suporte financeiro para a construo de sua Mquina Analtica. (Como filha de Lord Byron,
Ada Byron mantinha status de celebridade com potenciais conexes financeiras significativas.)
Esse suporte nunca se materializou, mas o adendo de Ada Byron sobreviveu e considerado
o documento que contm os primeiros exemplos de programas de computadores. O grau com
que Babbage influenciou o trabalho de Ada Byron ainda debatido por historiadores. Alguns
argumentam que Babbage fez grandes contribuies, enquanto outros afirmam que ele foi mais
um obstculo que um auxlio. Independentemente disso, Augusta Ada Byron reconhecida hoje
como a primeira programadora do mundo, um status certificado pelo Departamento de Defesa
dos EUA, que nomeou uma linguagem de programao proeminente (Ada) em sua homenagem.

Brookshear_00.indd 8 19/03/13 16:59


Captulo 0 Introduo 9

esses produtos serem populares entre hobistas de computadores, eles no


foram amplamente aceitos pela comunidade empresarial, que continuou
recorrendo bem estabelecida IBM para a maioria de suas necessidades
computacionais.
Em 1981, a IBM apresentou seu primeiro computador de mesa, cha-
mado de computador pessoal, ou PC, cujo software subjacente havia sido
desenvolvido por uma companhia recm-formada chamada Microsoft. O
PC foi um sucesso instantneo e legitimou os computadores de mesa como
uma comodidade consolidada da comunidade empresarial. Atualmente, o
termo PC amplamente usado para se referir a todas as mquinas (de di-
versos fabricantes) cujo projeto evoluiu a partir do primeiro computador
de mesa da IBM, a maioria das quais continua a ser comercializada com
software da Microsoft. s vezes, entretanto, o termo PC usado como sin-
nimo com dois termos genricos: computador de mesa e laptop.
medida que o sculo XX terminava, a habilidade de conectar indi-
vduos em um sistema de amplitude mundial chamado de Internet esta-
va revolucionando a comunicao. Nesse contexto, Tim Berners-Lee (um
cientista britnico) props um sistema pelo qual documentos armazena-
dos em computadores ao longo da Internet podiam ser unidos, produzindo
um emaranhado de informaes conectadas chamado de World Wide Web
(frequentemente abreviado para Web). Para tornar a informao na Web
acessvel, sistemas de software, chamados de motores de busca, foram de-
senvolvidos para peneirar a Web, categorizar seus achados e, ento, usar
os resultados para auxiliar os usurios que estejam pesquisando por tpicos
em particular. As grandes empresas nessa rea so a Google, a Yahoo! e a
Microsoft. Essas companhias continuam expandindo suas atividades rela-
cionadas Web, frequentemente em direes que desafiam nossa maneira
tradicional de pensar.
Enquanto os computadores de mesa (e os novos computadores laptops
mveis) vinham sendo aceitos e usados em casas, a miniaturizao das m-

Google
Fundada em 1998, a Google Inc. tornou-se uma das companhias de tecnologias mais
reconhecidas do mundo. Seu principal servio, o motor de buscas Google, usado por milhes
de pessoas para encontrar documentos na World Wide Web. Alm disso, a Google fornece servi-
os de correio eletrnico (Gmail), um servio de compartilhamentos de vdeo na Internet (You-
Tube) e diversos outros servios na Internet (incluindo Google Maps, Google Calendar, Google
Earth, Google Books e Google Translate).
Contudo, alm de ser um excelente exemplo de esprito empreendedor, a Google tambm
fornece exemplos de como a expanso da tecnologia est desafiando a sociedade. Por exemplo,
o motor de buscas da Google tem levantado questes relacionadas a at que ponto uma compa-
nhia internacional deve estar de acordo com os desejos de governos individuais; o YouTube tem
levantado questes relacionadas a at que ponto uma companhia deve ser responsvel por in-
formaes que outros distribuem por meio de seu servio, bem como ao direito que a companhia
teria de reivindicar a propriedade de tal informao; o Google Books tem gerado questionamen-
tos relacionados ao escopo e s limitaes dos direitos de propriedade intelectual; e o Google
Maps tem sido acusado de violar direitos de privacidade.

Brookshear_00.indd 9 19/03/13 16:59


10 Cincia da Computao: Uma Viso Abrangente

quinas de computao continuou. Atualmente, computadores minsculos


so embarcados dentro de vrios dispositivos. Por exemplo, automveis ago-
ra contm pequenos computadores executando Sistemas de Posicionamento
Global (GPS), monitorando o funcionamento do motor e fornecendo servi-
os de comando de voz para controlar o udio e os sistemas de comunicao
telefnica do carro.
Talvez a aplicao potencialmente mais revolucionria da miniaturi-
zao dos computadores possa ser encontrada na contnua expanso da ca-
pacidade dos telefones celulares. De fato, o que h pouco era meramente
um telefone evoluiu para um pequeno computador de propsito geral que
cabe na palma da mo, conhecido como smartphone, no qual a telefonia
apenas uma de muitas aplicaes. Esses telefones so equipados com um
amplo conjunto de sensores e interfaces, incluindo cmeras, microfones,
bssolas, telas sensveis ao toque, acelermetros (para detectar a orientao
do telefone e seu movimento) e diversas tecnologias sem fio para se comu-
nicarem com outros smartphones e computadores. O potencial enorme.
Na verdade, muitos argumentam que o smartphone ter um efeito maior na
sociedade que o PC.
A miniaturizao dos computadores e sua capacidade cada vez maior
tm trazido a tecnologia computacional frente da sociedade moderna. A
tecnologia computacional to predominante agora que a familiaridade
com ela fundamental para ser um membro da sociedade moderna. A tec-
nologia computacional tem alterado a habilidade dos governos de exercer
controle; tem um impacto enorme na economia global; levou a surpreen-
dentes avanos na pesquisa cientfica; revolucionou o papel da coleo e
do armazenamento de dados, bem como de aplicaes que os tratam; for-
neceu novos meios para as pessoas se comunicarem e interagirem entre
si; e tem repetidamente desafiado o status quo da sociedade. O resultado
uma proliferao de assuntos envolvendo cincia da computao, cada
um dos quais uma rea significativa de estudo por si s. Alm disso, assim
como com a engenharia mecnica e a fsica, frequentemente difcil tra-
ar uma linha que separe essas reas e a cincia da computao propria-
mente dita. Logo, para obter uma perspectiva apropriada, nosso estudo
no apenas cobrir tpicos centrais ao ncleo da cincia da computao,
mas tambm explorar uma variedade de disciplinas que tratam tanto de
aplicaes quanto de consequncias da cincia. Na verdade, uma introdu-
o cincia da computao uma tarefa interdisciplinar.

0.3 A cincia dos algoritmos


Condies como capacidade limitada de armazenamento de dados e proce-
dimentos complexos de programao, que consumiam muito tempo, res-
tringiam a complexidade dos algoritmos utilizados nas primeiras mquinas
computacionais. Entretanto, medida que essas limitaes comearam a
desaparecer, as mquinas passaram a ser utilizadas em tarefas cada vez
maiores e mais complexas. medida que tentativas de expressar a composi-
o dessas tarefas em um formato algortmico comearam a sobrecarregar a
mente humana, mais e mais esforos de pesquisa foram direcionados para o
estudo de algoritmos e o processo de programao.

Brookshear_00.indd 10 19/03/13 16:59


Captulo 0 Introduo 11

Foi nesse contexto que o trabalho terico dos matemticos comeou a


dar frutos. Como consequncia do teorema da incompletude de Gdel, os
matemticos j estavam investigando questes relacionadas a processos al-
gortmicos, que os avanos tecnolgicos estavam agora evidenciando. Com
isso, o palco estava montado para o surgimento de uma nova disciplina co-
nhecida como cincia da computao.
Atualmente, a cincia da computao estabeleceu-se como a cincia
dos algoritmos. O escopo dessa cincia amplo, oriundo de assuntos to
diversos quanto matemtica, engenharia, psicologia, biologia, administrao
de empresas e lingustica. Na verdade, pesquisadores em diferentes ramos
da cincia da computao podem ter definies muito distintas da cincia.
Por exemplo, um pesquisador na rea de arquitetura de computadores pode
priorizar a tarefa de miniaturizao de circuitos e, logo, ver a cincia da
computao como avano e aplicao da tecnologia. Contudo, um pesquisa-
dor na rea de sistemas de bancos de dados pode ver a cincia da computa-
o como a busca de maneiras para tornar os sistemas de informao mais
teis. E um pesquisador na rea de inteligncia artificial pode considerar a
cincia da computao como o estudo da inteligncia e do comportamento
inteligente.
Logo, uma introduo cincia da computao deve incluir uma va-
riedade de tpicos, que uma tarefa que perseguiremos nos captulos se-
guintes. Em cada caso, nosso objetivo ser introduzir as ideias centrais do
assunto, os tpicos de pesquisa atuais e algumas das tcnicas que esto
sendo aplicadas para desenvolver o conhecimento na rea. Com tal varie-
dade de tpicos, fcil perder a noo do quadro geral. Logo, vamos reunir
nossas ideias identificando algumas questes que fornecem um foco para
seu estudo.
Que problemas podem ser solucionados por processos algortmicos?
Como tornar mais fcil a descoberta de algoritmos?
Como as tcnicas de representao e de comunicao de algoritmos
podem ser melhoradas?
Como as caractersticas de diferentes algoritmos podem ser analisadas
e comparadas?
Como algoritmos podem ser usados para manipular informaes?
Como algoritmos podem ser aplicados para produzir comportamento
inteligente?
Como a aplicao de algoritmos afeta a sociedade?
Note que o tema comum a todas essas questes o estudo de algoritmos
(Figura 0.5).

0.4 Abstrao
O conceito de abstrao permeia de tal maneira o estudo de cincia da com-
putao e o projeto de sistemas computacionais que nos convm abord-lo
neste captulo preliminar. O termo abstrao, como usamos aqui, refere-se
distino entra as propriedades externas de uma entidade e os detalhes
da composio interna da entidade. a abstrao que nos permite ignorar

Brookshear_00.indd 11 19/03/13 16:59


12 Cincia da Computao: Uma Viso Abrangente

Limitaes de

Aplicao de Execuo de

Algoritmos
Anlise de Comunicao de

Descoberta de Representao de

Figura 0.5 O papel central dos algoritmos em cincia da computao.

os detalhes internos de um dispositivo complexo, como um computador,


um automvel ou um forno de micro-ondas, e us-lo como uma unidade
nica, compreensvel. Alm disso, por meio da abstrao que tais sistemas
complexos so projetados e fabricados. Computadores, automveis e fornos
de micro-ondas so construdos a partir de componentes, que, por sua vez,
so construdos a partir de componentes menores. Cada componente re-
presenta um nvel de abstrao no qual o uso do componente isolado dos
detalhes da composio interna do componente.
aplicando abstrao, ento, que somos capazes de construir, de ana-
lisar e de gerenciar sistemas computacionais grandes e complexos, que nos
confundiriam se fossem vistos em sua totalidade em um nvel detalhado.
A cada nvel de abstrao, vemos o sistema em termos de componentes,
chamados de ferramentas abstratas, cuja composio interna ignoramos.
Isso permite nos concentrarmos em como cada componente interage com
outros em um mesmo nvel e em como o conjunto, como um todo, forma
um componente de nvel mais alto. Logo, somos capazes de compreender a
parte do sistema que relevante para a tarefa desejada em vez de nos per-
dermos em um mar de detalhes.
Enfatizamos que a abstrao no limitada cincia e tecnolo-
gia. Ela uma tcnica de simplificao importante a partir da qual nossa
sociedade criou um estilo de vida que seria, de outra forma, impossvel.
Poucos de ns entendem como as vrias convenincias de nossa vida di-
ria so de fato implementadas. Comemos comidas e vestimos roupas que
no podemos produzir por ns mesmos. Usamos dispositivos eltricos e
sistemas de comunicao sem entendermos a tecnologia subjacente. Usa-
mos os servios de outros sem conhecermos os detalhes de suas profis-
ses. Com cada novo avano, uma pequena parte da sociedade escolhe
especializar-se em sua implementao, enquanto o resto de ns aprende a
usar os resultados como ferramentas abstratas. Dessa maneira, o portflio
de ferramentas abstratas da sociedade se expande, e a habilidade da socie-
dade de progredir aumenta.

Brookshear_00.indd 12 19/03/13 16:59


Captulo 0 Introduo 13

A abstrao um tema recorrente em nosso estudo. Aprenderemos que


os equipamentos computacionais so construdos em nveis de ferramentas
abstratas. Tambm veremos que o desenvolvimento de grandes sistemas de
software realizado de uma maneira modular, na qual cada mdulo usado
como uma ferramenta abstrata em mdulos maiores. Alm disso, a abstra-
o desempenha um papel importante no avano da cincia da computao
propriamente dita, permitindo aos pesquisadores focarem sua ateno em
reas particulares dentro de uma rea complexa. Cada captulo, que trata
de uma rea em particular dentro da cincia, muitas vezes surpreenden-
temente independente dos outros; no entanto, juntos, os captulos formam
uma viso abrangente de um amplo campo de estudo.

0.5 Um esboo de nosso estudo


Este texto segue uma abordagem ascendente para o estudo de cincia da
computao, iniciando com tpicos prticos, como hardware de computa-
dores, e indo em direo a tpicos abstratos, como complexidade de algorit-
mos e computabilidade. O resultado que nosso estudo segue um padro
de construo de ferramentas de abstrao cada vez maiores, medida que
nosso entendimento do assunto se expande.
Iniciamos considerando tpicos que tratam do projeto e da construo
de mquinas para executar algoritmos. No Captulo 1 (Armazenamento de
Dados), vemos como a informao codificada e armazenada em compu-
tadores modernos e, no Captulo 2 (Manipulao de Dados), investigamos
a operao interna bsica de um computador simples. Apesar de parte des-
se estudo envolver tecnologia, o tema geral independente de tecnologia.
Ou seja, tpicos como projeto de circuitos digitais, codificao de dados e
sistemas de compresso e arquitetura de computadores so relevantes em
uma ampla faixa tecnolgica e prometem continuar relevantes independen-
temente da direo que ir seguir a tecnologia futura.
No Captulo 3 (Sistemas Operacionais), estudamos o sistema de soft-
ware que controla a operao geral de um computador. Esse sistema cha-
mado de sistema operacional. o sistema operacional de um computador
que controla a interface entre a mquina e seu mundo externo, protegendo
a mquina e seus dados armazenados de acesso no autorizado, permitindo
que um usurio de computador requeira a execuo de vrios programas e
coordenando as atividades internas necessrias para satisfazer s requisi-
es do usurio.
No Captulo 4 (Redes de Computadores e a Internet), estudamos como
os computadores so conectados uns aos outros para formar redes de com-
putadores e como as redes de computadores so conectados para formar
inter-redes. Este estudo leva a tpicos como protocolos de redes de compu-
tadores, a estrutura da Internet e sua operao interna, a World Wide Web e
inmeras questes de segurana.
O Captulo 5 (Algoritmos) introduz o estudo de algoritmos a partir de
uma perspectiva mais formal. Investigamos como os algoritmos so desco-
bertos, identificamos diversas estruturas algortmicas fundamentais, desen-
volvemos tcnicas elementares para representar algoritmos e introduzimos
os temas eficincia e correo de algoritmos.

Brookshear_00.indd 13 19/03/13 16:59


14 Cincia da Computao: Uma Viso Abrangente

No Captulo 6 (Linguagens de Programao), consideramos o assunto


de representao de algoritmos e o processo de desenvolvimento de progra-
mas. Aqui, descobrimos que a busca por melhores tcnicas de programao
tem levado a uma variedade de metodologias ou paradigmas de programa-
o, cada uma com seu prprio conjunto de linguagens de programao.
Investigamos esses paradigmas e linguagens, bem como consideramos ques-
tes de gramticas e de traduo de linguagens.
O Captulo 7 (Engenharia de Software) introduz o ramo da cincia da
computao conhecido como engenharia de software, que trata dos proble-
mas encontrados quando desenvolvemos grandes sistemas de software. O
tema subjacente que o projeto de grandes sistemas de software uma
tarefa complexa que abrange problemas alm daqueles da engenharia tra-
dicional. Logo, a engenharia de software tornou-se um campo de pesquisa
importante dentro da cincia da computao, extraindo conhecimento de
reas to diversas quanto engenharia, gerncia de projetos, gerenciamento
de pessoal, projeto de linguagens de programao e mesmo arquitetura.
Nos dois prximos captulos, vemos maneiras como podemos organi-
zar dados dentro de um sistema de computao. No Captulo 8 (Abstraes
de Dados), introduzimos tcnicas tradicionalmente usadas para organizar
dados na memria principal de um computador e, ento, acompanhamos
a evoluo das abstraes de dados a partir do conceito de primitivas at
as tcnicas orientadas a objetos de hoje. No Captulo 9 (Sistemas de Bancos
de Dados), consideramos mtodos tradicionalmente usados para organizar
dados no sistema de armazenamento em massa de um computador e inves-
tigamos como sistemas de bancos de dados extremamente grandes e com-
plexos so implementados.
No Captulo 10 (Computao Grfica), exploramos o assunto de grfi-
cos e animao, um campo que lida com a criao e a fotografia de mundos
virtuais. Baseada nos avanos de reas mais tradicionais da cincia da com-
putao, como arquitetura de mquinas, projeto de algoritmos, estruturas de
dados e engenharia de software, a disciplina de computao grfica e anima-
o tem visto significativo progresso e agora floresceu em um assunto emo-
cionante e dinmico. Alm disso, a rea exemplifica como os diversos com-
ponentes da cincia da computao so combinados com outras disciplinas
como fsica, arte e fotografia para produzir resultados surpreendentes.
No Captulo 11 (Inteligncia Artificial), aprendemos que, para desen-
volver mquinas mais teis, a cincia da computao voltou-se ao estudo
da inteligncia humana para a liderana. A esperana que por meio do
entendimento de como nossas mentes raciocinam e percebem, os pesquisa-
dores sejam capazes de projetar algoritmos que mimetizam esses processos
e, logo, possam transferir essas capacidades para as mquinas. O resultado
a rea da cincia da computao conhecida como inteligncia artificial,
que se baseia fortemente na pesquisa em reas como psicologia, biologia e
lingustica.
Fechamos nosso estudo com o Captulo 12 (Teoria da Computao),
investigando as bases tericas da cincia da computao um assunto que
nos permite entender as limitaes dos algoritmos (e, logo, das mqui-
nas). Aqui, identificamos alguns problemas que no podem ser resolvidos
algoritmicamente (e, assim, esto alm das capacidades das mquinas),

Brookshear_00.indd 14 19/03/13 16:59


Captulo 0 Introduo 15

bem como aprendemos que as solues para muitos outros problemas


requerem um tempo ou um espao to grandes que eles tambm so in-
solveis do ponto de vista prtico. Dessa forma, por meio desse estudo
que somos capazes de compreender o escopo e as limitaes dos sistemas
algortmicos.
Em cada captulo, nosso objetivo explorar at uma profundidade que
nos leve a um entendimento real do assunto. Queremos desenvolver um
conhecimento funcional de cincia da computao; um conhecimento que
permitir entender a sociedade tcnica na qual voc vive e fornecer uma
base a partir da qual voc possa aprender por conta prpria medida que a
cincia e a tecnologia avanam.

0.6 Repercusses sociais


O avano na cincia da computao est obscurecendo muitas das dis-
tines nas quais nossa sociedade baseou-se para a tomada de decises
no passado e vem desafiando muitos dos princpios de longa data dessa
sociedade. Na legislao, ela gera questes relacionadas ao grau pelo qual
a propriedade intelectual pode ser garantida e aos direitos e s responsabi-
lidades que acompanham essa propriedade. Na tica, ela gera numerosas
opes que desafiam os princpios tradicionais nos quais o comportamen-
to social baseado. No governo, gera debates relacionados a quanto a
tecnologia computacional e suas aplicaes devem ser reguladas. Na filo-
sofia, gera controvrsias entre a presena de comportamento inteligente
e a presena da inteligncia propriamente dita. E, na sociedade, ela gera
disputas que dizem respeito a se as novas aplicaes trazem novas liber-
dades ou novos controles.
Apesar de no serem parte da cincia da computao propriamente
dita, tais tpicos so importantes para os que contemplam uma carreira na
computao ou em reas relacionadas. Revelaes dentro da cincia algu-
mas vezes encontram aplicaes controversas, causando srios desconten-
tamentos para os pesquisadores envolvidos. Alm disso, uma carreira bem-
-sucedida pode rapidamente descarrilar por um descuido tico.
A habilidade de lidar com os dilemas impostos pelo avano da tecno-
logia computacional tambm importante para aqueles que esto fora de
seu domnio direto. De fato, a tecnologia est se infiltrando to rapidamente
na sociedade que poucos so, se que algum o , independentes de seus
efeitos.
Este texto fornece a experincia tcnica necessria para abordar o dile-
ma gerado pela cincia da computao de uma maneira racional. Entretan-
to, o conhecimento tcnico da cincia, por si s, no fornece solues para
todas as questes envolvidas. Com isso em mente, este texto inclui diver-
sas sees voltadas a questes sociais, ticas e legais. Tais questes incluem
preocupaes de segurana, questes de propriedade e responsabilidade de
software, impacto social da tecnologia de bancos de dados e consequncias
dos avanos em inteligncia artificial.
Alm disso, frequentemente no h uma resposta correta definitiva
para um problema, e muitas solues vlidas so concesses entre vises
opostas (e talvez igualmente vlidas). Encontrar solues nesses casos mui-

Brookshear_00.indd 15 19/03/13 16:59


16 Cincia da Computao: Uma Viso Abrangente

tas vezes requer a habilidade de escutar, de reconhecer outros pontos de vis-


ta, de conduzir um debate racional e de mudar sua prpria opinio medida
que novas percepes so obtidas. Logo, cada captulo deste texto termina
com um conjunto de questes sob o ttulo Questes Sociais, que investiga o
relacionamento entre a cincia da computao e a sociedade. Essas no so
questes que necessariamente devam ser respondidas. Em vez disso, so
questes a serem consideradas. Em muitos casos, uma resposta que pode
parecer bvia primeira vista deixar de satisfaz-lo medida que voc
explorar alternativas. Em resumo, o propsito dessas questes no levar
voc a uma resposta correta, mas sim aumentar sua cincia em relao aos
vrios envolvidos em uma determinada questo, em relao a alternativas
e em relao s consequncias dessas alternativas, tanto a curto quanto a
longo prazo.
Fechamos esta seo introduzindo algumas das abordagens tica que
tm sido propostas por filsofos em sua busca por teorias fundamentais que
levem a princpios para guiar decises e comportamento. A maioria dessas
teorias pode ser classificada como tica baseada em consequncias, tica
baseada em deveres, tica baseada em contrato e tica baseada em carter.
Voc pode querer usar essas teorias como uma forma de abordar as questes
ticas apresentadas no texto. Em particular, voc pode perceber que dife-
rentes teorias levam a concluses contrastantes e, logo, expem alternativas
ocultas.
A tica baseada em consequncias tenta analisar questes baseadas
nas consequncias das vrias opes. Um exemplo proeminente o utilita-
rismo que prope que a deciso ou ao correta aquela que leva ao bem
maior para a maior poro da sociedade. primeira vista, o utilitarismo pa-
rece ser uma maneira justa de resolver dilemas ticos. No entanto, em sua
forma no qualificada, o utilitarismo leva a numerosas concluses inacei-
tveis. Por exemplo, ele permitiria que a maioria da sociedade escravizasse
uma pequena minoria. Alm disso, muitos argumentam que as abordagens
baseadas em consequncias para teorias ticas, as quais inerentemente en-
fatizam consequncias, tendem a ver o humano meramente como um meio
para um fim, ao invs de como um indivduo que vale a pena. Isso, eles
continuam, constitui uma falha fundamental em todas as ticas baseadas
em consequncia.
Em contraste com a tica baseada em consequncias, a tica baseada
em deveres no considera as consequncias das decises e das aes, mas
prope que membros de uma sociedade possuem certos deveres ou obriga-
es intrnsecos, os quais, por sua vez, formam a base sobre as quais ques-
tes ticas devem ser resolvidas. Por exemplo, se algum aceita a obrigao
de respeitar os direitos dos outros, ento deve rejeitar a escravido indepen-
dentemente de suas consequncias. Por outro lado, os oponentes da tica
baseada em deveres argumentam que ela falha em fornecer solues para
problemas envolvendo deveres conflitantes. Voc deve dizer a verdade mes-
mo que isso destrua a confiana de um colega? Uma nao deve se defender
em guerra mesmo que as batalhas subsequentes levem morte de muitos
de seus cidados?
A teoria da tica baseada em contratos inicia imaginando uma socie-
dade sem nenhuma base tica. Nessa configurao de estado da natureza,

Brookshear_00.indd 16 19/03/13 16:59


Captulo 0 Introduo 17

vale tudo uma situao na qual os indivduos devem cuidar de si mesmos


e constantemente estar em guarda contra a agresso de outros. Sob essas
circunstncias, a tica baseada em contratos teoricamente prope que os
membros da sociedade desenvolveriam contratos entre eles. Por exemplo,
eu no roubarei de voc se voc no roubar de mim. Por sua vez, esses con-
tratos se tornariam a base para determinar comportamento tico. Note que
a tica baseada em contratos fornece uma motivao para o comportamento
tico devemos obedecer o contrato de tica porque estaramos, de outra
forma, vivendo uma vida com desprazer. Entretanto, os oponentes da tica
baseada em contratos argumentam que ela no fornece uma base ampla o
suficiente para resolver dilemas ticos, j que ela fornece guias apenas nos
casos em que contratos tenham sido estabelecidos. (Posso me comportar da
maneira que eu quiser em situaes no cobertas por um contrato.) Em par-
ticular, novas tecnologias podem apresentar territrios inexplorados para os
quais os contratos ticos existentes podem no se aplicar.
A tica baseada em carter (algumas vezes chamada de tica das vir-
tudes), promovida por Plato e Aristteles, argumenta que o bom compor-
tamento no o resultado de aplicar regras identificveis, mas, ao invs
disso, uma consequncia natural de ter bom carter. Enquanto a tica
baseada em consequncias, a tica baseada em deveres e a tica baseada
em contratos propem que uma pessoa resolva um dilema tico pergun-
tando: Quais so as consequncias?; Quais so meus deveres?; ou Que
contratos tenho?, a tica baseada em carter prope que os dilemas sejam
resolvidos perguntando-se: Quem eu quero ser?. Logo, o bom comporta-
mento obtido por meio da construo do bom carter, o que tipicamente
o resultado de uma boa criao e do desenvolvimento de hbitos virtuosos.
a tica baseada em carter que subjaz a abordagem normalmente
usada quando se ensina tica para profissionais em diferentes reas. Ao
invs de apresentar teorias ticas especficas, a abordagem introduz estu-
dos de caso que expem uma variedade de questes ticas da rea de atua-
o dos profissionais. Ento, ao discutir os prs e contras nesses casos, eles
tornam-se mais cientes, perspicazes e sensveis aos perigos que espreitam
suas vidas profissionais e, ento, crescem em carter. Esse o esprito no
qual as perguntas relacionadas s questes sociais no fim de cada captulo
so apresentadas.

Questes sociais
As questes a seguir pretendem servir como um guia para os dilemas ticos, sociais
e legais associados rea da computao. O objetivo no meramente responder
a estas questes. Voc deve tambm considerar por que as respondeu de uma de-
terminada forma e se suas justificativas mantm a consistncia de uma questo
para outra.
1. Em geral, aceita-se a premissa de que nossa sociedade diferente daquilo que
teria sido sem a revoluo computacional. Nossa sociedade melhor do que ela
seria se no tivesse ocorrido tal revoluo? pior? Sua resposta seria diferente
se sua posio dentro da sociedade fosse diferente?

Brookshear_00.indd 17 19/03/13 16:59


18 Cincia da Computao: Uma Viso Abrangente

2. aceitvel participar da sociedade tcnica atual sem fazer um esforo para


entender o bsico dessa tecnologia? Por exemplo, os membros de uma democra-
cia, cujos votos frequentemente determinam como a tecnologia ser conduzida
e utilizada, tm a obrigao de tentar entender essa tecnologia? Sua resposta
depende de qual tecnologia est sendo considerada? Por exemplo, sua resposta
a mesma quando consideramos a tecnologia nuclear e quando consideramos
a tecnologia computacional?
3. Ao utilizar dinheiro vivo em transaes financeiras, os indivduos tradicional-
mente tm a opo de gerenciar suas questes financeiras sem taxas de servio.
Contudo, medida que nossa economia torna-se automatizada, as instituies
financeiras implementam taxas de servio para o acesso a esses sistemas au-
tomatizados. Existe um ponto no qual essas taxas restringem injustamente o
acesso de um indivduo economia? Por exemplo, suponha que um emprega-
dor pague os empregados apenas por meio de cheques, e todas as instituies
financeiras colocassem uma taxa de servio sobre o desconto ou o depsito de
cheques. Os empregados estariam sendo tratados injustamente? E se um em-
pregado insistisse em ser pago apenas por meio de depsitos diretos?
4. No contexto da televiso interativa, at que ponto uma companhia pode obter
informaes sobre crianas (talvez por meio de um formato de jogo interativo)?
Por exemplo, deveria ser permitido a uma companhia obter um relatrio dos
padres de gastos dos pais em relao a uma criana? E informaes sobre a
criana?
5. At que ponto um governo pode regular a tecnologia computacional e suas apli-
caes? Considere, por exemplo, os problemas levantados pelas Questes 3 e 4.
O que justifica a regulamentao governamental?
6. At que ponto nossas decises relacionadas tecnologia de uma forma geral e
tecnologia computacional em particular afetaro as geraes futuras?
7. medida que a tecnologia avana, nosso sistema educacional constante-
mente desafiado a reconsiderar o nvel de abstrao usado para apresentar
diferentes tpicos. Muitas questes esto relacionadas a se uma habilidade ain-
da necessria ou se deveria ser permitido aos estudantes dependerem de
uma ferramenta abstrata. No se ensina mais a estudantes de trigonometria
como encontrar os valores trigonomtricos usando tabelas. Ao invs disso, eles
usam calculadoras como ferramentas abstratas para encontrar esses valores.
Alguns argumentam que as divises longas tambm deveriam dar vez para a
abstrao. Que outros assuntos esto envolvidos em controvrsias similares?
Os processadores de texto modernos eliminam a necessidade de desenvolver
habilidades de ortografia? As tecnologias de vdeo algum dia eliminaro a ne-
cessidade de ler?
8. O conceito de bibliotecas pblicas amplamente baseado na premissa de
que todos os cidados em uma democracia devem ter acesso informao.
medida que mais informaes so armazenadas e disseminadas utilizando-se
a tecnologia de computadores, o acesso a essa tecnologia torna-se tambm um
direito de cada indivduo? Se esse for o caso, as bibliotecas pblicas deveriam
ser o canal pelo qual esse acesso fornecido?
9. Que questes ticas surgem em uma sociedade que se baseia no uso de ferra-
mentas abstratas? Existem casos nos quais no tico usar um produto ou um
servio sem entender como ele funciona? Sem saber como ele produzido? Ou
sem entender os subprodutos de seu uso?

Brookshear_00.indd 18 19/03/13 16:59


Captulo 0 Introduo 19

10. medida que nossa sociedade se torna mais automatizada, torna-se mais fcil
para os governos monitorarem as atividades de seus cidados. Isso bom ou
ruim?
11. Que tecnologias imaginadas por George Orwell (Eric Blair) em seu romance 1984
tornaram-se realidade? Elas esto sendo usadas da maneira como Orwell previu?
12. Se voc tivesse uma mquina do tempo, em que perodo da Histria gostaria de
viver? Quais tecnologias atuais voc gostaria de levar com voc? Essas tecnolo-
gias poderiam ser levadas sem que outras tambm fossem? At que ponto uma
tecnologia pode ser separada de outra? consistente protestar contra o aqueci-
mento global, mas ainda assim aceitar um tratamento mdico moderno?
13. Suponha que seu trabalho requeira que voc se insira em outra cultura. Voc de-
veria continuar a considerar a tica de sua cultura nativa ou adotar a tica de sua
cultura hospedeira? Sua resposta depende da existncia de questes de vesturio
ou de direitos humanos? Que padres ticos devem prevalecer se voc continuar
em sua cultura nativa, mas conduzir negcios com uma cultura estrangeira?
14. A sociedade tornou-se dependente demais de aplicaes computacionais para o
comrcio, as comunicaes ou as interaes sociais? Por exemplo, quais seriam
as consequncias de uma interrupo de longo prazo na Internet e/ou nos ser-
vios de telefonia celular?
15. A maioria dos smartphones capaz de identificar a localizao do telefone por
meio de GPS. Isso permite que aplicaes forneam informaes especficas
(como notcias locais, previses de tempo ou a presena de negcios nas ime-
diaes) baseadas na localizao atual do telefone. No entanto, tais capacidades
de GPS tambm podem permitir que outras aplicaes forneam a localizao
do telefone para terceiros. Isso bom? Como se poderia abusar do conhecimen-
to da localizao do telefone (e, logo, da localizao de seu usurio)?
16. Com base em suas respostas iniciais s questes anteriormente levantadas, qual
teoria tica apresentada na Seo 0.6 voc pretende adotar?

Leitura adicional
Goldstine, J. J. The Computer from Pascal to von Neumann. Princeton: Princeton University
Press, 1972.
Kizza, J. M. Ethical and Social Issues in the Information Age, 3rd ed. London: Springer-Verlag,
2007.
Mollenhoff, C. R. Atanasoff: Forgotten Father of the Computer. Ames: Iowa State University Press,
1988.
Neumann, P. G. Computer Related Risks. Boston, MA: Addison-Wesley, 1995.
Ni, L. Smart Phone and Next Generation Mobile Computing. San Francisco: Morgan Kaufmann,
2006.
Quinn, M. J. Ethics for the Information Age, 2nd ed. Boston, MA: Addison-Wesley, 2006.
Randell, B. The Origins of Digital Computers, 3rd ed. New York: Springer-Verlag, 1982.
Spinello, R. A. and H. T. Tavani. Readings in CyberEthics, 2nd ed. Sudbury, MA: Jones and
Bartlett, 2004.
Swade, D. The Difference Engine. New York: Viking, 2000.
Tavani, H. T. Ethics and Technology: Ethical Issues in an Age of Information and Communication
Technology, 3rd ed. New York: Wiley, 2011.
Woolley, B. The Bride of Science, Romance, Reason, and Byrons Daughter. New York: McGraw-
Hill, 1999.

Brookshear_00.indd 19 19/03/13 16:59

You might also like