Insegno periodicamente una introduzione al corso di programmazione con Java . Voglio offrire ai miei studenti alcuni interessanti compiti che possono riguardare o trovare interessanti . Per lo meno, voglio degli incarichi che abbiano senso e abbiano una coesione interna (ad esempio, alcuni pessimi esercizi di programmazione sembrano fatti apposta solo per poter utilizzare il più recente costrutto di programmazione coperto).
Per darti un'idea dello scope, ecco cosa viene coperto :
- Le assegnazioni devono essere in Java, utilizzando alcune librerie esterne possono essere fatte, ma dovrebbe essere una semplice API e non un framework completo
- Variabili, primitive e archi
- Input e output della console
-
if
,for
,while
- Operatori aritmetici e logici
- Grafica semplice con disegno di linee e forme
- Metodi statici
- Matrici monodimensionali
Gli studenti non entreranno in argomenti avanzati (ad es., nessuna ricorsione, nessuna enfasi sull'ereditarietà). Quindi, io sono non in cerca di progetti complessi: "Invitali a scrivere un compilatore C. L'ho fatto quando avevo 5 anni ed era l'unico modo che ho imparato!"
Se hai idee più avanzate dell'ambito, inseriscile nella domanda "Sfida" sotto, e non questa.
Invece, quello che sto cercando sono idee interessanti che possono essere realizzate in un breve programma. Ad esempio:
-
Gli studenti possono scrivere una versione di console del generatore di "Nome di Star Wars" . Questo è effettivamente la lettura di stringhe e l'utilizzo di
substring
, ma penso che sia divertente. Una variante simile potrebbe essere un programma " Mad Libs ". Ho usato questo cinque anni fa, e forse è già "vecchio". -
Utilizzando alcuni trigsi forniti, gli studenti possono disegnare poligoni regolari e creare interessanti forme a spirale.
-
Inoltre non è fuori questione utilizzare una semplice classe di animazione con la maggior parte del codice a loro fornito. E se conosci un servizio Twitter o Facebook a cui puoi accedere con una semplice API, sarei molto interessato a sapere.
Tieni presente che questa domanda è diversa da " Domande impegnative in Java per principianti "Domanda. Non sto cercando di per sé impegnativo, solo interessante. Penso che se gli studenti lavorano su qualcosa in cui possono facilmente rispondere "perché qualcuno dovrebbe voler programmarlo?" allora impareranno meglio.
Anche problemi semplici come il calcolo di miglia per gallone possono essere buoni. Anche se, se c'è un modo per aggiornarlo per essere più rilevanti, tanto meglio. Se hai un esercizio da qualche altra parte (un libro o un sito web), cita la fonte.
Per aiutarti a pensare alla tipica matricola oggi, controlla l'elenco di Mindset di Beloit , per molti esempi che sicuramente ti faranno sentire vecchio.