Periodicamente, ensino uma introdução ao curso de programação usando Java . Quero dar aos meus alunos algumas tarefas interessantes com as quais possam se relacionar ou achar interessantes . No mínimo, quero atribuições que façam sentido e tenham uma coesão interna (por exemplo, alguns exercícios de programação muito ruins parecem inventados apenas para que você tenha que usar a construção de programação mais recente abordada).
Para ter uma idéia do escopo, veja o que está sendo coberto :
- As atribuições devem estar em Java, é possível usar alguma biblioteca externa, mas seria necessário uma API simples e não uma estrutura completa
- Variáveis, Primitivas e Cordas
- Entrada e saída do console
if
,for
,while
- Operadores aritméticos e lógicos
- Gráficos simples com desenho de linhas e formas
- Métodos estáticos
- Matrizes unidimensionais
Os alunos não entrarão em tópicos avançados (por exemplo, sem recursão, sem ênfase na herança). Assim, eu estou não à procura de projetos complexos: "Tê-los escrever um compilador C Eu fiz isso quando eu tinha 5 e foi a única maneira que eu aprendi."
Se você tiver idéias mais avançadas que o escopo, poste-as na pergunta "Desafiador", vinculada abaixo, e não nesta.
Em vez disso, o que estou procurando são idéias interessantes que podem ser realizadas em um programa curto. Por exemplo:
Os alunos podem escrever uma versão para console do gerador "Star Wars Name" . Isso é efetivamente ler Strings e usar
substring
, mas acho divertido. Uma variação semelhante seria um programa " Mad Libs ". Eu usei este há cinco anos, e talvez já esteja "obsoleto".Usando alguns triggers fornecidos a eles, os alunos podem desenhar polígonos regulares e criar formas espirais interessantes.
Também não está fora de questão usar algumas classes simples de animação com a maior parte do código fornecido a elas. E se você conhece um serviço do Twitter ou Facebook que pode ser acessado com uma API simples, eu ficaria muito interessado em saber.
Observe que esta pergunta é diferente das " Perguntas desafiadoras sobre Java para iniciantes "Perguntas ". Não estou procurando um desafio em si, apenas interessante. Eu acho que se os alunos trabalham em algo em que podem facilmente responder "por que alguém iria querer programar isso?" então eles aprenderão melhor.
Mesmo problemas simples, como calcular milhas por galão, podem ser bons. Embora, se houver uma maneira de atualizá-lo para ser mais relevante, tanto melhor. Se você se exercita em algum outro lugar (um livro ou um site), cite a fonte.
Para ajudá-lo a pensar sobre o calouro típico de hoje, confira a lista Beloit Mindset , para muitos exemplos que certamente farão você se sentir velho.