Os departamentos CS têm procedimentos formais para escolher os idiomas ensinados?[fechado]

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/203969

  •  29-09-2020
  •  | 
  •  

Pergunta

.

Eu não estou falando sobre as faculdades do campo / unis.

  • Há algum procedimento de pensamento em instituições de alto escalão com base em critérios formais, estatísticas reais ou demanda da indústria?
  • Se sim, quais são os critérios usados?
  • são as decisões para soltar certas línguas e introduzir outras pessoas feitas sistematicamente ou de uma maneira aleatória?
Foi útil?

Solução

Se estamos falando, digamos, os 10 principais Faculdades e Universidades dos EUA (outros países provavelmente terão diferentes tradições e as pessoas terão definições descontroladamente diferentes de uma "Countrysides College ou University"), não. Uma faculdade comunitária geralmente escolherá as línguas para ensinar com base em quaisquer empregadores de idiomas na área geográfica atendida pelo uso da faculdade. As universidades de alto nível, por outro lado, geralmente têm muito mais critérios idiossincráticos. Por exemplo, quando eu fui ao MIT, os idiomas primários utilizados foram esquemas (porque os professores Abelson e Sussman escreveu Estrutura e interpretação de programas de computador ) e clu Porque o Prof. Liskov projetou-o. Nenhum destes já havia sido idiomas particularmente úteis para profissionais, pelo menos, tem alguns usuários em campos acadêmicos como AI. As universidades de alto nível se vêem como ensinando a ciência da computação, não a programação, e uma vez que geralmente assumem que você usará muitas línguas diferentes sobre sua carreira, as línguas particulares que são ensinadas não são particularmente importantes. As faculdades comunitárias estão no negócio de ensinar a programação, então geralmente preferem idiomas que estão em uso mais comum.

De tempos em tempos, as universidades mudam os idiomas que ensinam. Isso geralmente envolve muitas reuniões e discussões do corpo docente, mas é difícil saber se isso se qualificaria como "sistêmico" ou "aleatório" em suas definições. Em geral, os critérios serão pedagógicos, não práticos. Ou seja, os professores são muito mais propensos a se importar com o que os idiomas facilitam os conceitos subjacentes e quais idiomas vêem como promovendo o belo código, em vez de que os empregadores de idiomas exigem.

Outras dicas

A maioria das universidades "superiores" não se concentram em tecnologias ou línguas específicas, porque estão ensinando conceitos de ciência da computação.Seu objetivo principal não é preparar graduados para o desenvolvimento de software empresarial.

Então, enquanto seus cursos introdutórios podem usar a mesma linguagem para a consistência, não é como se eles escolhem com base em quão popular ela está na indústria de software.

Quanto aos cursos mais tarde em seus programas, minha experiência tem sido que os professores usam o que estiver familiarizados.Eles não se importam tanto com que você aprende Python, por exemplo, tanto quanto eles se importam com o qual você aprende os conceitos teóricos que estão ensinando. Idiomas de programação são geralmente apenas um veículo que os professores usam para martelar o que estão realmente interessados em ensinar.

A maioria das faculdades que conheço ensinar Java como a linguagem introdutória.Conversando com um dos meus professores sobre como nosso departamento escolheu essa linguagem (e por que não pode ser substituída por outra coisa), ele disse:

  • java é portátil.Escreva uma vez, corra em todos os lugares.
  • é fortemente digitado
  • é uma linguagem gerenciada (a maioria dos alunos do CS do primeiro ano ficam muito confusas com ponteiros)
  • é velho, o que significa que há muitos recursos para isso
  • compartilha uma sintaxe semelhante a C, tornando-a amplamente aplicável
  • Obtendo um programa básico de trabalho em Java leva muito pouco tempo e código

Ele disse que não há outras línguas que forneçam esses benefícios de tal forma de provocar o departamento para mudar.Eu argumentei por c #, mas ele afirmou que não é verdadeiramente portátil e, embora o .NET tenha suporte muito melhor para coisas como genéricos, não é suficiente para solicitar uma mudança.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a softwareengineering.stackexchange
scroll top