Habilidades úteis de um grau de informática

4

Eu fiz minha graduação em física e mudei para programação. Tenho dois anos e meio de experiência e gosto de pensar que escrevo um bom código. Estou, no entanto, preocupado que não fazer um curso de graduação tenha deixado buracos no meu conhecimento. Eu gostaria de preenchê-las agora, pois sei que quero fazer programação para o resto da minha carreira.

Que habilidades / técnicas você aprendeu em seu nível de especialização e que não aprenderia com a programação no trabalho?

    
por Tom Squires 08.07.2011 / 14:59
fonte

8 respostas

7
Com toda a honestidade, eu tive experiência indo para o meu programa de ciência da computação, na medida em que um casal de instrutores de pós-graduação iria verificar comigo para se certificar de que eles estavam ensinando o idioma certo. Havia algumas coisas matemáticas que aprendi que acho remotamente úteis em coisas do dia-a-dia, mas a menos que você pretenda se especializar em uma direção intensa de programação, você realmente não vai conseguir muito. Além disso, para se especializar em pós-graduação com ênfase nessa disciplina, muitas vezes é o caminho preferido.

Acho que as coisas mais benéficas que recebi do meu curso de ciências da computação foram algumas instruções avançadas em Álgebra booleana , análise de algoritmos e teoria dos autômatos. Estas são todas as coisas que você vai pegar no trabalho, mas eu acho que é útil em algumas das situações mais complexas para ser capaz de identificar um problema específico matematicamente ou através de um diagrama de estado adequado. A análise do algoritmo também foi útil porque aprendemos os prós e contras de vários métodos de classificação, pesquisa e filtragem.

Havia algumas classes de estruturas de dados que eu achava úteis, mas em toda a realidade você absolutamente pegaria todas essas informações no trabalho de um supervisor, colega ou mentor. Na maioria dos casos, o grau de ciência da computação é apenas um pedaço de papel caro que leva você através da porta do RH. Quanto a se tornar um programador melhor, isso é tudo relacionado à experiência. Tudo muda tão rapidamente que o próprio grau é supérfluo.

    
por 08.07.2011 / 15:09
fonte
6

Um modo de pensar analítico. Ensinou-me a pensar mais em resolver problemas e descobrir soluções do que em escrever aplicações em java. Na verdade, eu diria que a parte mais fraca do programa de CS que passei foi o lado de engenharia de software, colaboração, testes, etc. A parte mais strong do programa foi o aprendizado de novas tecnologias direto, pois ele se concentra em aprender o processo de pensamento. não aprendendo a tecnologia.

Vindo da Física, você provavelmente tem uma compreensão melhor do que, digamos, um inglês maior. Não tenho certeza de quais benefícios específicos você ganharia.

    
por 08.07.2011 / 15:08
fonte
4

Eu fiz um diploma de CS enquanto tentava sombrear a física ... maldito você calcule o vetor !! : -)

Eu acho que você pode "pegar" um monte de coisas. As coisas que eu provavelmente não teriam saído e aprendido incluem:

  • formulários normais do banco de dados
  • consulta avançada
  • cálculo lambda
  • algumas estruturas de dados avançadas, embora eu provavelmente nunca as reinvente do zero
  • máquinas de estados finitas
  • associações demoníacas e outras relações relacionais avançadas álgebra
  • teoria da linguagem formal
  • recursão, formas diferentes, por que / quando usar cada
  • função de curry
  • estilo de programação funcional
  • análise de relacionamento de dados

... mas sou eu ... Eu nunca parei para pensar, em profundidade, sobre o design e os relacionamentos no meu software. Eu acho que, talvez, eu teria desenvolvido isso no trabalho através da exposição a um bom código, mas talvez não.

Espero que isso ajude.

    
por 08.07.2011 / 15:12
fonte
4

Eu acho que com 2 anos de Programação e Experiência em Física, você ficará bem!

A física deu a você algumas das habilidades mais importantes que os estudantes de Ciência da Computação adquiriram também, Resolução de Problemas e Atenção ao Detalhe.

Você superou sua experiência de dois anos para que eu não ficasse preocupado, você sempre pode ser insignificante se tiver dúvidas ou até mesmo optar por um mestrado em Engenharia de Software se você tiver coragem!

Temos um funcionário com graduação em Química e menor em Ciência da Computação!

    
por 08.07.2011 / 15:30
fonte
1

Faz anos que eu fiz o meu diploma. No entanto, algumas coisas são úteis de vez em quando:

  • Uma compreensão de como os computadores funcionam e o histórico da computação.
  • Uma compreensão de como as linguagens funcionam e são compiladas.
  • Uma compreensão da lógica (aprimorada pelo meu curso de lógica do departamento de filosofia).
  • Compreensão dos pontos strongs e fracos de várias línguas. (Eu ainda não vi uma linguagem que é boa para todas as tarefas.)

Minha melhor instrução foi antes de entrar no meu programa de graduação. Eu fiz alguns cursos curtos (de 1 a 3 horas). Estes me apresentaram um código bem escrito e bem estruturado e um par de idiomas. (Em um caso, uma introdução melhor do que o curso universitário correspondente.) Aprendi também a entender rapidamente uma nova língua.

A Canadian Information Processing Society está atualizando seu Common Body of Knowledge . Ele e outros documentos semelhantes ( IEEE , Austrália e a Grã-Bretanha podem ajudá-lo a avaliar seu conhecimento.

    
por 08.07.2011 / 15:23
fonte
1

Em meus olhos, há algumas coisas que tornam um cientista da computação:

  1. Lógica / Razoável / Matemática / Científica / Pensamento técnico e compreensão.
  2. Habilidade de programação
  3. CS Conhecimento, ou seja, teórica (por exemplo, máquinas de Turing, teoria da complexidade), matemática (por exemplo, teoria de grupo, álgebra, análise, estatística) e técnica (por exemplo, transistor, somador, cpu) e pelo menos um campo específico cs , criptografia, ...).

A maioria das pessoas que vem de outro lugar, está perdendo um pouco disso. Não é importante tê-los todos, você pode ser um bom programador quando você tem habilidade de programação. A maioria dos programadores (e não os cientistas da computação) tem apenas uma boa habilidade de programação e um conhecimento específico em um campo específico. Isso não deve ser ruim e é o suficiente para ser um bom programador, mas isso não faz de você um bom cientista da computação. Muitas vezes, quando eu vejo essas pessoas, elas são boas, inferno, quando elas têm experiência suficiente, elas podem me ensinar em seu campo específico, mas quando elas chegam ao ponto em que elas precisam de alguns dos outros conhecimentos, por exemplo. porque eles têm que criar um algoritmo para um certo problema, as soluções às vezes são realmente, para dizer o mínimo, engraçadas. Também não podem estimar o impacto de seus algoritmos ou inventar a roda (porque não ouviram Algoritmos 101).

Faltando o pensamento e a compreensão não acontece muito, já que a maioria dos cs- estrangeiros tem formação técnica / científica (física, engenheiro, ...).

    
por 08.07.2011 / 19:38
fonte
1

Eu entendo porque você pode se sentir assim. Tenho certeza que você aprendeu muito sozinho nos dois anos e meio em que esteve trabalhando, mas também sou da opinião que um grau de ciência da computação se mostra benéfico em mais de uma maneira. Para começar, ter uma qualificação profissional, ou neste caso, um diploma de ciência da computação, de uma instituição credenciada ajuda muito a garantir melhores empregos no futuro, mas também abrange as sutis nuances do campo que você poderia ignorar ou não acho importante. Um curso de ciência da computação não apenas ensina sobre programação, bancos de dados e redes, mas também ensina sobre princípios de empreendedorismo e gerenciamento. Hoje em dia, na verdade, as faculdades começaram a fornecer programas que se adaptam ao seu interesse e necessidades, para que você possa escolher a área de informática que mais gosta e se concentrar nisso.

    
por 22.02.2012 / 05:55
fonte
0

Tem sido minha experiência em trabalhar com um número muito pequeno de engenheiros, porque eles têm dificuldade em apreciar / criar um bom design modular. Eu não tenho certeza se é porque o interesse deles não está no software, então não importa muito para eles ou se eles não receberam a educação para fazê-lo.

    
por 08.07.2011 / 19:03
fonte