Periódicamente enseño un curso de introducción a la programación usando Java . Quiero dar a mis alumnos algunas tareas interesantes con las que puedan relacionarse o encontrar interesantes . Por lo menos, quiero tareas que tengan sentido y tengan una cohesión interna (por ejemplo, algunos ejercicios de programación muy malos parecen inventados solo para que tenga que usar la construcción de programación más reciente cubierta).
Para darle una idea del alcance, esto es lo que se está cubriendo :
- Las asignaciones deben estar en Java, se puede usar una biblioteca externa, pero debería ser una API simple y no un marco completo
- Variables, primitivas y cadenas
- Consola de entrada y salida
if
`for
`while
- Operadores aritméticos y lógicos.
- Gráficos simples con dibujo de líneas y formas.
- Métodos estáticos
- Matrices unidimensionales
Los estudiantes no entrarán en temas avanzados (por ejemplo, sin recursión, sin énfasis en la herencia). Por lo tanto, estoy no en busca de proyectos complejos: "Haga que escriban un compilador C lo hice cuando tenía 5 y que era la única manera que he aprendido."
Si tiene ideas que son más avanzadas que el alcance, publíquelas en la pregunta "Desafiante" vinculada a continuación, y no en esta.
En cambio, lo que estoy buscando son ideas interesantes que se puedan lograr en un programa corto. Por ejemplo:
Los estudiantes pueden escribir una versión de consola del generador "Star Wars Name" . Esto es efectivamente leer cadenas y usar
substring
, pero creo que es divertido. Una variación similar sería un programa " Mad Libs ". Utilicé este hace cinco años, y tal vez ya está "rancio".Usando algunos trigonométricos que se les proporcionan, los estudiantes pueden dibujar polígonos regulares y crear interesantes formas en espiral.
Tampoco está fuera de discusión usar una clase de animación simple con la mayor parte del código que se les proporciona. Y si conoces un servicio de Twitter o Facebook al que se pueda acceder con una API simple, estaría muy interesado en saberlo.
Tenga en cuenta que esta pregunta es diferente de la pregunta "Preguntas desafiantes de Java para principiantes ". No busco desafíos per se, solo interesantes. Creo que si los estudiantes trabajan en algo donde puedan responder fácilmente "¿por qué alguien querría programar eso?" entonces aprenderán mejor.
Incluso problemas simples como calcular millas por galón pueden ser buenos. Aunque, si hay una manera de actualizarlo para que sea más relevante, mucho mejor. Si tiene un ejercicio de otro lugar (un libro o un sitio web), cite la fuente.
Para ayudarlo a pensar en el estudiante de primer año típico de hoy, consulte la lista de mentalidad de Beloit , para ver muchos ejemplos que seguramente lo harán sentir viejo.