Cursos de Computação

Antes de qualquer outra questão...

Você deve estar interessado em cursos de computação oferecidos pela UFG.
A importância da computação é indiscutível, pois ela permeia todas as áreas do conhecimento e, além disso, tem aplicação na educação, saúde, segurança, entretenimento e negócios. Embora recente, o conhecimento e as habilidades pertinentes à computação já se estendem por vários cursos superiores. A UFG oferece quatro deles. Este texto oferece oportunidade de esclarecer as diferenças entre tais cursos.
Quais os cursos de computação oferecidos pela UFG?
O Instituto de Informática oferece os cursos Ciências da Computação (CC), Engenharia de Software (ES) e Sistemas de Informação (SI).
A Escola de Engenharia Elétrica e Computação oferece o curso de Engenharia de Computação (EC).
Ciência da Computação (CC)
O Curso de Ciência da Computação aborda de forma aprofundada os conceitos e teorias da computação, possibilitando ao aluno exercitar sua capacidade de investigação, tornando-o apto a aprender de forma autônoma e contínua, a pesquisar, interpretar, analisar e criticar informações técnicas e científicas, com o objetivo de identificar problemas do mundo real, propor soluções inéditas para os mesmos ou melhorar as já existentes.
O egresso do curso de CC está habilitado, dentre outras coisas, para desenvolver softwares básicos, aplicativos, sistemas de informação e a contribuir para o desenvolvimento de conhecimento e tecnologias que permitam a evolução da computação.
 
 Engenharia de Computação (EC)
 
Mais informações sobre este curso no site http://www.eeec.ufg.br .
 
 Engenharia de Software (ES)
 
Forma o engenheiro de software, do qual o valioso mercado de software depende e está carente em todo o mundo. Desde equipes pequenas e ágeis até equipes numerosas, este profissional domina processos de software, bem como a execução das atividades pertinentes, inclusive aquelas de gerência. Este é o profissional que constrói software competitivo para o mercado nacional e global. Apresenta sólida formação em construção de programas, arquitetura de software e tecnologias de produção de software.
Sistemas de Informação (SI)
 Forma o profissional com a missão de viabilizar a implantação de soluções computacionais em organizações. O produto direto é satisfazer necessidades de organizações pelo emprego efetivo de tecnologia (hardware e software). Para este profissional a computação é meio. Alia ferramentas como linguagens de programação, bancos de dados e outras, com a visão de administração para solucionar problemas organizacionais.
Antes de prosseguir, alguns comentários...
 
A distinção entre estes cursos se faz necessária pelo volumoso conjunto de conhecimentos pertinente e as habilidades diferenciadas que oferecem. Não é prático obter a união de todos os resultados dos cursos comentados acima em um único curso. Por outro lado, mesmo com tal divisão a interseção entre eles não é nula.
As informações aqui contidas não tem a pretensão de serem definitivas, mas de esclarecer à sociedade a perspectiva adotada pela UFG. Orientações da Sociedade Brasileira de Computação (SBC), resoluções do Ministério da Educação e Cultura (MEC) e propostas internacionais (ACM/IEEE) foram observadas. Em particular, o presente documento toma emprestado várias informações contidas no Computing Curricula 2005 The Overview Report (http://computingcareers.acm.org/).
Breve Comparação
Se deseja que empresas e organizações empreguem eficientemente a computação e gostaria de vê-las incorporando modernas tecnologias de informação, de modo a torná-las mais dinâmicas e competitivas, então sua opção seria pelo curso de Sistemas de Informação (SI). A computação a serviço da sociedade é o lema deste curso. Sistemas de informação são utilizados por diversos setores das organizações para planejamento e gerenciamento da infra-estrutura de informação e podem ser utilizados tanto para atender necessidades específicas de setores como contabilidade, marketing, vendas, produção e outros, quanto para integrar toda a organização.
Se você gostaria de contribuir para o desenvolvimento de conhecimento e de tecnologias que permitam a evolução da própria computação, então sua opção deveria ser pelo curso de Ciências da Computação. Neste caso, não seria sua atribuição elaborar planilhas de cálculo sofisticadas ou implantar um sistema de informação que irá otimizar processos de uma empresa. Você estaria do outro lado, ou seja, do lado de quem propôs o software da planilha ou de quem fez o produto inovador.
 Em outro extremo, se o seu desejo está na confecção de software, o curso mais apropriado seria (ES).Engenharia de Software (ES) é o curso para aquele que deseja trabalhar em equipe e adquirir habilidade para construir softwares complexos, no tempo e com a qualidade esperados. Software bem maior do que uma única pessoa pode conceber e desenvolver é o alvo deste profissional.
Ciência da Computação (CC) é o curso recomendado para quem, por exemplo, deseja criar um software que recebe uma foto de uma criança de dez anos e devolve a imagem do adulto correspondente aos 30 anos. Em tal caso, o foco está no desafio de propor como isto poderia ser feito. O profissional de CC também seria o indicado para tratar problema para o qual soluções (algoritmos) eficientes são desconhecidas. Caberia ainda a este profissional, encontrar uma estratégia mais eficiente para troca de informações via internet, ou um método de controle de acesso a informações compartilhadas, ou um novo formato de dados mais compacto para armazenar informações digitais.
 
Qual a relação dos cursos com software?
 Se o software envolve um desafio, cabe ao profissional da Ciência da Computação (CC) propor uma solução. Se o problema é automatizar um banco, por exemplo, então isto é assunto para os profissionais de Sistemas de Informação (SI). Por fim, se o problema é a implementação (desenvolvimento propriamente dito) de software, então é assunto da Engenharia de Software (ES).
Perguntas comuns
O curso de Ciência da Computação inclui Engenharia de Software, por que então um curso específico de Engenharia de Software?
De fato, no Brasil, são desconhecidos cursos de graduação em Engenharia de Software. Em geral, engenharia de software é fornecida exclusivamente no âmbito dos cursos de Ciência da Computação ou Sistemas de Informação. O que se observa nestes casos é um foco dirigido para o conhecimento da área de engenharia de software propriamente dita e, portanto, bemdistante da formação de um profissional apto a efetivamente produzir software.
Como separar Sistemas de Informação (SI) de Engenharia de Software (ES)?
Ambos lidam com software, inclusive a construção deste, contudo, os enfoques são distintos. Sistema de Informação está interessado no uso efetivo de software em um ambiente corporativo, o segundo, o desenvolvimento de software propriamente dito. O primeiro está bem melhor preparado para definir e alinhar o software às necessidades de uma organização, o outro, a confeccioná-lo. Estes profissionais podem atuar em equipes multidisciplinares, em um mesmo empreendimento, enquanto o primeiro cuida da adequação de uma proposta de informatização, será o segundo quem irá implementá-la. Enfim, o engenheiro de software conhece mais profundamente as várias ferramentas de desenvolvimento de software do que o profissional oriundo de um curso de Sistemas de Informação, que por sua vez, está melhor preparado para perceber a oportunidade de implantação da tecnologia da informação (hardware e software) em uma dada instituição.
Qual dos cursos está mais próximo de assegurar que a infra-estrutura de computação de uma empresa está adequada?
Sistema de Informação (SI). É assunto do profissional deste curso assegurar que tal infra-estrutura atende necessidades das empresas e resolvem os problemas para os quais foi montada.
Profissionais de Ciência da Computação não produzem software?
Sim. De fato, em todos estes cursos os profissionais desenvolvem software. Contudo, se se trata de cientista da computação, então provavelmente tal profissional estará envolvido com o desenvolvimento científico e tecnológico e estará trabalhando num novo sistema computacional ou desenvolvendo projetos para bioinformática ou sistemas inteligentes, ou investigando alternativas para um problema desafiador. Por exemplo, implementando uma nova abordagem para consultas eficientes em um banco de dados. O foco é um desafio no âmbito do domínio. Em vez disso, o engenheiro de software visa produzir softwares complexos, caros e confiáveis e faz disto o seu principal trabalho. O foco é um desafio de desenvolvimento de software. Se a solução envolve uma estratégia para busca de informações na internet, então os profissionais da Ciência da Computação se encarregam de produzir a solução e os engenheiros de software de implementá-la.
Considerações finais
A interpretação dos cursos aqui apresentada tem o propósito de esclarecer ênfases dos cursos da UFG. O leitor interessado pode contactar os respectivos coordenadores dos cursos para informações adicionais:
  • Ciências da Computação
    Plínio de Sá Leitão Júnior (plinio@inf.ufg.br)
  • Engenharia de Computação
    Gélson da Cruz Júnior (coordcomp@eeec.ufg.br)
  • Engenharia de Software
    Edmundo Sérgio Spoto (edmundo@inf.ufg.br)
  • Sistemas de Informação
    Leandro Luís Galdino de Oliveira (leandroluis@inf.ufg.br)
Autoria
Este documento foi preparado para o Instituto de Informática (órgão encarregado da área de Computação e Informática na UFG) pelos docentes Fábio Nogueira de Lucena, Lenice Miranda Alves e Nilzete Olímpio Álvares, Eduardo Simões de Albuquerque e Cristiane Bastos Rocha Ferreira.