Qual é a diferença entre 'computer science and engineering' e 'computer engineering'?

A2A. Eu precisaria ver os currículos para ver se há alguma diferença para um especialista em engenharia da computação. Pode haver mais cursos de ciência da computação necessários em um departamento de ciência da computação e engenharia.

Geralmente, a diferença é organizacional porque um departamento de ciência da computação e engenharia ofereceria tanto um curso de ciência da computação quanto um curso de engenharia da computação. Enquanto um departamento de engenharia da computação ofereceria apenas uma engenharia da computação.

Se você estiver frequentando uma universidade que possui um programa de graduação em “Ciência e Engenharia da Computação”, posso apenas assumir que essa deve ser uma área de estudo exclusiva da instituição. A maioria das universidades, Ciência da Computação e Engenharia de Computação são 2 programas diferentes. Mas, com toda a justiça, muitas universidades têm um "Departamento de Engenharia e Ciência da Computação". Outras universidades têm um departamento / graduação em "Engenharia Elétrica e Ciência da Computação", como o MIT. Percebi que o currículo entre diferentes instituições tende a variar bastante.

As seguintes descrições são baseadas no sistema da Universidade do Texas. Embora eu seja estudante da UTSA, as outras universidades desse estado são quase idênticas em seus programas

O grau de Ciência da Computação (CS) é focado principalmente em programação, desde os níveis mais baixos (montagem, linguagem de máquina) até o mais alto nível, linguagens orientadas a objetos (por exemplo, C ++, Java, etc.). Muitas instituições não exigem muita matemática para esse grau, e aquelas que não o usam muito para seus estudos de CS. Por exemplo, na UTSA (uma das mais famosas do país em CS, aliás, com uma das três principais equipes de segurança de computadores do país), exige até Cal2 para obter um diploma em CS. Lembre-se de que a matemática mais importante para os graduandos em CS é a Matemática Discreta (e o Math Foundations, uma extensão da Matemática Discreta), que é essencialmente a matemática fundamental por trás de todas as linguagens de programação. Geralmente, você não usa muito Cálculo no CS.

O grau de Engenharia da Computação (CpE) (que não deve ser confundido com CE = Engenharia Civil) é principalmente um subconjunto da Engenharia Elétrica. Em um programa típico de Engenharia da Computação, os cursos de Engenharia que você estuda são cursos de Engenharia Elétrica (EE). A única sobreposição entre CS e CpE (na minha universidade) é que ambos os programas exigem matemática discreta. O EE e o CpE têm exatamente os mesmos cursos de gateway (Teoria de Rede e Design Lógico) e compartilham cerca de 85% dos mesmos cursos em seus respectivos planos de graduação, dependendo da concentração de EE. Uma dessas concentrações é a Engenharia da Computação (ironicamente), mas ainda não possui exatamente a mesma carga horária do plano de graduação da CpE. Especificamente, os EE fazem 5 cursos que os CpE não fazem (estática e dinâmica, engenharia eletromagnética, análise e projeto de sistemas de controle, sinais discretos e sistemas e circuitos eletrônicos II) e os EE não tomam Matemática Discreta (por sorte) como bem como quaisquer cursos de programação (C ++ e estruturas de dados, programação de sistemas para engenheiros e organização e arquitetura de computadores). Esses cursos de programação de EE são versões muito mais fáceis de seus colegas de CS. Na minha universidade, o curso de CS, Programação de Sistemas, poderia ser o curso mais difícil da Universidade INTEIRA, já que a maioria dos estudantes (que conheci) falhou na primeira vez. Provavelmente, isso se deve ao fato de ser um curso eliminatório para selecionar alunos para a Equipe de Segurança de Computadores da UTSA (a que mencionei anteriormente). Os alunos que têm a sorte de obter um A ou B (o que significa que foram aprovados) neste curso são colocados em uma lista de hierarquia para recrutamento na equipe.

Então, como você pode ver, existem diferenças muito visíveis entre Ciência da Computação e Engenharia de Computação. Essencialmente, o CS foca na programação e o CpE no design de hardware e em alguma programação (especialmente no nível da linguagem assembly).

Em poucas palavras, o major de CS se concentra nos aspectos de programação dos computadores, enquanto o CpE major se concentra nos aspectos de hardware da computação (geralmente através do uso de uma HDL (Linguagem de Descrição de Hardware), como Verilog ou VHDL., Mas eles precisam adotar programação. cursos.