Insegno periodicamente un'introduzione al corso di programmazione usando Java . Voglio dare ai miei studenti alcuni compiti entusiasmanti che possono riguardare o trovare interessanti . Per lo meno, voglio incarichi che abbiano un senso e che abbiano una coesione interna (ad esempio, alcuni pessimi esercizi di programmazione sembrano inventati solo in modo da dover usare il costrutto di programmazione più recente coperto).
Per darti un'idea di portata, ecco cosa viene trattato :
- Le assegnazioni devono essere in Java, è possibile utilizzare una libreria esterna, ma dovrebbe essere un'API semplice e non un framework completo
- Variabili, primitivi e stringhe
- Ingresso e uscita della console
if
,for
,while
- Operatori aritmetici e logici
- Grafica semplice con disegno a linee e forme
- Metodi statici
- Matrici unidimensionali
Gli studenti non affronteranno argomenti avanzati (ad esempio, nessuna ricorsione, nessuna enfasi sull'eredità). Così, sto non cercando progetti complessi: "Chiedete loro di scrivere un compilatore C l'ho fatto quando avevo 5 ed era l'unico modo che ho imparato."
Se hai idee più avanzate dell'ambito, pubblicale sulla domanda "Sfidante" collegata di seguito e non su questa.
Invece, quello che sto cercando sono idee interessanti che possono essere realizzate in un breve programma. Per esempio:
Gli studenti possono scrivere una versione per console del generatore "Star Wars Name" . Questo sta effettivamente leggendo le stringhe e usando
substring
, ma penso che sia divertente. Una variazione simile sarebbe un programma " Mad Libs ". L'ho usato cinque anni fa, e forse è già "stantio".Utilizzando alcuni trigoni forniti loro, gli studenti possono disegnare poligoni regolari e creare interessanti forme a spirale.
Inoltre, non è fuori discussione utilizzare una semplice classe di animazione con la maggior parte del codice fornito. E se conosci un servizio Twitter o Facebook a cui è possibile accedere con una semplice API, sarei molto interessato a saperlo.
Si noti che questa domanda è diversa dalla domanda " Sfide Java per principianti ". Non sto cercando di per sé una sfida, solo interessante. Penso che se gli studenti lavorano su qualcosa in cui possono facilmente rispondere "perché qualcuno dovrebbe mai voler programmarlo?" allora impareranno meglio.
Anche semplici problemi come il calcolo delle Miglia per gallone possono essere buoni. Tuttavia, se c'è un modo per aggiornarlo per essere più pertinente, tanto meglio. Se hai un esercizio da qualche altra parte (un libro o un sito Web), cita la fonte.
Per aiutarti a pensare alla matricola tipica oggi, dai un'occhiata all'elenco Beloit Mindset , per molti esempi che ti faranno sicuramente sentire vecchio.