Teste de aptidão do programador [fechado]

14

Eu tenho muitos amigos que vêem o que eu faço, acham interessante e me fazem a pergunta

Do you think I could be a programmer?

Minha resposta é

...   ummm  ...  do you like math?

Eu gostaria de ter uma resposta útil, então eu não sabia se alguém sabia de um teste de aptidão razoavelmente decente para alguém que estaria começando da primeira fase, mas tem habilidades de pensamento crítico e resolução de problemas?

    
por jondavidjohn 31.12.2010 / 03:46
fonte

10 respostas

12

"Gostar de matemática" é um teste ruim. Eu nunca gostei de matemática (principalmente porque 90% dos professores de matemática no ensino médio eram uma merda).

Quando você diz "matemática", a maioria das pessoas pensa que você quer dizer "resolver com cuidado uma equação de acordo com um conjunto muito restrito de regras". A programação não é nada disso.

A programação é mais parecida com o desenho, em que o que você pode alcançar é restrito apenas pelo que você pode imaginar.

O que importa é a capacidade de imaginar um sistema e ver como ele funciona.

  • Você pensa em como as coisas funcionam?
  • Você pensa em maneiras de melhorar as coisas do dia-a-dia?
  • Você consegue visualizar como construir algo a partir de blocos de construção mais simples?
por 31.12.2010 / 04:30
fonte
8

Eu me lembro de quando era criança fazendo um Teste de Aptidão Brainbench ; Eu ainda tenho o certificado armazenado em algum lugar ...

O esboço do teste:

Abstract Thinking
    Process Flow
    Spatial Manipulation
Analytical Reasoning
    Inductive Reasoning
    Logic Application
    Word Problems
Attention to Detail
    Following Instructions
    Reading Comprehension
    Rule Interpretation
    Writing Analysis
Mathematical Problem-Solving
    Word Problems
Process Mapping
    General Processes
    Letter Manipulation Processes
    Number Manipulation Processes
    Shape Manipulation Processes
    
por 31.12.2010 / 04:02
fonte
7

Há uma chance de que já exista uma boa por aí.

Veja, por exemplo, a discussão sobre Separar ovelhas de programação de cabras não programadas :

All teachers of programming find that their results display a 'double hump'. It is as if there are two populations: those who can [program], and those who cannot [program], each with its own independent bell curve. Almost all research into programming teaching and learning have concentrated on teaching: change the language, change the application area, use an IDE and work on motivation. None of it works, and the double hump persists. We have a test which picks out the population that can program, before the course begins. We can pick apart the double hump. You probably don't believe this, but you will after you hear the talk. We don't know exactly how/why it works, but we have some good theories.

O que o teste identifica é como as pessoas consistentes estão com a operacionalização de uma sequência de instruções. O que isso significa é que eles podem construir modelos (abstrações) em suas mentes e trabalhar com eles.

    
por 31.12.2010 / 04:13
fonte
2

Acho que um "teste" mais importante seria mostrar a eles uma linguagem / ambiente de programação simples com os quais eles possam brincar. Por exemplo, processamento ou python . Se eles aprenderem e gostarem de usar tal linguagem - talvez enquanto resolvem uma tarefa simples ou duas - então esse é provavelmente o melhor "teste de aptidão" que você poderia pedir.

    
por 31.12.2010 / 04:01
fonte
2

"Você gosta de matemática?" não é um mau começo. A matemática é fundamental, depois disso ...

É aconselhável para ver se eles podem pegar um problema e começar a dividi-lo em blocos, apenas na fala, se eles podem andar passo a passo através de um problema básico é um bom começo inicial.

  • Como você diria a um robô como fazer uma xícara de chá? Seja o mais específico possível.
  • Encomendar uma refeição no McDonalds, quais etapas estão envolvidas no manuseio do pedido, desde o momento em que é dito para dar comida / mudança.
  • Como funciona o sistema de telefonia?

Se eles puderem respondê-las bem, da forma analítica e profunda que um programador tem que fazer no dia-a-dia, provavelmente conseguirão lidar com isso.

    
por 31.12.2010 / 04:03
fonte
1

Uma vez que você está exposto ao código, você tem uma compulsão para fazê-lo ou não. Aptidão é apenas um fator sobre se você será ou não bom nisso. A exposição a bons exemplos, instrução, tempo na tarefa, esforço são outros. Realmente querer / precisar fazer alguma coisa torna muito mais fácil aproveitar os outros fatores.

    
por 31.12.2010 / 04:00
fonte
1

Uma pergunta melhor do que "Você gosta de matemática" é "Você gosta de resolver quebra-cabeças lógicos"? Isto é coisas como Sudoku, etc, ou descobrir a resposta para enigmas como "John, Anne, Peter, Mary e Brittany são vizinhos. John tem um carro branco, Brittany vive à esquerda de Anne, blah blah, em que ordem para eles vivem? "

Porque é isso que é programação: um grande enigma lógico.

    
por 31.12.2010 / 08:59
fonte
1

Acho que uma pergunta melhor é: "Você gosta de construir coisas com blocos de lego?"

    
por 31.12.2010 / 10:41
fonte
1

Assim como o Gusteau, um personagem do filme Ratatouille disse:

Qualquer um pode cozinhar.

Da mesma forma, qualquer um pode programar. Mas nem todos serão ótimos nisso. A maioria dos trabalhos de programação exige um nível médio de aptidão e competência.

Apenas responda sim. Por quê? Porque a maioria das pessoas só quer se sentir apreciada por alguém que eles acham que é inteligente.

    
por 01.01.2011 / 01:58
fonte
0

Eu acho que o gosto de matemática é importante. Não do ponto de vista de que você gosta de provar material rigorosamente, o que seria necessário para ser um matemático sério. Mas, dado um problema que é importante para você, você pode formular as questões envolvidas em resolvê-lo de uma maneira matemática. Eu afirmo que tudo que um computador faz é matemática, toma dados simbólicos de algum tipo e executa algum tipo de operação. Essa é a essência da matemática. Então você tem que ser capaz de abstrair as coisas em algum tipo de matemática, como estrutura, e raciocinar sobre os passos adiante. Faltando isso, você está apenas hackeando, jogando fora algum código e esperando que ele faça o que você quer. Ser capaz de resolver álgebra complicada sem cometer erros de digitação e se perder, provavelmente não é tão necessário. Mas ser capaz de formular um plano é importante. Costumo escrever dez programas de linha para verificar se a minha matemática não é complicada e não está correta. Combinar computadores com matemática, para fins de verificação, descoberta e sim para trabalhar os detalhes, quando há muitos deles, é a chave real.

    
por 01.01.2011 / 04:47
fonte