quarta-feira, 14 de março de 2012

Diferenças entre os cursos de computação

Vimos na postagem anterior que existem várias propostas para formação de profissionais em nível superior na área de computação/informática.

O curso de Bacharelado em Ciência da Computação oferece uma formação mais ampla na área, cobrindo suas diferentes sub-áreas (computação gráfica, inteligência artificial, arquitetura de computadores, redes de computadores, teoria da computação, e sistemas distribuídos) e não oferece, portanto, formação específica e direcionada para a área de engenharia de software. 


O curso de Bacharelado em Sistemas de Informação oferece uma formação voltada a profissionais que desejam trabalhar na área de tecnologia de informação, cobrindo técnicas e métodos de análise de processos de negócio de empresas, e que se concentram sobretudo na produção de um tipo específico de software, os sistemas de informação. 


curso de Engenharia de Computação é voltado, principalmente, para o projeto de sistemas de hardware e sistemas de software relacionados à automação industrial, telecomunicações, e sistemas embarcados.    


A Engenharia de Software é fundamentada sobretudo na ciência da computação e na matemática [Software Engineering Curriculum ACM/IEEE, 2005]. Ao longo dos últimos anos, a área de engenharia de software e suas diferentes disciplinas têm amadurecido bastante, através da proposição de novos métodos e técnicas que possibilitem o desenvolvimento de softwares mais confiáveis, de melhor qualidade, com custo reduzido e alta produtividade. 


Buscando atingir tais objetivos, a formação do profissional de ES exige não apenas um amplo domínio de técnicas de programação modernas e avançadas, mas também o conhecimento e o domínio das diferentes disciplinas que compõem o processo de desenvolvimento de software. 


A IEEE Computer Society apresenta, em seu guia de corpo de conhecimento na área de engenharia de software [SWEBOK, 2004], as principais disciplinas que compõem a área, sendo elas: requisitos, projeto, construção, testes, manutenção de software, gerência de configuração, gestão de projetos, processos de desenvolvimento, ferramentas e métricas de engenharia de software, e qualidade de software. Cada uma destas disciplinas requer o aprendizado de técnicas e ferramentas específicas. 


A diferença de formação de profissionais nas diferentes carreiras em computação [ACM Carreers, 2009] é também destacada pela Association for Computing Machinery (ACM), a qual já reconhece explicitamente a área de engenharia de software como uma carreira na área de computação, e destaca as diferenças e necessidades de formação de profissionais em comparação com outras carreiras, tais como, ciência da computação e engenharia da computação. 


Referências



[ACM/IEEE-CS, 2005] Computing Curricula 2005 – The Overview Report. The Joint Task Force on Computing Curricula IEEE Computer Society/Association for Computing Machinery, 2005. URL: http://www.acm.org/education/education/curric_vols/CC2005-March06Final.pdf

[SWEBOK, 2004] Guide to the Software Engineering Body of Knowledge, IEEE Computer Society, 2004. URL: http://swebok.org

sexta-feira, 2 de março de 2012

A Engenharia de Software e os Cursos de Computação

A UFRN é uma das pioneiras no Brasil a oferecer uma graduação em Engenharia de Software. O curso iniciou suas turmas em 2010 e conta com cerca de 100 alunos matriculados. Já existem outros cursos semelhantes na UFG, a UNB, a Unipampa, a UFC e outras.

O curso de Engenharia de Software da UFRN tem sua base na computação e na matemática, mas foca sua parte aplicada nas diversas atividades práticas necessárias para os profissionais da área. Para saber mais você pode visitar a página do curso.

Mas você sabe a diferença entre o curso de ES e os outros cursos de computação. Vamos começar aqui alguns esclarecimentos numa série de postagens.

A Computação é uma área ou disciplina bastante abrangente que envolve a fundamentação teórica das construções computacionais, o desenvolvimento de tecnologias que viabilizam processos computacionais, a aplicação do conhecimento teórico e das tecnologias na construção de soluções práticas para problemas da sociedade e o estudo dos fenômenos individuais e sociais resultantes das tecnologias computacionais.

Além de ser uma área bastante abrangente, a computação têm evoluído de forma bastante rápida desde a primeira metade do século 20, quando importantes avanços no campo teórico e no desenvolvimento tecnológico caracterizaram a computação como um importante campo de estudo e de atuação profissional.
Com toda esta evolução, é fundamental que a formação de cientistas, engenheiros, técnicos e outros profissionais da computação evolua para acompanhar os novos desafios que eles vão encontrar.

Existem diversas denominações de cursos na área de computação. As principais sociedades de computação no mundo (a Association for Computing Machiney – ACM, a Association for Information Systems – AIS, e a Computer Society do Institute for Electrical-Electronic Engineering – IEEE-CS) uniram forças e concluíram em 2005 um trabalho que apresenta um currículo de referência para a área de computação [ACM/AIS/IEEE-CS, 2005]. Nesta proposta, estas sociedades propõem cinco possíveis cursos de graduação para a área da computação, apresentando suas diferenças, perfis dos formandos, competências e habilidades. Esta proposta é resultado de uma análise que considerou que as propostas anteriores não atendiam às demandas do mercado de trabalho da atualidade.

Segundo a força-tarefa da ACM, AIS e IEEE-CS, os cursos de graduação em computação podem ser:

·       Engenharia de Computação
·       Ciência da Computação
·       Sistemas de Informação
·       Engenharia de Software
·       Tecnologia da Informação
No Brasil, a Sociedade Brasileira de Computação (SBC) tem atuado junto ao Conselho Nacional de Educação (CNE) e a Secretaria de Ensino Superior (SESU), ambos ligados ao Ministério da Educação na definição das diretrizes curriculares. Para as três primeiras denominações de cursos, a proposta de diretrizes já é bastante conhecida e para Engenharia de Software as diretrizes estão em elaboração.
Nas próximas postagens, vamos apontar as características de cada um destes cursos.