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

2 comentários:

Arth Informática disse...

Gosto muito dos artigos de ótima qualidade do seu Blog. Quando for possível dá uma passadinha para ver nosso Curso de Informática Online. Lucas

Anônimo disse...

Você não falou nada com nada. Que artigo é esse? Ciência da Computação tem 3 matérias, 3! de Desenvolvimento de Software e não forma pra ser Engenheiro de Software? Acho que você trocou as bolas. O Curso de Ciência da Computação só tem um apelido "software" e você fala que não faz formação? Muitos cientistas da computação vão trabalhar justamente com engenharia de software, porque é a área que eles mais dominam. Total falta de informação este artigo.