Classificando o código-fonte em um ambiente online

Aug 18 2020

No passado, os alunos enviavam cópias impressas dos programas e da saída para avaliação (a versão eletrônica também era fornecida se eu quisesse executar os programas).

Sempre anotei e avaliei a lista de fontes e a saída associada nas cópias impressas que devolvia aos alunos em sala de aula. Agora com o COVID-19 e ensinando tudo online, terei apenas envios do Canvas e posso / estou disposto a imprimi-los conforme necessário, mas não há como obter feedback / cópia impressa facilmente para os alunos. Isso é particularmente importante para meus alunos do CS I.

O que todos vocês estão fazendo em relação a isso? Fazer anotações em papel é a maneira mais eficiente de fazer isso. Tive uma colega na primavera passada que tirou fotos de todas as notas e depois carregou um conjunto de .jpgs para cada aluno - um processo ridiculamente demorado do qual ela desistiu logo.

Rabiscar no código-fonte, circulando as seções etc. é o que eu gostaria de fazer.

Alguma sugestão?

Observe que isso é principalmente para o meu curso CS 1 - muitos desses alunos não terão nenhuma experiência de programação. Eles terão problemas o suficiente com o básico do Eclipse e Java - então, não quero necessariamente sobrecarregá-los com demandas técnicas extras.

Respostas

14 DarcyThomas Aug 18 2020 at 16:33

Eu sugiro que você use uma ferramenta de revisão de código. Isso é algo que eles provavelmente precisarão usar ao trabalhar na indústria. Portanto, vale a pena aprimorá-los agora.

Você pode usar o githubs one gratuitamente. (Você está ensinando controle de versão, então isso deve ser fácil)

Faça com que seus alunos criem uma solicitação pull e a revisem.

Você pode destacar linhas específicas e colocar comentários nelas etc.

7 BenI. Aug 18 2020 at 02:27

Nunca me ocorreu usar impressões de código, embora eu tenha um colega mais velho que faz isso. Para mim, parece um pouco estranho como abordagem e ineficiente.

Dito isso, se você deseja ter um fluxo de trabalho semelhante digitalmente, convém usar um computador tablet com uma caneta, Microsoft OneNote, e salvar a saída final como PDF. Isso permitirá que você desenhe, rabisque e escreva livremente no código enviado. Como benefício colateral, você também poderá inserir links, imagens ou outros diagramas, variados e diversos, conforme achar útil.

Normalmente, eu forneço feedback em pontos ou lado a lado pessoalmente ("pessoalmente" neste contexto significa usar o compartilhamento de tela no Zoom).

2 BrianTompsett-汤莱恩 Aug 18 2020 at 03:32

Se você pode criar arquivos PDF (como você indicou nos comentários), você pode usar o Adobe Acrobat Reader (o gratuito) para adicionar comentários de um teclado ao código e salvá-lo. É o que eu uso para a maioria dos trabalhos dos alunos, listagens, dissertações e assim por diante. Você pode salvá-lo e reenviar para o VLE ou qualquer mecanismo de feedback que esteja sendo usado.

Claro, se você tiver um tablet ou até mesmo um bloco de desenho conectado a uma área de trabalho, você pode adicionar mais anotações à mão livre no estilo antigo.

No entanto, mudei de código de anotação para um mecanismo de desenvolvimento mais baseado em teste para fornecer feedback de codificação. Os alunos agora precisam executar os scripts de teste que escrevo e fazer upload dos resultados, em vez do código em estágios intermediários para feedback formativo. Eu apenas feedback sobre o código no estágio somativo. Acho que, com> 250 alunos, preciso deixar o computador fazer mais do trabalho enquanto tento fornecer alguma forma de informação útil para os alunos.

Existem, é claro, ferramentas mais caras projetadas especificamente para rabiscar que outros podem mencionar.

Outra maneira de fazer as coisas é interagir com a base de código real dos alunos e não com uma listagem, usando algo como Visual Studio Live Code Share. Isso dá feedback no ponto real em que eles começam a se desviar do bom senso. Alguns colegas estão fazendo essa técnica.

2 a.t. Aug 20 2020 at 00:24

Observe que esta resposta assume que um scanner de lote está disponível.

Se você insistir em trabalhar com páginas impressas, poderá evitar fazer (muito) trabalho manual retornando os arquivos se:

  1. Acompanhe a ordem dos arquivos impressos, corrija-os, coloque-os em um scanner de lote e retorne automaticamente os arquivos corrigidos. Embora eu possa imaginar que esta não seja uma opção devido ao risco de misturar arquivos devido a falhas no scanner / impressão.
  2. Outra opção poderia ser imprimir um código qr na página, imprimir as páginas, corrigir as páginas, colocar os papéis corrigidos de volta em um scanner de lote e processar as imagens usando um decodificador qr para alocar os arquivos de acordo, desta forma você está (quase , dependendo da qualidade do scanner qr), certifique-se de que os papéis corrigidos corretos sejam devolvidos aos alunos certos. Você também pode receber uma notificação sobre os papéis que não foram digitalizados corretamente, pois você sabe quantos imprimiu e, portanto, deve digitalizar.
  3. Se você não quiser procurar um lugar para colocar o código qr em seu papel, pode dar aos alunos um modelo de látex ou converter seu código em um modelo de látex com um código qr pertencente ao número do estudo.

Na minha experiência, pyzbarpode ser um pouco entediante de configurar, mas descobri que praticamente funciona na identificação de códigos QR em páginas impressas e digitalizadas. Não afirmando que esta é a melhor solução, acho que haveria soluções mais fáceis e como o DarcyThomas responde melhor.

1 Murrrrrr Aug 19 2020 at 09:29

Você pode experimentar o PDF Viewer Pro da PSPDFKit, viu-o na lista principal na iOS App Store alguns dias atrás, parece que ele faz o que você precisa. Digo iPad porque acho que permite criar círculos e linhas mais facilmente do que usar o mouse em um notebook.