You are on page 1of 4

Workshop sobre Educao em Arquitetura de Computadores - WEAC 2009

Revitalizao da educao em arquitetura de computadores, atravs do foco na


construo de aplicaes paralelas com qualidade
Roberto de Oliveira Campos Junior1, Dayse Nascimento Anselmo2
Pontifcia Universidade Catlica de Minas Gerais1,2 PPGEE Puc Minas GSDC
SERPRO 1 Servio Federal de Processamento de Dados
roberto.oliveira@ieee.org1, roberto@pucminas.br1, dayse@ieee.com2.

aluno de computao ou curso relacionado no escuta a


seguinte colocao do seu professor de lgica de
programao: Algoritmo uma seqncia de passos, com
o objetivo de realizar alguma tarefa? Podemos perceber
nesta definio, uma das primeiras que o aluno recebe na
sua formao em lgica de programao, a introduo de
uma restrio de seqencialidade, que nos dias de hoje no
faz sentido, uma vez que a disponibilidade de arquiteturas
paralelas atinge um patamar talvez jamais atingido
anteriormente.
Um dos fatores preponderantes para o aprendizado de
programao paralela, ou seja, para a popularizao da
programao paralela, est intimamente ligado ao ensino e
aprendizado de arquiteturas paralelas. O que reafirma a
singular importncia dos contedos de arquitetura de
computadores na formao de profissionais de computao.
de comum conhecimento a dificuldade encontrada
pelos alunos de arquiteturas de computadores em assimilar
este contedo, muitas vezes os alunos encaram a disciplina
como uma obrigao, como uma barreira que necessitam
transpassar, e sequer conseguem perceber a real importncia
do contedo da disciplina.
Ao discutirmos o ensino e aprendizado de arquitetura de
computadores de suma importncia apresentarmos a
relevncia do contedo da disciplina para os cursos de
computao. Podemos analisar a arquitetura como a base da
computao, em outras palavras os algoritmos
implementados (softwares) so o grande foco dos cursos de
computao. Estes necessitam de uma base arquitetural
(hardware) onde sero executados. Desta forma, fica
evidenciada a importncia dos conhecimentos de arquitetura
de computadores para um profissional da rea de
computao.
Agora analisemos, se uma grande preocupao da
computao est ligada aos softwares, conseqentemente
arquitetura de computadores algo de importncia singular,
e os conhecimentos acerca dela indispensveis. Como em
qualquer atividade construtiva, a base do objeto da
construo, ou seja, o seu alicerce deve ser muito bem
projetado, entendido e executado, para que sobre ele uma
edificao forte e resistente possa ser construda, atendendo
assim os anseios dos demandantes.
Como posso construir uma casa forte e resistente se
desconheo as caractersticas e especificaes do meu
alicerce? Se fizermos uma analogia da frase anterior com a
programao de computadores, poderamos analis-la da
seguinte forma: A casa est para a programao seqencial

Resumo
Os principais contedos relacionados arquitetura de
computadores so fundamentais para formao dos
profissionais de computao, uma vez que so responsveis
por apresentar aos alunos os principais fundamentos dos
sistemas de computao. Com a crescente disponibilidade
de arquiteturas de processadores com mltiplos ncleos de
processamento o processo de construo de aplicaes
paralelas se torna inevitvel, uma vez que se quer alcanar
um melhor desempenho que um determinando hardware
pode oferecer. Neste contexto, o ensino de programao
paralela se torna altamente necessrio na formao dos
profissionais de computao.
O presente trabalho visa levantar uma discusso atravs
da seguinte questo: Os alunos de computao e cursos
relacionados esto sendo formados com o entendimento
necessrio de arquitetura de computadores para que em um
futuro prximo possam atuar no mercado com a construo
de aplicaes paralelas de qualidade? No seria esta uma
grande oportunidade de revitalizao do ensino de
arquitetura de computadores?

1. Introduo
As arquiteturas paralelas so hoje uma realidade no
nosso dia a dia. Cada vez mais acessveis, as arquiteturas
baseadas em mltiplas unidades de processamento esto
presentes em servidores, estaes de trabalho e at mesmo
em residncias, caracterizando um ambiente propcio
programao paralela, uma vez que uma disponibilidade
grande de hardware paralelo pode ser observada no
mercado. Porm, ser que alunos dos cursos de computao
j esto recebendo a formao necessria para atuar neste
sentido? Esta pergunta no de difcil resposta, basta
analisarmos o currculo dos cursos de computao no Brasil,
que podemos perceber uma carga horria muito restrita [1]
ou inexistente destinada aos estudos de programao
paralela. Alm dos problemas apresentados existe a
dificuldade apresentada por alunos no aprendizado de
programao de maneira geral, fato que acaba gerando
problemas no decorrer dos cursos de computao, como por
exemplo, altos ndices de reprovao nas disciplinas de
programao e nas disciplinas futuras que necessitam de
uma forte base de programao [2][3].
Uma questo muito interessante para se discutir diz
respeito s restries que muitas vezes so impostas aos
alunos de computao j no inicio da sua formao. Qual
99

Workshop sobre Educao em Arquitetura de Computadores - WEAC 2009

assim como um edifcio est para a programao paralela, e


em ambos os casos o alicerce igualmente importante.
Muito embora a preocupao com o alicerce do edifcio seja
ainda maior. O conhecimento que um engenheiro civil
demanda ao projetar o alicerce de uma casa
proporcionalmente inferior do que o demandado em um
alicerce predial. Em outras palavras, o conhecimento de
arquitetura de computadores demandado por um profissional
que trabalha com programao paralela proporcionalmente
maior do que o conhecimento demandado ao atuar com
programao seqencial.
O grande objetivo deste artigo propor uma reflexo a
respeito da revitalizao do ensino de arquitetura de
computadores propiciado pela mudana de paradigma
arquitetural que vivemos. Visando construir nos alunos uma
base slida de conhecimentos arquiteturais, conhecimento
este indispensvel para atuar na construo de aplicaes
paralelas com qualidade.

2. Problemas no processo de ensino


aprendizado de arquiteturas de
computadores.

para os alunos ao longo do curso de maneira gradativa, para


que os prprios alunos possam perceber a real importncia e
necessidade dos conhecimentos apresentados na disciplina
arquitetura de computadores.

2.3. Deficincia de tcnicas motivadoras.


Os contedos apresentados em arquiteturas de
computadores no so em maior parte um contedo novo,
existem profissionais que lecionam esta disciplina h anos,
sem alterar a ementa ou aplicar novas estratgias. Apesar de
uma parte do contedo no sofrer alterao a rea assim
como a computao como um todo vive nos ltimos anos
um processo frentico de evoluo, culminando nos dias de
hoje nas arquiteturas baseadas em mltiplas unidades de
processamento. Estes fatos muitas vezes so esquecidos ou
no so tratados com o cuidado necessrio o que gera uma
distncia entre a base que os alunos estudam e aquela que
eles tm disponvel para trabalhar, fato que pode gerar
desestmulo e desinteresse.

2.4. Provvel inadequao do foco da disciplina de


arquitetura de computadores.

Antes de discutirmos o problema de maneira profunda


precisamos identificar os causadores. de suma importncia
que a raiz causadora dos problemas seja identificada, e a
partir desta identificao poderemos realizar estudos e
desenvolver propostas de soluo. Dentre as causas
podemos citar algumas.

2.1. Falta de preparo dos professores.


A disciplina de arquitetura de computadores, objeto de
discusso desta proposta, est presente em cursos de
computao, e uma questo a ser observada o fato de que
os profissionais de computao de maneira geral so
formados para atuar como tcnicos e no como docentes, ou
seja, estes cursos de graduao apresentam um grande
volume de contedo tcnico para os alunos e alguns destes
alunos acabam se tornando professores. No entanto, no
possuem formao para educadores, no estudam tcnicas
ou estratgias para um processo educacional mais efetivo,
fato que este problema no exclusivo da disciplina
arquitetura de computadores ou dos cursos de computao,
mas de certa forma gera influncia no processo de formao
de novos indivduos.

A disciplina arquitetura de computadores est presente


em vrios cursos, tais como: Cincia da Computao,
Sistemas de Informao, Engenharia Eltrica, Engenharia
Eletrnica e outros. evidente que cada um dos cursos aqui
citados possui objetivos distintos, porm muitas vezes a
disciplina arquitetura de computadores ministrada
seguindo a mesma ementa o mesmo material e com a
mesma profundidade. O que um erro, a ementa deveria ser
adequada necessidade de cada curso, por exemplo, a
disciplina deveria ser adequada real necessidade que ela
possui para o curso de cincia da computao.

2.5. Trabalho da percepo do aluno para com a


disciplina arquitetura de computadores.
O aluno precisa entender claramente o objetivo da
disciplina no contexto do seu curso, poderamos trabalhar
com mecanismos para a coleta da percepo do aluno a
respeito do contedo e relevncia do mesmo. De posse desta
coleta de dados mecanismos de ajuste poderiam ser
utilizados, para preparar melhor os alunos ou at mesmo
para ajustar a disciplina.

2.2. Relacionamento da disciplina arquitetura de


computadores com as demais disciplinas do
curso de computao.
Muitas vezes a disciplina pode ser tratada como um
objeto independente dentro do curso, o que um erro, afinal
a arquitetura entre outras coisas compe a base slida do
computador onde todos os outros processos e procedimentos
sero executados. Uma estratgia para atacar esta fonte de
problemas a apresentao da importncia da disciplina

3. Revitalizao do ensino de arquitetura de


computadores.
3.1.

O grande desafio

Surge uma grande oportunidade para a revitalizao do


ensino de arquiteturas de computadores devido mudana
de paradigma arquitetural, promovida pelas novas
arquiteturas baseadas em mltiplas unidades de

100

Workshop sobre Educao em Arquitetura de Computadores - WEAC 2009

processamento. de fato um momento muito importante


que deve ser analisado com cuidado pelos pesquisadores e
educadores em arquitetura de computadores. Este novo
paradigma arquitetural aliado s crescentes necessidades de
desempenho computacional evidenciam a importncia e
necessidade dos conhecimentos sobre arquitetura de
computadores. Vamos analisar com um pouco mais de
cuidado: Quando ser que teremos novamente uma
oportunidade singular como esta ? Ser que o paradigma
arquitetural sob o qual nossos sistemas computacionais so
construdos sofrer uma mudana to significativa nos
prximos 5 ou 10 anos ?
Podemos perceber que o grande desafio aqui
apresentado est relacionado a um problema, cujas causas
so diversas. O grande desafio ento est relacionado s
estratgias e propostas que surgiro com o objetivo de atacar
as causas aqui apresentadas. Porm, de suma importncia
salientar que pesquisas neste sentido no tero resultados
imediatos, uma vez que temos que trabalhar, entre outros
aspectos, com a formao dos novos formadores, e at que
estes novos formadores estejam aptos e preparados para
formar novos indivduos, um tempo ser necessrio.
Revitalizar o ensino em arquiteturas de computadores
no um desafio trivial, uma vez que para solucionarmos os
problemas e dificuldades aqui apresentados seriam
necessrios trabalhos intensos cuja validao e avaliao
no pode ser realizada de maneira instantnea.

3.2. Ensinando a
computadores.

ensinar

arquiteturas

de

Um trabalho interessante, onde o foco est baseado nos


elementos, ensino e arquitetura de computadores [4],
apresenta uma discusso sobre o processo de ensino. O autor
apresenta 10 mandamentos para um ensino de qualidade sob
responsabilidade do educador. Mas tambm levanta uma
questo de suma importncia que diz respeito aos princpios
fundamentais da disciplina arquitetura de computadores que
no mudam ou quando mudam de maneira muito lenta, bem
como a implementao concreta deles. Podemos analisar da
seguinte maneira, existem princpios fundamentais que no
mudam com freqncia, j a implementao concreta destes
princpios, devido s crescentes necessidades de
desempenho, podem sofrer alteraes ao longo do tempo,
por exemplo, visando um maior desempenho. O que mais
uma vez nos indica a necessidade de entendimento profundo
sobre arquiteturas de computadores e seu processo evolutivo
bem como a constate capacitao dos docentes ligados a esta
disciplina.

3.3. O ensino de arquiteturas paralelas ao longo


da graduao.
Segundo [5], uma discusso muito importante est
relacionada ao ensino de arquiteturas paralelas ao longo da
graduao de computao. O trabalho apresenta uma
proposta intimamente ligada situao do mercado. As

arquiteturas paralelas esto amplamente disponveis, mas os


profissionais de computao, principalmente os egressos dos
cursos de computao esto aptos? Receberam formao
suficiente para atuar na construo de aplicaes paralelas
que faro uso dos benefcios que estas arquiteturas podem
prover?

3.4. Motivando os alunos ao


arquitetura de computadores.

estudo

de

Uma estratgia interessante para minimizar um dos


problemas identificados no processo de ensino e
aprendizado de arquitetura de computadores est ligada ao
processo de motivao que podemos submeter os alunos de
computao. Fazer algo por obrigao no agradvel e
geralmente no gera bons resultados. O aluno deve estar
motivado, precisamos utilizar elementos e tcnicas que
possam promover algum tipo de estimulo nos alunos, ou
seja, necessitamos despertar o interesse do aluno sobre
arquitetura de computadores. [6] apresenta uma estratgia de
tcnica motivacional atravs da aplicao de pequenos
desafios baseados nos grandes desafios da computao [7]
com o intuito de promover interesse nos alunos, para que
desta forma eles possam executar o processo de aprendizado
de arquiteturas de computadores de maneira agradvel. Um
segundo trabalho com objetivo de atacar o mesmo problema
apresentado por [11], onde abordado o portal PEAC,
uma estratgia de construo de um portal para concentrar
as informaes a respeito de pesquisas e trabalhos
relacionados com Arquitetura de Computadores.

4. Concluso
Ao analisar as possveis causas e os trabalhos
relacionados foi possvel discriminar alguns fatores
causadores do problema motivador. Trabalhos futuros em
busca da soluo dos problemas aqui apresentados so
indispensveis, bem como a elicitao de novos fatores
causadores quem podem surgir devido a aspectos locais. O
ambiente onde a disciplina arquitetura de computadores esta
inserida pode apresentar estes fatores locais. Alm disso,
podemos reafirmar a relevncia da proposta, e o resultado
que podemos extrair do respectivo trabalho de fato esta
reafirmao. Precisamos subsidiar muito bem os alunos de
computao no que se diz respeito aos conhecimentos em
arquiteturas de computadores, para que de possam aplic-los
nas disciplinas do curso de computao onde este
conhecimento se faz necessrio, principalmente no
aprendizado de programao paralela, desta forma fica claro
que esta uma oportunidade singular para a revitalizao do
ensino de arquitetura de computadores. A necessidade de
trabalhos voltados para a incessante busca na melhoria dos
processos e mtodos educacionais tambm pode ser retirada
como aprendizado neste trabalho.
A partir da reflexo dos problemas e dificuldades
encontrados no processo de ensino aprendizado de
arquitetura de computadores, reafirmados pelo referencial,
podemos evidenciar a existncia e relevncia do problema.

101

Workshop sobre Educao em Arquitetura de Computadores - WEAC 2009

Criando uma perspectiva de reflexo slida e embasada que


o principal objetivo deste trabalho, propor uma discusso
sobre a revitalizao do ensino a aprendizado de arquitetura
de computadores devido a crescente necessidade de
construo de aplicaes paralelas, que demandam um
conhecimento cada vez maior sobre a arquitetura de
computadores.
Se pararmos para analisar qual a verdadeira finalidade da
formao de um bacharel em computao ou sistemas de
informao, podemos chegar a uma concluso parecida com
a seguinte:
O bacharelado de computao tem como objetivo formar
um individuo capaz de atuar com as mais diversas tcnicas
para construo de softwares, cujos propsitos podem ser
variados. Podemos citar alguns exemplos como softwares
voltados para otimizao e controle de processos de negcio
ou softwares para auxiliar ou automatizar algum
procedimento da prpria rea da computao (Ex.
compilador). Para tanto imprescindvel um aprendizado
efetivo de programao de computadores. Podemos verificar
esta forte preocupao com a qualidade do processo de
ensino e aprendizado de programao atravs dos trabalhos
[8][9][10][12][13].
Podemos ento analisar o software ou a construo do
software de qualidade como o principal direcionador dos
cursos de computao e podemos expressar o software como
um conjunto de elementos de configurao capazes de
determinar o comportamento de uma arquitetura. Portanto a
arquitetura de computadores algo de importncia singular
para os cursos de computao, tudo que construdo em
termos de software necessita de uma arquitetura real em
algum nvel capaz de executar este software. O software
nada mais do que a determinao de um comportamento
que uma determinada arquitetura pode assumir.
Como podemos determinar um comportamento para uma
arquitetura se no a conhecemos? Ou ento se no a
conhecemos em um nvel adequado a uma dada necessidade.
Em outras palavras para construirmos aplicaes paralelas
com qualidade imprescindvel o conhecimento acerca da
arquitetura sob a qual estaremos construindo uma aplicao.
De posse de tantos questionamentos e indagaes fica
clara a real necessidade de uma discusso profunda a cerca
dos problemas no processo de ensino-aprendizado de
arquiteturas de computadores, e quem sabe possamos nos
aproveitar do momento que vivemos para revitalizar o
ensino de arquiteturas de computadores, discusso esta que
deve ser seguida de pesquisas cientificas mais detalhadas
que busquem solues para os problemas apresentados.
Desta forma fica claro que um dos grandes desafios da
educao em arquitetura de computadores esta relacionado
ao processo de revitalizao do ensino. importante
ressaltar que este grande desafio no um desafio somente
dos profissionais educadores, mas tambm dos alunos
principais interessados na assimilao dos conhecimentos
sobre arquitetura de computadores.

5. Referncias
[1] Currculo de Referncia para Cursos de CC, EC e SI.
Disponvel
em:
http://www.sbc.org.br/index.php?language=
1&subject=28&content=downloads&id=82. Acesso em: Agosto
2009.
[2] Rocha J. C. e Rapkiewicz C. E. O Processo de EnsinoAprendizagem de Fundamentos de Programao: Uma Viso
Crtica da Pesquisa no Brasil. Workshop de Educao em
Computao WEI 2004. Vitria - ES, Rio das Ostras - RJ, Brasil.
[3] Tobar, C. M; Rosa, J. L. G. ; Coelho, J. M. A. e Pannain, R.
Uma Arquitetura de Ambiente Colaborativo para o Aprendizado
de Programao. XII Simpsio Brasileiro de Informtica na
Educao 2001, Vitria, ES, Brasil. p. 244-252.
[4] Patt, Y.N. Teaching and teaching computer architecture: two
very different topics: (some opinions about each). Workshop On
Computer Architecture Education WCAE 2003, San Diego,
California, USA.
[5] Maciel, E.; Machado, F. R. S.; Junio, L. Ensino de arquitetura
paralela ao longo da graduao em computao Workshop sobre
educao em Arquitetura de Computadores - WEAC 2008, Campo
Grande, MS, Brasil. p. 33-36.
[6] Tostes, A. I. J.; Tcnica Motivacional Para o Ensino de
Arquitetura de Computadores com nfase nos Grandes Desafios da
Computao Workshop sobre educao em Arquitetura de
Computadores -WEAC 2008, Campo Grande, MS, Brasil p. 29-32.
[7] Relatrio sobre o Seminrio realizado em 8 e 9 de maio de
2006. Grandes desafios da Pesquisa em Computao no Brasil
2006-2016. Disponvel em: http://www.sbc.org.br/index.php
?language=1&content=downloads&id=272. Acesso Agosto 2009.
[8] Moreira, M.P.; Fvero, E.L. Um Ambiente para Ensino de
Programao com Feedback Automtico de Exerccios. Workshop
sobre Educao em Informtica WEI 2009, Bento Gonalves, RS,
p. 429-438.
[9] Hinterholz, O. Tepequm: uma nova Ferramenta para o Ensino
de Algoritmos nos Cursos Superiores em Computao. Workshop
sobre Educao em Informtica WEI 2009, Bento Gonalves, RS,
Brasil, p.485-488.
[10] Vahldick, A.; Benitti, F.B.V.; Urban, D.L.; Krueger, M.L.;
Halma, A.. O uso do Lego Mindstorms no apoio ao Ensino de
Programao de Computadores. Workshop sobre Educao em
Informtica WEI 2009, Bento Gonalves, RS, p. 523-526.
[11] Felix, A.; Menezes, C.; Vianna, E.Portal PEAC: um meio de
melhorar a educao de Arquitetura de Computadores. Workshop
sobre educao em Arquitetura de Computadores - WEAC 2008,
Campo Grande, MS, Brasil, p. 45-48.
[12]Greca, A.; Jovanovic, V.; Harris, J. Enhancing Learning
success In The Introductory Programming Course. Frontiers In
Education Conference FIE 2003, Boulder, CO, USA, p. 15-21.
[13]Nabeel, D.; Litka, B.T. Objective Based Assessment In A First
Programming Course. Frontiers In Education Conference FIE
2002, Boston, MA, USA, p.13-17.

102

You might also like