Blog | Diogo Peralta Cordeiro

Passionate about the surrounding nature.

Sobre a Oferta Formativa na área da Computação em Portugal

May 08, 2019 — Diogo Peralta Cordeiro

Este blog post é uma transcrição de uma mensagem que escrevi em resposta a algumas questões sobre a organização dos cursos na área da Computação em Portugal por parte de um estudante do secundário.

Então, a explicação que se segue é baseada nas definições da ACM (Association for Computing Machinery).

Cursos populares de primeiro-ciclo na área da Computação disponíveis em Portugal:

  • Computer Engineering = Engenharia Eletrotécnica e de Computadores
  • Computer Science = Ciência de Computadores
  • Computer Information Systems (USA) | Computing (UK) = Engenharia Informática (often referred as "Informatics" world wide)
  • Information Technology = Tecnologia de Informação
  • [Business] Information Systems = Informática e Gestão
  • Cybersecurity|Computer Information Security [Engineering] = Segurança da Informação

Pela ACM, Computing é o termo que se usa para englobar todas as "coisas" que dizem respeito à Computação (todos os cursos relacionados). Infelizmente, no UK usam Computing para isto e para Informática, which is unfortunate and confusing xb

Cursos não disponíveis no 1.º ciclo (licenciatura) em Portugal mas também populares:

  • Software Engineering = Engenharia de Software
  • Computational {Science,Engineering}|Scientific Computing = Engenharia Computacional

Cursos aparentemente já não disponíveis em Portugal (em qualquer ciclo):

  • Information Engineering = Engenharia da Informação

Objectivos destes cursos

Engenharia Eletrotécnica e de Computadores: Foca-se em engenharia de Hardware/Sistemas de Computadores. Inclui fundamentos de engenharia eléctrica, electrónica, telecomunicações e automação.

Ciência de Computadores: Teoria e Fundamentos de Software com rigor científico. Concentra-se em desenhar e construir software que seja correcto, seguro e eficiente. Este curso prepara-te para resolver os mais difíceis problemas algorítmicos da melhor forma possível. Muito resumidamente, aprende-se acerca dos fundamentos e modelos que tornam a computação possível, a complexidade que caracteriza os problemas que podemos formalizar num computador e as estruturas de dados e algoritmos mais indicados para os resolver.

Engenharia de Software: Desenvolvimento e Manutenção de Software em equipa conforme os requisitos especificados por uma empresa, o ênfase é dado ao frontend e à user experience.

Engenharia Informática: Foca-se em perceber/detectar as necessidades de uma empresa (processos que poderiam ser automatizados) e em integrar sistemas de informação existentes. Ensina-se programação, um pouco de gestão e marketing e fundamentos básicos de engenharia e computação. (A variação de gestão - Informática e Gestão - troca a engenharia por mais gestão)

Tecnologia da Informação: Este curso prepara as pessoas para trabalharem em departamentos de informática das empresas e em helpdesking.

Conclusões

Assim, por exemplo, na construção de um robô (supõe um humanoide com o objectivo de simular um humano):

  • O Cientista de Computadores e o Engenheiro de Informação desenvolvem o sistema inteligente (o primeiro mais dedicado à parte da inteligência artificial e o segundo à interpretação dos dados que recebe pelos sensores do humanóide);
  • O Engenheiro de Computadores desenha os circuitos integrados (processadores) e seus drivers;
  • Tipicamente, Engenheiros de Informação, Engenheiros Computacionais, Engenheiros Eletrotécnicos e de Computadores, [Engenheiros] Físicos e [Engenheiros] Matemáticos [Aplicados], em conjunto com os Cientistas de Computadores, desenvolvem o software para manter este humanoide equilibrado, executar seu movimento e receber informação do mundo real.
  • Os Cientistas Computacionais (percurso de Física) tratam depois de fazer a simulação destes robôs antes de estes realmente serem manufacturados, evitando-se assim custos desnecessários. Do mesmo modo, os Cientistas de Computadores provam a correção do código desenvolvido dentro do possível atendendo aos constraints implicitos pela natureza do sitema.
  • O Engenheiro de Software faz o app que permite controlar tal robô remotamente;
  • O Engenheiro Informático integra este robô nos sistemas de informação das empresas que o querem utilizar;
  • O Técnico de T.I. resolve problemas que possam surgir com o robô no contexto da sua utilização numa empresa.

Não falei sobre alguns dos cursos em detalhe porque, ou são self-explanatory, ou não estão disponíveis a nível de licenciatura em Portugal.

Podes dizer que: "Mas há claramente vários engenheiros informáticos que também fazem apps ou que trabalham no helpdesk de empresas", sim, é o caso de muitos, mas isto é porque os cursos costumam ter percursos de especialização e/ou minors. E um dos percursos de especialização mais populares em Portugal é precisamente Engenharia de Software. Nunca é igual a fazer um curso de Engenharia de Software - pois o major do curso é diferente - mas já permite exercer tal profissão.

Uma grande parte dos Cientistas de Computadores, depois da licenciatura, faz especialização e/ou mestrado em Engenharia de Software ou em Segurança da Informação. Alias, a maioria dos engenheiros de software e segurança são precisamente pessoas que realizaram este tipo de percurso académico (isto nos outros países, em Portugal a maioria é engenharia informática).

Assim, nota que, conforme as escolhas que fizeres de curso e no curso, podes seguir diferentes carreiras em função do que tiveres mais interesse, não é tudo preto e branco e isto só expõe o fundamental a ter em mente na escolha de um major a nível de licenciatura, o resto depois eventualmente descobres quando já estiveres dentro da área. Ou perguntas-me e eu escrevo mais um post ☺

Para te dar um exemplo de um percurso pouco comum em Portugal (mas possível): Eu estou a fazer a minha formação base (major) em Ciência de Computadores e minor em Matemática. E estou ainda a realizar um treino suplementar em Física, Robótica, Sistemas e Controlo. Assim, isto sugere que a minha actividade profissional futura seja dentro desta área.

Referência: https://www.acm.org/binaries/content/assets/education/computing-disciplines.pdf

Algumas notas finais

Science vs Engineering vs Technology

Science: Studies the underlying theory that models the world, unleashing its possibilities (through the interplay of theory and experiment).

Engineering: Designs and manufactures products using concepts of science and technology in a systematic way.

Technology: Addresses the society's needs with the integration of the available products. Implements the things that engineers designed.

Applied Science: When science is used to solve complex scientific and technical problems.

Universidade vs Politécnico

Universidade: Aglomerado de instituições de ensino superior onde se espera interdisciplinariedade e uma abordagem académica.

Politécnico: Aglomerado de instituições de ensino superior onde se espera interdisciplinariedade e uma abordagem orientada ao mercado.

Instituto vs Faculdade

Instituto: Local onde o ensino é feito de modo prático.

Faculdade: Local onde o ensino é feito de modo teórico.