Sempre hesito em conversar com os professores sobre como tentar melhorar a porcentagem de pessoas que se formam com um diploma do tipo CS, em comparação com o número que começa pensando que é isso que eles querem. Por um lado, eu realmente acho que é importante que os profissionais se envolvam e dêem esse feedback; por outro lado, seria melhor se menos alunos com baixa escolaridade terminassem o curso de ciências da computação.
Eu não acho que todas as mentes são construídas para esse campo e você precisa ser um estudante de boa vida. Você precisa ter um alto grau de paciência e habilidades para resolver problemas apenas para olhar. Se você tem o tipo "certo" de cérebro, são esses problemas difíceis que o levam a continuar. Se você apenas obtém uma longa lista de problemas fáceis, fica entediado, para que essas pessoas não sejam boas em trabalhos mais repetitivos. Eu não preciso entrar em todos os detalhes ... se você está lendo isso, provavelmente sabe o que estou falando.
Portanto, a pergunta é: como você encontra o equilíbrio de um programa de graduação que é acessível a pessoas suficientes para serem financiadas e consideradas bem-sucedidas, mas também não gera pessoas que realmente não são indicadas para o trabalho? Talvez uma pergunta melhor seja: qual métrica você usa para saber se as alterações que você está fazendo em um programa de graduação estão melhorando? Não sei se uma taxa de graduação mais alta é uma boa métrica. E parece que o feedback que você poderia tentar capturar muitos anos depois sobre os empregos que os graduados têm seria muito atrasado.
Eu luto com essa pergunta há muito tempo, principalmente porque acho que não há uma resposta. Mas pensei em pedir para saber se alguém sabe de alguma pesquisa que tenha sido realmente realizada.
Além disso: recentemente, um professor muito sábio me lembrou que nem todo mundo que se forma com um diploma em ciências da computação quer mesmo ser um programador em tempo integral depois de descobrir o que isso significa. Mas, com a educação que eles receberam, poderiam ser ótimos gerentes de projeto, gerentes, administradores de sistemas etc. Acho que esse foi um ponto muito bom que não pensei em considerar aqui. Há uma porcentagem muito alta de pessoas que não acabam trabalhando no campo em que se formaram, o CS não é uma exceção a isso. Ter o pessoal extra ajuda não apenas no orçamento para o curso, mas também a expandir a porcentagem de não programadores que ainda sabem o suficiente sobre o assunto para trabalhar com programadores.
Respostas:
Ok, pela demanda popular ... Deixe o mercado livre descobrir. Você sabe, 95% dos cursos de psicologia acabam fazendo outra coisa. Nem todo mundo com um diploma de nível superior ou secundário acaba programando, mas eles são melhores gerentes, analistas, gerentes de projeto do que aqueles sem. Não carregue o peso do mundo em seus ombros. O grau de CS é apenas um pedaço de papel. Aqueles com diplomas de matemática, física, química e biologia passam a se tornar programadores, e nem todos os que possuem o diploma de CS se tornam programadores. Sem milhões de crianças aspirando a ser o melhor jogador de beisebol, não teríamos grandes estrelas. O sistema é auto-regulável.
fonte
Embora eu ache importante ter em mente a resposta de Jó, a mesma resposta pode ser aplicada a um moinho de graus. "Paguei meus US $ 199,95, agora me forme em CS".
Conhecer o corpo discente de acordo com um padrão do que são "verdadeiros programadores" não é realmente o seu trabalho. Ensinar os alunos a programar / projetar é (presumivelmente?). Se você não mudou sua maneira de pensar na faculdade, perdeu seu tempo lá. Seu objetivo é mostrar a qualquer aluno que demonstrar interesse que se tornar um programador muda sua maneira de pensar para melhor. Você faz isso indiretamente, mostrando-lhes ...
Fazemos errado
Existe uma extensa pesquisa por aí que mostra que o modo como 95% dos nossos programas universitários ensinam programação / CS é terrível. O programa médio de CS começa com
Quase qualquer outra coisa é melhor
Quase todo experimento melhora a situação, medido em termos de compreensão do aluno sobre os tópicos E taxas de matrícula e graduação no programa. Algumas das experiências que vi nos diários da ACM CSE são ...
Cada um desses experimentos viu melhorias maciças no interesse inicial dos alunos, transferência de conhecimento e retenção até a graduação. Alguns são mais apropriados para determinados ambientes da faculdade do que outros, mas se você estiver seguindo a estrutura descrita no parágrafo acima, pergunte-se: "Eu ficaria nos primeiros dois anos deste programa?"
fonte
Programar é instruir de maneira lógica, a fim de alcançar a saída desejada. Em outras palavras, está dizendo ao computador para executar alguma tarefa. A única maneira de avançar é praticando.
Assim como aprender inglês ou qualquer outro idioma, você precisa começar aprendendo a sintaxe (alfabeto) e depois passar para a gramática e outras construções. A quantidade de tempo necessária varia de acordo com a complexidade do idioma. Codificando em linguagens de nível superior, como SQL, Python é quase como escrever em inglês.
fonte
Alguns aspectos ajudariam, eu acho -
Profs que estão cientes do mundo real moderno . Se eles são capazes de falar sobre a tecnologia atual e como ela se encaixa nos quadros teóricos, isso é muito mais relevante para os graduandos que desconhecem a história do que as dissecções do VAXen sem referência à tecnologia atual.
Estágios apoiados pelo departamento. Se o departamento puder garantir pelo menos 2 verões de trabalho remunerado com empresas de tecnologia, haverá um grande incentivo para permanecer.
Francamente, os estudantes modernos de ciência da computação são muito mais abençoados do que aqueles que vivem até 5 a 10 anos atrás. A capacidade de comprar um sistema low-end e, em seguida, instalar uma VM e aprender vários idiomas, sistemas operacionais etc. gratuitamente é um facilitador, é difícil superestimá-lo.
Obviamente, as pessoas seminais como Hopper e Knuth se ensinaram sem os brilhos. Gênio vai sair.
fonte
Crie uma área de preparação para alunos bem-sucedidos em potencial fora do seu programa de graduação para reduzir os riscos. Isso pode incluir o patrocínio de aulas do AP CompSci nas escolas secundárias locais para separar preventivamente o joio do trigo. Se isso for muito difícil, tente se infiltrar nos capítulos locais do DECA (ou crie um novo) com um programa orientado para o CS nas divisões do ensino médio ou superior. Por outro lado, você mostrará aos alunos empreendedores que buscam habilidades de gerenciamento, possivelmente com potencial não realizado de CS, um novo caminho para atender às aspirações de negócios por meio de seu meio acadêmico.
fonte
Eu diria que a chave está no entendimento de diferentes níveis de tais programas:
Universidades - Isso costuma ser onde se pode estudar apenas para estudar. Nesse caso, pode existir um padrão muito diferente em termos de criação e ajuste de programas, pois isso pode ser bastante teórico, ou pelo menos é o que me lembro de estudar Ciência da Computação nos meus cursos do último ano.
Faculdades - Essas tendem a ser mais orientadas para a carreira, e é aí que o feedback do setor e a conexão de empresas com faculdades são um ponto-chave. Observar os estágios de 6 a 12 meses após a graduação pode ser uma métrica usada para ver o desempenho das pessoas após a graduação, pois a questão principal é se alguém viu ou não seu tempo e dinheiro recebendo essa educação como útil. A atualização do programa provavelmente será mais frequente, pois os programas aqui podem ser um pouco mais curtos, por exemplo, os programas universitários de bacharelado em honra tendem a ser de 4 anos, enquanto um programa de diploma universitário pode ser de 18 a 24 meses. Portanto, o desafio é mais conseguir que essa parte tenha conexões com as empresas para que as pessoas possam se expor ao trabalho e ver o que funciona ou não para elas.
fonte