Qual é a diferença entre ciência da computação especificada em software e engenharia de software? Qual é melhor?


resposta 1:

Primeiro vamos definir alguns termos. A “engenharia de software” realmente não existe na maioria dos lugares, pois não há requisitos de licenciamento e não existe uma uniformidade real no trabalho do curso. Compare isso com, por exemplo, a Engenharia Elétrica, onde o licenciamento e o trabalho do curso são muito mais uniformes, mesmo além das fronteiras nacionais.

Além disso, o que você quer dizer com "melhor". Uma maçã é melhor que uma pêra? Você deve definir seus termos. Vou comparar e contrastar os dois da melhor forma possível, com base no meu B. Sci. grau e anos de trabalho na indústria.

  1. Os diplomas de Ciência da Computação são mais uniformes. Você aprenderá sobre o que significa computação, estruturas de dados, linguagens de programação (talvez seja necessário escrever um compilador). Em meus cursos, criamos um computador a partir de hardware e programamos em código de máquina e escrevemos um assembler, ordenando e pesquisando algoritmos e sua complexidade. , você pode obter uma introdução ao AI e Machine Learning, teoria de bancos de dados etc. "Engenharia de software" (SE) cobriria a maioria dos tópicos do item um, mas com poucos detalhes para deixar tempo para aprender coisas específicas sobre desenvolvimento , práticas de desenvolvimento de equipe e software, às vezes cursos de certificação e desenvolvimento de aplicativos práticos.

O aprendizado que você faz em Ciência da Computação é mais genérico e melhor definido. Descobri que isso me ajudou a entender as novas tecnologias mais rapidamente, pois "sob o capô" não há muita diferença. Um compilador é um compilador, uma máquina virtual é uma máquina virtual. Alguns detalhes da implementação podem diferir, mas não muito. Ele me ensinou a me treinar rapidamente. O programa em que eu estava realmente nos forçou a aprender 3 linguagens de programação em um semestre.

Um SE forneceria mais itens no currículo para conseguir um emprego após a formatura. Mas os graduados que conheci parecem menos flexíveis às vezes. Eu conheci alguns que estavam com medo de mudar as pilhas de aplicativos, pois nunca foram treinados e certificados para eles. O que pode ser uma limitação de carreira. Mas é claro que, devido à falta de uniformidade, é difícil generalizar. Vi bons programas e pessoas capazes se formarem a partir deles, e vi programas que nada mais eram do que fábricas de certificação.

Qual é melhor? Isso depende do programa e do que você quer de uma carreira.


resposta 2:

Por décadas, ambos foram considerados a mesma coisa porque a Ciência da Computação era ensinada em faculdades de engenharia por professores de engenharia.

Mas agora, alguns Programas de Ciência da Computação interromperam as faculdades de engenharia e agora são faculdades separadas dentro do sistema universitário. A Universidade Carnegie Mellon, em Pittsburgh, é uma delas.

O que é melhor dependeria de qual faculdade você está ensinando ou frequentando.

Eu sou engenheiro, então sou preconceituoso.