A disciplina mais precisamente chamada de "Ciência da Computação" é, na maioria das universidades que verifiquei, uma ciência aplicada, semelhante às disciplinas de engenharia; se você se formar, recebe um "BS" ou "MS". O grau de CS da Texas Tech foi oferecido pela faculdade de Engenharia. A disciplina, como ensinada, é principalmente teórica; você aprende o conceito de máquinas de Turing, DAs / NDAs e outros conceitos fundamentais de que o programador "cotidiano" não precisa realmente ficar mexendo no crânio. Você também recebe um monte de matemática superior; o Texas Tech CS, e aposto que muitos outros também oferecem a você um menor de matemática. Para isso, a maioria das faixas de graduação da universidade adiciona uma pitada de aplicação prática de baixo nível; você aprende uma linguagem assembly, uma linguagem de terceira geração,
No entanto, a maioria das pessoas que codificam para viver não são "cientistas da computação"; eles são, estritamente falando, "desenvolvedores de software" ou (quando você adiciona análise / design) "engenheiros de software"; esse trabalho tem muito menos nível de hardware (embora você precise conhecer o básico), muito mais análise de sistemas, design e codificação direta. Muitas universidades têm uma trilha diferente apenas para isso; na Texas Tech, chamava-se "Gerenciamento de sistemas de informação" e era formado em administração de empresas (BBA / MBA). Essa faixa era mais leve em matemática mais alta (o que você precisava saber sobre álgebra e cálculo diferencial / integral era espremido em dois semestres de "matemática de negócios" e não incluía cálculo de vetor / tensor, álgebra linear etc.), muito mais pesado em matemática financeira (um semestre de estatísticas e finanças, com dois cada um de contabilidade e economia). Mais leve em sistemas operacionais, mais pesada em tecnologias de "pilha", como bancos de dados, servidores web, redes e administração geral de sistemas. Mais leve em idiomas de baixo nível, design de circuitos e IA, mais pesado em idiomas de 3ª e 4ª geração, análise de sistemas e gerenciamento de projetos. Eu me formei na Texas Tech e, quando saí, já tinha pelo menos um semestre de Java, VB, C # e linguagens da web (HTML / CSS / PHP), além de um ano de OOA & D e vários outros cursos no gerenciamento de projetos de TI.
Qual é o melhor no mundo real? Eu adquiri o MIS BBA, meu irmão obteve o CS BS e nós dois trabalhamos com o mesmo nível salarial (ajustando o custo de vida) dos engenheiros de software seniores. Ele teve que aprender muito do OOA & D necessário no trabalho, bem como acelerar muito rapidamente em C # / Java a partir de seu conhecimento básico em C ++. De minha parte, eu gostaria de ter os dois semestres de estudo de algoritmo conceitual que ele obteve enquanto eu estava preso em cursos de gerenciamento de negócios (sim, o MIS é um "Gerenciamento", mas descobri que 99% do meu conhecimento de como gerenciar e não gerenciar outras pessoas foi aprendido por exemplo).