Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
ACM Lost171
1. Áreas de Ciências da Computação
Domênico Medeiros Travália, Ícaro da Silva Tôrres, João Geraldo de Santana Oliveira,
Jonathas Santos da Silva.
UFS – Universidade Federal de Sergipe
Cidade Universitária “Prof. José Aloísio Campos”, Avenida Marechal Rondon, Jardim Rosa Elze
São Cristóvão – SE – Brasil
557921056600
dm.travalia@hotmail.com, strukus__@hotmail.com, joaogeraldosb@gmail.com,
jhon07hp@hotmail.com.
ABSTRACT Ciência da Computação, suas definições e atuações.
In this research we’ll shortly approach the Computer Science Finalizaremos com uma conclusão sobre as Áreas e Temas, e
Areas, some important subjects of each area, basic applications teremos Previsões para o Futuro dessas Áreas.
and use of these, concepts, information about after-graduation
areas and which the main purposes of each one, and the ranking Categories and Subject Descriptors
of the best courses of computation in Brazil (Based in INFO B. Hardware; D. Software; F. Theory of Computation; G.
Magazine). We’ll approach subjects related with the Mathematics of Computing; H. Information Systems; I.3
Computation Theory as: Computability and Models of [COMPUTER GRAPHICS].
Computation, Formal Languages and Automatons, Analysis of
Algorithms and Computational Complexity, and also Logical Termos Gerais
and Program Semantics. We’ll also have the Mathematics of Algoritmos, Teoria.
Computation, with Symbolic Mathematics and Analytical
Models, and Models of Simulation. We’ll talk about
Methodology and Techniques of the Computation, treating to
Palavras-chave
Ciência da Computação, Áreas, Graduação, Pós-Graduação.
the sub-areas: Programming languages, Software Engineering,
Data base, Information Systems and Graphics. In Computer
systems, the subjects: Hardware, Computer Systems 1. INTRODUÇÃO
Architecture, Software and Telematics. We will speak about As diversas Áreas da Ciência da Computação de hoje em dia,
some after-graduations in the Computer Science Areas, their existem e colaboram com o homem em inúmeras atividades. O
definitions and performances. And will finish with a conclusion homem passou a ter necessidade de computar a imensa
about the Areas and Subjects, and will have our Forecasts for the quantidade de informações que criadas por ele, transmiti-las para
Future of these Areas. diferentes áreas do mundo com velocidade e segurança,
gerencia-las, armazenar essas informações e dados
RESUMO sistematicamente e organizadamente, consultar esses dados e
Nesta pesquisa abordaremos resumidamente as Áreas da Ciência informações e adicionar outros novos quando preciso, resolver
da Computação, alguns temas importantes de cada área, problemas complexos e de diversos tipos e ciências diferentes
aplicações e uso dessas, conceitos básicos, informações sobre rapidamente. A partir dessas necessidades, com o passar do
áreas de pós-graduação e quais as principais finalidades de cada tempo, o homem foi criando ferramentas e desenvolvendo áreas
uma dessas áreas, e o ranking dos melhores cursos de de estudos sobre essas, para tornar viável e/ou facilitar várias
computação no Brasil (Baseado na Revista INFO). tarefas. Surge assim a Ciência da Computação e algumas várias
áreas. Outras surgem para resolver problemas de áreas já
Abordaremos temas relacionados com a Teoria da Computação existentes, interligar áreas que não se cruzavam ou adicionar
como: Computabilidade e Modelos de Computação, Linguagens conhecimentos de ciências antes por fora da computação. Sendo
Formais e Autômatos, Análise de Algoritmos e Complexidade de assim, essas Áreas da Ciência da Computação, que apareceram
Computação, e também Lógica e Semântica de Programas. ao longo dos anos, serão objeto do nosso estudo. Dentro da
Teremos também a Matemática da Computação, abrangendo Seção 2. iremos abordar as Áreas de Ciências da Computação,
Matemática Simbólica e Modelos Analíticos, e Modelos de discernindo sobre as áreas: Teoria da Computação, na Subseção
Simulação. Falaremos de Metodologia e Técnicas da 2.1, incluindo os assuntos: Computabilidade e Modelos de
Computação, tratando das subáreas: Linguagens de Computação, Linguagens Formais e Autômatos e mais Lógica e
Programação, Engenharia de Softwares, Banco de Dados, Semântica de Programas, Matemática da Computação, que será
Sistemas de Informação e o Processamento Gráfico (Graphics). exposta na Subseção 2.2, e dentro dessa falaremos a respeito de:
Em Sistemas de Computação, os temas: Hardwares, Arquiteturas Matemática Simbólica, Modelos Analíticos e Modelos de
de Sistemas de Computação, Software Básico e Teleinformática. Simulação, na Subseção 2.3 entraremos no tema Metodologia e
Falaremos a respeito de algumas pós-graduações nas Áreas de Técnicas da Computação, falando um pouco de Linguagens de
Programação, Engenharia de Softwares, Banco de Dados,
Sistemas de Informação e ainda Processamento Gráfico
Este documento é de propriedade intelectual dos seus autores, não podendo ser
copiado, fotocopiado, distribuído ou usado para qualquer outro fim que não (Graphics), Sistemas de Computação, na Subseção 2.4, com os
educacional. Não deve ser produzido ou distribuído com fins lucrativos ou seguintes assuntos: Hardwares, Arquiteturas de Sistemas de
vantagem comercial. Usá-lo apenas como fim educacional e de pesquisa, dentro do Computação, Software Básico e a Teleinformática, e para
meio acadêmico.
Turma de Fundamentos da Computação, Agosto de 2008, Aracaju, SE, Brasil.
terminar a Seção 2., falaremos de algumas Pós-Graduações das
Copyright 2008 Lost171. http://lost171.blogspot.com/ Áreas de Ciências da Computação, na Subseção 2.5. A seguir, na
2. Seção 3., colocaremos nossos pontos de vista sobre o abordado O início dos estudos se deu em 1950, com o objetivo de
nessa pesquisa, nossas previsões para o futuro sobre os Temas e desenvolver teorias relacionadas com a linguagem natural, logo
uma tabela de classificação dos 10 melhores cursos de foi verificado que era importante no estudo das linguagens
computação do Brasil, de acordo com a Revista INFO, em nossa artificiais, em especial para as linguagens vindas da computação
Conclusão. e informática.
As aplicações mais recentes são em animações, hiper-textos e
2. ÁREAS DE CIÊNCIAS DA hipermídias e em linguagens não lineares.
COMPUTAÇÃO
2.1.3 Análise de Algoritmos e Complexidade de
2.1 Teoria da Computação Computação
O objetivo principal da Teoria da Computação de acordo com
[5] é procurar fornecer fundamentos matemáticos rigorosos para i) Análise de Algoritmos
as diversas áreas da computação. Para esta é de fundamental Segundo [27], “a análise de algoritmos estuda os recursos que
importância, pois apóia aspectos teóricos como fundamenta são necessários para executar um dado algoritmo”. Através
diversas aplicações computacionais. dessa disciplina é feito um estudo estimado sobre o que é
necessário para que o problema computacional seja resolvido
Em relação ao campo cognitivo, [6] diz que a teoria da
através de algoritmos. Dessa maneira, o objetivo é fazer
computação proporciona mais um estágio no raciocínio lógico
algoritmos, ou seja, caminhos para a resolução do problema, que
(destaque para o pensamento indutivo), possibilita uma maior
realizem as suas tarefas da maneira mais eficiente possível.
facilidade no desenvolvimento de demonstrações e de suas
Através desse estudo, fica claro que a abordagem que se adota
técnicas e proporciona um grande desenvolvimento na
ao resolver um algoritmo, está diretamente ligada à eficiência ou
capacidade de abstração dos problemas (que é o princípio da
“não eficiência” dele.
redução de problemas).
O estudo de Análise de Algoritmos é de grande importância para
Um dos principais focos da teoria da computação é buscar os interessados em seguir carreira como programador, analista
determinar quais problemas podem ser e os que não podem ser de sistemas, entre outros.
computados em um determinado modelo de computação, que é a
ii) Complexidade de Computação
questão da decidibilidade, explicando, por quê? De que forma?
É a parte da Teoria da Computação que estuda a “quantidade de
E com que complexidade?
trabalho” utilizada para executar um algoritmo, como visto em
[29]. Os recursos estudados são relacionados ao tempo e o
2.1.1 Computabilidade e Modelos de Computação espaço. Aqueles relacionados ao espaço (Complexidade
A computabilidade, fazendo um resumo geral, é a propriedade Espacial) representam o espaço de memória que o algoritmo
elementar das máquinas ditas computáveis. Deste modo, temos precisa para ser executado. E os relacionados ao tempo
que de acordo com [7], a finalidade do estudo de (Complexidade Temporal), se relacionam ao tempo necessário à
computabilidade e modelos de computação é estudar a execução do algoritmo ou ao numero de passos necessários para
solucionabilidade de problemas, investigar a existência ou não isso.
de algoritmos que solucionem determinada classe de problemas
e evitar a pesquisa de soluções inexistentes. Quando se trabalha com complexidade computacional são
utilizadas três perspectivas: Melhor caso, caso médio e pior
A computabilidade surge no momento em que a linguagem de caso. Esses são métodos de representar a complexidade de um
máquina, na qual o programa é construído, permite a construção algoritmo, analisando o problema proposto e assumindo que a
de sentenças suficientemente poderosas, cuja execução permite a pior ou a melhor possibilidade irá acontecer.
entrada de dados com uma linguagem abstrata, onde esta torna-
se tão poderosa quanto a linguagem de máquina, de acordo com
2.1.4 Lógica e Semântica de Programas
[8].
Um dos primeiros modelos de computação de maior importância
i) Lógica de Programas
A Lógica é um elemento fundamental a qualquer programador
foi a Máquina de Turing segundo [9], que foi criada por Alan
na hora de elaborar um programa, e também a qualquer
Turing em 1936, no qual é um modelo abstrato de computador,
profissional da área de computação. Não é uma daquelas coisas
que se restringe apenas aos aspectos lógicos do seu
que se pode aprender na sala de aula ou em livros, o domínio da
funcionamento (memória, estados e transições) e não a sua
lógica, vem junto com a prática.
implementação física.
Uma maneira muito interessante de utilizar a lógica são os
2.1.2 Linguagens Formais e Autômatos fluxogramas, que são diagramas de blocos que contém o seu
A teoria das linguagens formais e autômatos é entendido como o raciocínio lógico e estabelece a ordem das operações a serem
estudo dos modelos matemáticos que permitem a especificação e executadas no seu programa. Como o fluxograma não detalha
representação de linguagens baseado na Teoria da computação instruções ou comandos especificamente, o que caracteriza uma
(suas classificações, estruturas, propriedades, características e linguagem de programação, a sua codificação pode ser feita em
inter-relacionamento) de acordo com [10]. praticamente qualquer linguagem.
As representações de linguagens podem ser feitas por Outra técnica, a mais importante, é a Programação Estruturada,
reconhecedores e geradores. Os reconhecedores são dispositivos que pode ser vista em [28], que proporciona: a escrita e leitura
formais que servem para verificar se uma determinada sentença da programação executadas mais fácil e rapidamente, e a
dada pertence ou não à uma determinada linguagem, são os verificação e correção dos erros dos programas. Essa técnica se
autômatos.Segundo [11]os geradores são dispositivos formais divide em quatro passos: “A escrita das instruções em
que permitem a geração sistemática de todas as sentenças de seqüências ligadas entre si; organiza-las em grupos pequenos e
uma linguagem, os principais são as gramáticas. combiná-las; distribuir módulos do programa entre os diferentes
programadores que trabalharão no projeto; e fazer a revisão do
3. trabalho executado periodicamente, em reuniões em que todos 2.2.2 Modelos Analíticos e de Simulação
os programadores tenham o mesmo nível”. Prever o desempenho de um sistema, entender seu
comportamento, observar prováveis falhas e erros, analisar o
ii) Semântica de Programas melhor caminho de sucesso do sistema, simular proposições e
A semântica se dedica ao estudo da relação entre as palavras e
ambientes de sistemas e encontrar soluções exatas ou muito
seus significados dentro de uma sentença em uma linguagem.
aproximadas para o sistema desejado. Tudo isso pode ser feito
Dentro das linguagens de programação a semântica é usada nas
usando Modelos Analíticos e de Simulação de acordo com [1] e
sentenças que designam comandos ao computador.
[25].
Segundo [3], uma linguagem de programação é baseada na união
entre a gramática e semântica dessa gramática. Por exemplo: i) Modelos Analíticos
Analíticos são como fórmulas, mostram exatamente ou muito
“Quem casa, quer casa”. Numa mesma sentença, o termo “casa”
aproximadamente, como se comporta o sistema analisado.
apresenta dois significados diferentes. Isso mostra que é
Observe na Figura 1 obtida em [1].
impossível desenvolver uma linguagem sem o uso da semântica,
ou seja, uma linguagem baseada apenas na gramática.
2.2 Matemática da Computação
É a área que trata do desenvolvimento de modelos matemáticos,
para tratar de problemas complexos, e obtenção de soluções
usando métodos numéricos conforme vemos em [24]. Essa área
nos auxilia a desenvolver programas que aplicando a matemática
através de símbolos, resolvam problemas de interesse cientifico
ou computacional de maneira exata ou muito aproximada. Atua
nos auxiliando na solução de problemas de ciências exatas ou de
outras diversas áreas. Colabora fortemente com a computação Figura 1: Exemplo de formula matemática. O modelo
científica, com três centros de estudo avançados no país. Um em analítico funciona como uma formula matemática.
Belo Horizonte na UFMG, outro em Campinas na Unicamp e
mais um em São Carlos na USP. ii) Modelos de Simulação
Simulações são procedimentos ou algoritmos que vão mostrar,
numa escala de tempo, como vai se comportar o sistema, desde o
2.2.1 Matemática Simbólica
início ao fim da simulação.
O uso de computadores na utilização de símbolos (simbólica) de
equações e expressões, em oposição à manipulação de Um programa que vai calcular os avanços até terminar o teste
aproximações a quantidades numéricas específicas representadas incrementalmente.
pelos símbolos conforme se pode ver em [25]. Os modelos Analíticos e os Modelos de simulação possuem
Integração, diferenciação, substituição e simplificação de níveis de detalhamento.
expressões, derivação e outras funções matemáticas podem ser
realizadas com esses softwares. Alem de Testes de software sob 2.2.3 Níveis de Detalhamento dos Modelos
o título de “execução simbólica” usado para analisar se e quando Analíticos e de Simulação
o código pode ter erros e para prever o que partes desse código
iram fazer com inputs e outputs especificados nos testes. i) Modelo de Desempenho ao Nível de
i) Sistema de Álgebra Computacional Sistema
O nível de explicitação sobre o sistema é baixo, modelado como
Os Softwares de matemática simbólica normalmente são
uma “caixa preta”, segundo [26]. É analisado como um conjunto
chamados sistemas de álgebra computacional. Um Sistema de
de componentes realizando a analise do funcionamento geral
Álgebra Computacional1 é um programa que facilita o cálculo na
sem alto rigor de detalhes por componentes. Realiza analise dos
matemática simbólica, conforme [24].
componentes simultaneamente.
Normalmente incluem: Precisão aritmética arbitrária, Motor de
manipulação simbólica, Facilidades gráficas, Subsistema de ii) Modelo de Desempenho ao Nível de
álgebra linear, Linguagem de programação de alto nível, Sistema
Componentes
de composição para expressões matemáticas.
Considera diferentes recursos do sistema e o modo como as
(podendo ter todas ou parte dessas funcionalidades). requisições usam os diferentes componentes. Discos e redes são
O seu aparecimento começou na década de 1970 e evoluíram a considerados pelo modelo, mais preciso sobre o sistema e mais
partir de pesquisas para inteligência artificial. Reduce, Macsyma lento lidando com os recursos representando-os como uma fila.
e Derive foram os primeiros a se popularizarem. Atualmente os
líderes do mercado desses softwares são Maple e Mathematica, 2.3 Metodologia e Técnicas da Computação
muito usados por pesquisadores e cientistas de várias áreas.
Um desses softwares comerciais, o MuPAD, foi um que ofereceu 2.3.1 Linguagens de Programação
uma versão grátis para pesquisa não comercial e uso educacional Segundo [4], “Uma linguagem de Programação é um método
(com sua interface e funções restritas). padronizado para expressar instruções para o computador”. A
Alguns desses softwares atuam em áreas específicas, de interesse linguagem informa ao computador com quais informações
de seus desenvolvedores, que comumente são estudantes, e trabalhar, o tipo de armazenamento ou transmissão destas e que
geralmente esses softwares são gratuitos. tipos de ações vão efetuar com elas. A linguagem de
programação se comunica com o computador através do código
fonte, que traz a seqüência de ordens a serem executadas, esse
4. código é traduzido para o código de máquina que contem a 2.3.4 Sistemas de Informação
linguagem que o computador consegue compreender, composta Quando falamos em sistemas de informação, estamos nos
de 0 e 1. referindo a um sistema automatizado (sistema de informação
As linguagens de programação são de fundamental importância computadorizado) ou mesmo manual, que está estendido a
para futuros programadores e engenheiros de software. pessoas, máquinas e métodos organizados para coletar,
processar, transmitir e disseminar dados que representam
informação ao usuário, de acordo com [12]. Representado na
2.3.2 Engenharia de Softwares Figura 2.
Desenvolver software é uma atividade crescente na nossa
sociedade contemporânea. A utilização de computadores pela
sociedade se aplica em todas as áreas do conhecimento. Por
causa dessa utilização, tem causado uma grande necessidade por
soluções computadorizadas retirado [20].
Esses problemas computadorizados têm gerado um aumento na
complexidade da resolução desse problema. Neste cenário
descrito, muitas vezes se torna impossível trabalhar de maneira
individual. Por essa razão foi criada a Engenharia de Software,
com a finalidade de unir profissionais para trabalhar em grupo.
A Engenharia de Software planeja, coordena e acompanha, bem
como não deixa passar a qualidade do que está sendo produzido
que é o software.
Abordagem utilizada pela Engenharia de Software para resolver
o problema, é decompor em partes menores (dividir para
conquistar). Para cada pedaço do problema uma solução deve
ser elaborada. Apoiando a resolução em métodos, técnicas e em
ferramentas para automatizar o trabalho. A Engenharia de Figura 2. Aplicação de um sistema de informação.
Software trata do processo, métodos, técnicas, ferramentas para
o desenvolvimento de software. Sistemas de informação também é um termo para descrever a
área do conhecimento encarregada do estudo de sistemas de
2.3.3 Banco de dados informação, tecnologia da informação e de suas relações com
Banco de Dados são conjuntos de registros dispostos em organizações, dessa forma, sistemas de informação é comumente
estrutura regular que possibilita gravar e produzir informação classificada como uma Ciência Social Aplicada, ao contrário de
retirada do [16]. Ciência da Computação que é uma Ciência Exata.
Para acessar e ser mantido um Banco de Dados precisa de um Tendo também que sistemas de informação é considerada
software que é conhecido SGBD (Sistema Gerenciador de Banco também uma área multi-disciplinar ou trans-disciplinar devido as
de Dados). Temos quatro tipos de Banco de Dados: Banco de relações com outras áreas como Ciência da Computação,
Dados Distribuído, Banco de Dados Geográficos, Banco de Administração, Gestão da Informação, Economia, Direito,
Dados Hierárquico e Banco de Dados Orientado à Objeto. Engenharia de produção, entre outras.
O foco do estudo de sistemas de informação é direcionado para
i) Banco de Dados Distribuído o desenvolvimento e aplicação de sistemas de informação
Banco de Dados Distribuído é uma coleção de vários Bancos de computadorizados nas organizações, tendo em vista uma melhor
Dados logicamente inter-relacionados, distribuídos por uma rede manipulação da informação.
de computadores [16]. Os arquivos podem ser na rede de duas
maneiras: replicados ou fragmentados. Replicados em vários Pessoas, softwares, hardwares, redes e dados são os
computadores sendo os dados todos iguais. Já fragmentados, os componentes de um sistema de informação, como é mostrado na
dados são divididos na rede aonde cada computador tem um figura 3 tirada de [22].
pedaço da tabela do Banco de Dados.
ii) Banco de Dados Geográficos
Banco de Dados Geográficos tem como principal objetivo
armazenar dados de mapas e imagem de satélites. Entre todos os
tipos de Banco de Dados, o Geográfico é o que ocupa o maior
espaço.
iii) Banco de Dados Hierárquico
Banco de Dados Hierárquico gerencia os dados em forma de
uma arvore de tal modo que cada registro tenha um único
possuidor (conhecida como um-para-muitos), isso é relação
hierárquica. Essas relações podem facilitar algumas repostas, Figura 3. Componentes de um sistema de informação.
mas podem também dificultar outras.
A classificação dos Sistemas de Informação baseado em
iv) Banco de Dados Orientado à Objeto tecnologia da informação, de acordo com a informação
Banco de Dados Orientado à Objeto é uma evolução do processada pode ser operacionais, gerenciais e estratégicos.
paradigma de Linguagem de Programação Orienta a Objetos. Observe a figura4 tirada de [22].
5. Memórias: dispositivos removíveis ou rígidos responsáveis por
armazenar temporariamente ou em definitivo os dados
trabalhados pelo sistema.
Dispositivos de entrada e saída que são os meios de
comunicação entre máquina e usuário, onde o mesmo entra com
informações ou comandos e recebe as respostas por tais.
i) Conexão dos Hardwares
O computador precisa de conexões físicas que permitem seus
componentes de hardware se comunicar e se relacionar entre
Figura 4. Tipos de sistemas de informação. eles. O barramento constitui um sistema comum de
interconexão, composto por um conjunto de vias ou trilhas que
coordenam e transportam as informações entre as partes internas
Algumas especializações em sistemas de informação: Pós- e externas do computador. Uma conexão para comunicação em
graduação em segurança de sistemas de informação; Pós- série é feita através de um cabo ou grupo de cabos utilizados
graduação em gestão da segurança da informação; Pós- para transferir informações entre a CPU e um dispositivo externo
graduação em Tecnologia e sistemas de informação; MBA em como o mouse e o teclado, um modem, um digitalizador
sistemas de informação; especialização em redes e segurança de (scanner) e alguns tipos de impressora. Esse tipo de conexão
sistema. transfere um bit de dado de cada vez, muitas vezes de forma
lenta. A vantagem da transmissão em série é que é mais eficaz a
2.3.5 Processamento Gráfico (Graphics) longas distâncias.
De acordo com [30], a cadeira de Processamento Gráfico se
ii) Arquiteturas de Computadores
divide em duas outras áreas: Processamento de Imagens e
São os diferentes modos como os computadores são produzidos
Computação Gráfica.
e como são arquitetadas as interligações de seus componentes.
i) Processamento de Imagens Diz-se que são basicamente as divergências entre as fabricações
Abrange os principais algoritmos de tratamento de imagens, dos computadores.
ruídos e filtros. O tratamento de imagens se realiza com uma Com a crescente popularização dos computadores, surge a
seqüência habitual de operações sobre a imagem: pré- necessidade da interação de um equipamento com o outro, e com
processamento, segmentação e análise. O Pré-processamento isso também a necessidade de se criar um padrão. Em meados de
corrige os defeitos de captura e melhora as imagens obtidas para 1980, somente duas, das arquiteturas existentes até então,
facilitar a Segmentação, que reorganiza os pontos da imagem em resistiram ao tempo e se tornaram populares. Foram: o PC
estruturas conhecidas. E os Algoritmos de Análise fazem (Personal Computer) em português Computador Pessoal,
parâmetros para essas estruturas, separando-as em categorias. desenvolvido pela empresa IBM, e o Macintosh (ou apenas Mac
como também é conhecido) desenvolvido pela Apple.
ii) Computação Gráfica
Essa área ensina como é realizada a síntese de imagens: Como o PC da IBM se tornou na época a arquitetura dominante,
Transformações espaciais (rotação, translações), Algoritmos de o padrão adotado para os computadores que conhecemos hoje se
rasterização que realizam a transformação de uma imagem tornou o padrão da IBM.
vetorial em uma imagem matricial, ou seja, imagem raster iii) Arquiteturas abertas
(pixels ou pontos), Modelos de iluminação e Tratamento de
Foi Desenvolvida inicialmente pela IBM e é a mais aceita
colisão.
atualmente. Consiste em permitir que outras empresas fabriquem
E também há a analise de Pipeline Gráfico, que se refere ao computadores com a mesma arquitetura.
conjunto de processos que via hardware que envolve desde a
Pontos favoráveis ao usuário: Permite ao usuário maiores opções
definição dos vértices da imagem até a sua renderização,
de configuração e o poder de montar seu próprio computador de
algoritmo para exibir formas tridimensionais, na tela do
acordo com necessidades e custos de cada usuário.
computador.
Pontos desfavoráveis: Os conflitos de hardware o computador
funciona mais lento e com menor qualidade se comparado a
computadores de arquitetura fechada.
2.4 Sistemas de Computação
iv) Arquiteturas fechadas
2.4.1 Hardwares Implica em, uma empresa fabricante de certa arquitetura não
Os Hardwares são dispositivos físicos que manipulam dados na permitir o uso da arquitetura por outras empresas, ou ter o
forma digital, o que proporciona uma maneira confiável de controle sobre as empresas que fabricam computadores de sua
representação e transmissão de dados, visto em [23]. Estudamos arquitetura.
Hardwares para conhecermos o funcionamento dos recursos
Pontos favoráveis ao usuário: Os conflitos de hardware
físicos dos sistemas, suas funções, seus variados tipos de uso,
diminuem muito, faz o computador funcionar mais rápido e
controle e manutenção. Um sistema computacional é um
melhor.
conjunto de circuitos eletrônicos interligados, (os Hardwares),
que podem ser processadores, memórias, registradores, Pontos desfavoráveis: O usuário fica restrito a produtos da
impressoras, discos magnéticos e etc. São agrupados em três empresa e não pode montar o seu próprio computador.
subsistemas básicos (Unidades funcionais). São elas:
CPU (processador): o cérebro de todo sistema computacional. É v) Exceção
a unidade lógica e aritmética de processamento. Podem também existir casos como o da Apple que não pertence
somente a um tipo de arquitetura, mas sim a ambas as
6. arquiteturas, fazendo parte do mercado de compatíveis IBM,
mas ao mesmo tempo sendo a única empresa que a produzir
computadores que podem rodar seu sistema operacional
legalmente.
2.4.2 Arquiteturas de Sistemas de Computação
O conjunto definido de instruções de máquina que fazem
referências a detalhes como registradores, modos de
endereçamento e tipos de dados que caracterizam um
processador e suas funcionalidades. Estudamos Arquiteturas de
Sistemas para conhecer melhor as disparidades entre as Figura 4. Relação entre o Software Básico e outros
arquiteturas, suas características, seus problemas, qual componentes do computador.
arquitetura usar para fazer um programa, em qual arquitetura
atuará um programa desejado e como fazer isso tudo. 2.4.4 Teleinformática
As arquiteturas de Sistemas diferenciam-se na quantidade de Teleinformática é a parte da informática que trata das técnicas de
instruções, Modo de endereçamento, tipos de dados, transmissão de dados e suas aplicações. Tendo em base os
funcionalidades. Cada processador possui uma arquitetura, dados, enquanto representação da informação são classificados
definida pelo fabricante do equipamento. em dados analógicos e dados digitais, tendo com base [15].
Um programa não pode ser executado em outra máquina de Os dados analógicos se variam de modo contínuo como valores
arquitetura diferente da que foi programado para atuar, pois de temperatura ou tonalidade e intensidade da voz humana. Já os
instruções de um processador é característica específica de cada dados digitais assumem valores discretos e em quantidades bem
arquitetura e os comandos funções e resultados não seriam determinadas, como os números inteiros ou as letras de um
compatíveis entre elas. texto, neste caso poderão representar um código adequado,
recorrendo, por exemplo, aos símbolos binários (dígitos 0 e 1) e
i) Arquitetura RISC ao código ASCII.
A sigla RISC vem da expressão em inglês (Reduced Instrution
Set Computer) e significa Conjunto Computacional de Tanto os dados analógicos como os dados digitais, podem ser
Instruções Reduzidas. traduzidos e convertidos para efeito de transmissão elétrica em
sinais analógicos e sinais digitais.
Possui poucas instruções de máquina, bastante simples,
executadas diretamente pelo hardware. Maioria não acessa a A transmissão de sinal digital ao longo dos circuitos de
memória principal, trabalha principalmente com registradores, telecomunicações exige, contudo, uma grande abertura de banda,
que se apresentam em grande número neste tipo de processador. não estando, as linhas dos circuitos telefônicos tradicionais,
preparadas, ainda em grande parte, para cumprir a esta
Permitem que as instruções sejam executadas rapidamente, exigência. Usam-se assim dispositivos que convertem os sinais
facilitam a implementação da técnica de pipelining3. digitais, em sinais analógicos com largura de banda
relativamente reduzida, dando perfeitamente para ser
ii) Arquitetura CISC transmitida. Estes dispositivos são os modens (modulador-
A sigla CISC vem da expressão em inglês (Complex Instrution
demodulador) que transformam sinais digitais em sinais
Set Computer) e é traduzida como Conjunto Computacional de
analógicos e vice-versa.
Instruções Complexas.
Tendo em referência [14] assim o objetivo de se estudar
Possuem instruções que são interpretadas por micro-programas
teleinformática é dar teoria e prática necessária para lidar com
devido a sua maior complexidade. Possui um número menor de
transmissão de dados, softwares operacionais (servidor cliente),
registradores e qualquer instrução pode referenciar a memória
placas de rede, swiches, modens, satélites, sistemas de rádio e
principal.
TV, fibras ópticas, e toda essa ligação entre telecomunicação e
As instruções são executadas mais devagar e a implementação da computação.
técnica de pipelining3 é mais difícil.
2.5 Pós-Graduação
2.4.3 Software Básico Mesmo após se formando em Ciências da Computação. O
Software Básico é uma camada de software que trabalho em um bacharel em Ciências da Computação não tem estrutura
nível intermediário de acesso com o sistema operacional retido acadêmica para entrar no mercado de trabalho. É quase uma
de [18]. A área de Software Básico tem uma forte interação com regra já, sair da universidade e entrar uma especialização, depois
hardware. O principal software básico é o sistema operacional quem sabe um mestrado e um doutorado.
(Windows, Linux e Mac), a função principal dele é gerenciar e
disponibilizar para o usuário os recursos da maquina e seus 2.5.1 Especialização
periféricos, permitindo que o equipamento torne-se operável Uma Especialização, conhecida no MEC como especialização
retirado de [17], com pode ser observado pela figura X.X. Já Lato sensu3. Tem como meta a ampliação de uma área específica
programa de aplicação (Corel Draw, Microsoft Office, Jogos, de Ciência da Computação voltada para o mercado de trabalho.
entre outros) efetua tarefas que serve diretamente ao usuário.
Com base na figura se observa bem a importância do software
básico na computação, se encontra entre o hardware e os
2.5.2 Mestrado
Já um Mestrado é um curso de pós-graduação stricto sensu4.
programas de aplicação. Observe Figura 4, referente a [18].
Tem como objetivo propiciar uma complementação na formação
específica do aluno, conjugada com sua capacitação em
explorar, com metodologia, os temas pertinentes à área e
expressar a condução e os resultados de pesquisas e
7. desenvolvimentos realizados, de maneira autônoma e lúcida 3.1 Os 10 Melhores Cursos de Computação
retirado de [19]. O Mestrado se divide em dois: Mestrado
Acadêmico e Mestrado Profissionalizante. do Brasil
Uma pesquisa feita pela INFO Online, o site da Revista INFO,
Mestrado Acadêmico voltado para pesquisadores visando uma revista muito respeitada no ramo de computação no Brasil,
aprofundamento na pesquisa cientifica. No Mestrado apontou um ranking com “Os melhores cursos de computação
Profissionalizante voltado para o mercado de trabalho formando no Brasil” segundo a Revista INFO [21]. Veja abaixo na Tabela
profissionais aptos para elaborar novas técnicas e processos. 1, segundo pesquisa feita por [21], a classificação dos 10
Essas divisões são mais conceituais, não havendo problemas melhores cursos de computação do Brasil.
para mudar entre elas.
Tabela 1. Os melhores da graduação
2.5.3 Doutorado Universidade Nome do Velocidade Reputação Avalia
Doutorado, também é um curso de pós-graduação stricto sensu4. curso de conexão Acadêmica. ção
Tem como objetivo estreitar ainda mais os estudos vistos no à internet 5 Final
(em Mbps)
Mestrado, criando uma solução para o problema proposto. Esses
problemas são mais difíceis de ser resolvido como no Mestrado, 1 Unicamp - Bacharelado 8 ou mais 10,00 794
por isso sua contribuição é muito importante. O acesso ao Universidade em Ciência
Estadual de da
Doutorado pode ser pelo Mestrado, pelo Doutorado Direto ou Campinas Computação
Doutorado Sanduíche.
2 Unicamp - Engenharia 8 ou mais 8,40 756
Aqueles que podem fazer o Doutorado Direito são aqueles Universidade de
excelentes alunos na pós-graduação (tem umas regras para Estadual de computação
cumprir). No Doutorado Sanduíche, trata-se de um acordo entre Campinas
uma instituição de pesquisa do exterior com uma instituição
3 UFRGS - Ciência da 8 ou mais 9,70 753
brasileira (tudo pelas regras do MEC). Na primeira fase é no Universidade Computação
Brasil, mais há segunda fase é no exterior. Voltando para Federal do Rio
defender sua tese no Brasil. 1 Grande do Sul
4 ICMC/USP/São Bacharelado 8 ou mais 6,10 750
3. CONCLUSÃO Carlos - Instituto de em ciência
Esse manuscrito mostra de forma rápida e prática todas as Áreas Ciências da
Matemáticas e de computação
de Ciência da Computação e seus respectivos conceitos. Como Computação
foi mostrado, as essas Áreas são a base de toda a tecnologia
moderna e se interligam com outras áreas do conhecimento. 5 USP/Poli - Escola Engenharia 8 ou mais 2,60 746
Politécnica da da
Mesmo assim, atualmente em algumas dessas áreas há uma Universidade de Computação
carência de profissionais para suprir a demanda do mercado de São Paulo
trabalho. Levando em consideração essa carência e a
necessidade das habilidades do profissional de computação, que 6 ITA - Instituto Engenharia 8 ou mais 3,80 745
Tecnológico de de
o mundo tem atualmente, isto é, demanda de software, Aeronáutica computação
profissionais treinados, e por soluções de determinados
problemas, que todas as áreas de Ciência da Computação estão 7 Poli/USP - Escola Engenharia 8 ou mais 2,60 737
Politécnica da Elétrica -
atrativas para a inclusão de formandos. Universidade de Ênfase em
São Paulo Computação
8 UFRGS - Engenharia 8 ou mais 8,55 728
Universidade da
Federal do Rio Computação
Grande do Sul
9 UFMG - Bacharelado 8 ou mais 7,20 727
Universidade em Ciência
Federal de Minas da
Gerais Computação
10 UFRJ - Bacharelado 8 ou mais 7,90 712
Universidade em ciência
Federal do Rio de da
Janeiro computação
3.1.1 Previsões para o Futuro
1
Assim como qualquer outra tecnologia, a computação tem se
Da expressão em inglês “computer algebra system”. desenvolvido num ritmo muito acelerado. Mesmo assim, não é
2
Pipelining refere-se à técnica que permite ao processador muito difícil pensar em algum tipo de inovação que ainda possa
executar várias instruções em diferentes etapas. surgir. Dentre eles, podemos citar as aplicações da
3
Do latim "em sentido amplo". teleinformática, é possível que nos próximos anos tenhamos uma
4
Do latim “tema mais específico”. renovação na informática, que vá atingir os vários níveis da
5
Para indicar a reputação acadêmica, Foi solicitado a cada tecnologia.
universidade que listasse, em ordem decrescente de
importância, os dez cursos mais respeitados do meio São muitos os benefícios que esse tipo de inovação possa trazer
universitário. Os mais citados obtiveram avaliação melhor, como interatividade, facilidade de comunicação e
transformada em pontos de 0 a 10, conforme informa [21]. entretenimento.
8. 4. REFERÊNCIAS [18] Prof. Msc. Delnir Monteiro de Lemos,
[1] Graça Bressan - Modelagem e Simulação de Sistemas http://www.cti.furg.br/~dmlemos/. Acessado em 04 de maio
Computacionais. de 2008.
http://www.heliorocha.com.br/graduacao/sisinfo/DS/Graca [19] Univerdade Salvador,
%20Bressan%20- http://www.ppgcomp.unifacs.br/faq.htm. Acessado em 12
%20Modelagem%20e%20Simulacao%20de%20Sistemas% de junho de 2008.
20Computacionais.ppt/ Acessado em 15 de Agosto 2008. [20] Ricardo de Almeida Falbo.
[2] http://www.bitpop.info/alan-turing-o-pai-da-ciencia-da- http://www.inf.ufes.br/~falbo/download/aulas/es-g/2006-
computacao.html , 07 de junho de 2008. 2/NotasDeAulaFormatoEconomico.pdf. Acessado em 12 de
[3] Elaine Pimentel. Semântica de Programas. Publicado no 1º junho de 2008.
semestre de 2005. Pesquisado em 01 de junho de 2008. [21] Os melhores na graduação. Info Online. Publicado em
[4] Linguagem de Programação. Publicado em 15 de fevereiro http://info.abril.com.br/carreira/graduacao.shl. Acessado em
de 2008. 25 de Abril de 2008.
http://pt.wikipedia.org/wiki/Linguagem_de_programa%C3 [22] Tipos de Sistemas de Informação,
%A7%C3%A3o. Acessado em 21 de maio de 2008. www.facape.br/celimar/sec/TIPOS_DE_SISTEMAS_DE_I
[5] Teoria da Computação, Origem: Wikipédia, a enciclopédia NFORMACAO. Acessado em 26 de Maio de 2008.
livre, [23] Hardware. Publicado em 14 de maio de 2008.
http://pt.wikipedia.org/wiki/Teoria_da_computa%C3%A7 http://pt.wikipedia.org/wiki/hardware. Acessado em 5 de
%C3%A3o, acessado em 15 junho de 2008. junho de 2008.
[6] Profs. Tiaraju Diverio e Paulo Blauth Menez [24] Matemática. Publicado em 13 de janeiro de 2008.
www.inf.ufrgs.br/~hgmcpad/disciplinas/teoriadacomputaca http://pt.wikipedia.org/wiki/Matem%C3%A1tica. Acessado
o/capitulo6/cap6_2.doc, acessado em 15 de junho de 2008. em 19 de abril de 2008.
[7] Lucilia Figueiredo, [25] Sistema de Álgebra Computacional. Publicado em 21 de
http://homepages.dcc.ufmg.br/~lucilia/cursos/ftc/slides/ftc0 março de 2008.
1.pdf, acessado em 10 de julho de 2008. http://pt.wikipedia.org/wiki/%C3%81lgebra_computacional
[8] Computabilidade. . Acessado em 19 de abril de 2008.
www.dimap.ufrn.br/~jorge/textos/introdutorios/computabili [26] Jean Wanderlei, Martín Ravetti e André Lins. Validação de
dade.html, acessado em 10 de julho de 2008. um Modelo Analítico para um Sistema de Processamento
[9] Maquina de Turing. de Consultas.
http://pt.wikipedia.org/wiki/M%C3%A1quina_de_Turing, http://homepages.dcc.ufmg.br/~nivio/cursos/pa02/seminari
Acessado em 10 de julho de 2008. os/seminario1/seminario1.html acessado em 17 de Junho de
2008.
[10] P. Blauth Menezes,
http://www.inf.ufrgs.br/~avillavicencio/slides- [27] Análise de Algoritmos. Publicado em 13 de maio de 2008.
lfa/LF1_040823b.pdf, acessado 23 de junho de 2008. http://pt.wikipedia.org/wiki/An%C3%A1lise_de_algoritmo
s, acessado em 18 de maio de 2008 às 23:54.
[11] Cubano.WS - Linguagem formal, http://cubano.ws/info-
atual/linguagem-formal, acessado em 13 de junho de 2008. [28] Professor Marcio Ferreira de Jesus. Algoritmos + Pascal.
http://www.mfjver.com/apostilas/algoritmos/apostila%20de
[12] Sistemas de Informação, Origem Wikipédia, a enciclopédia %20algoritmos%20Modulo%201.pdf , acessado em 13 de
livre, agosto de 2008.
http://pt.wikipedia.org/wiki/Sistemas_de_informa%C3%A7
%C3%A3o, acessado em 26 de maio de 2008. [29] Complexidade Computacional. Publicado em 21 de maio
de 2008.
[13] Olinda Nogueira Paes Cardoso, http://pt.wikipedia.org/wiki/Complexidade_computacional,
www.dcc.ufla.br/~olinda/arquivos/si%20tipos%20de%20si acessado em 15 de julho de 2008.
.pdf, acessado em 26 de maio de 2008.
[30] Fabio Fedrizzi Bernardon. Processamento Gráfico.
[14] Almir Wirth Lima Junior, Engenheiro de Telecomunicações http://www.inf.ufrgs.br/~fabiofb/disciplinas/PG/index.html.
Pós Graduado na Alemanha, e mestre em Teleinformática acessado em 12 de maio de 2008.
pela Universidade Federal do Ceará (UFC),
http://www.geocities.com/doceara1/TIxTeleinf.htm,
acessado em 5 de Agosto de2008.
[15] Alberto Neves,
http://www.eppet.pt/data/linkserv/telei/curso_telei/m1_10.h
tml, acessado 5 de agosto de 2008.
[16] Banco de Dados, Origem Wikipédia, a enciclopédia livre,
http://pt.wikipedia.org/wiki/Banco_de_dados. Acessado em
27 de maio de 2008.
[17] Professor Eduardo Silvestri Ribeiro,
http://www.eduardosilvestri.com.br/fmu/redes/sistop/2aula/
SO-Aula002.pdf/ Acessado em 05 de maio de 2008.