Domanda

Corsi per le persone che sono state introdotte per la programmazione molto spesso includono un codice di progetto, che credo sia un bel modo per imparare.Tuttavia, tali progetti spesso si sentono troppo artificiale, e quindi non è molto gratificante lavorare.

Quali sono le vostre idee di premiare progetti di codice?(Preferibilmente facile per iniziare, e ampliabile a volontà per i più avanzati!).

Edit:

@Mark:grazie per il link, anche se mi interessa di più progetti per le persone che sono completamente nuovo di programmazione (il link sembra riferirsi più a persone che sono già una buona conoscenza di almeno una lingua, e cercando di imparare una nuova one-tipica pubblico direi :) -).

@Kevin, India, gary:Stavo pensando a delle persone che stanno imparando la programmazione attraverso una lingua, quindi all'inizio del corso, alcuni non sanno niente di strutture di controllo (e anche meno su qualsiasi tipo di sintassi).Comunque, stavo pensando in un progetto di grandi dimensioni (in genere nel 1k-10k linee di codice di gamma, possibilmente in gruppi di 2 o 3 studenti).Questo è ciò che è stato fatto presso la mia scuola per i principianti assoluti, e sembrava sicuro di lavorare per loro...tranne che la maggior parte di loro hanno progetti molto noioso per lavorare!

È stato utile?

Soluzione

Come è stato detto un paio di volte, quello che si sta cercando di insegnare ai principianti è molto importante per il progetto.

Il mio consiglio per voi per progettare qualcosa di simile a questo:

1) Evitare di fare un gioco per computer

Un gioco per computer, mentre divertente da costruire, non ricompensa il programmatore con risultati presto (molto complessa).Si desidera concentrarsi sulla piccola ma utile applicazione di programmi, come ad esempio Port Scanner.L'esempio c'è un po ' complessa, ma è uno dei migliori progetti di apprendimento ho visto sul web.

2) Insegnare grafica a presto

E ' gratificante vedere i frutti delle vostre fatiche presto, e ti spinge ad andare oltre.Se si sta utilizzando windows form, MFC o l'API Win32, OpenGL o DirectX, insegnare presto.

3) Tante piccole lezioni di informazioni approfondite

Questo principio è seguito da sopra collegato Port Scanner progetto, e funziona bene.Insegnare ogni parte a fondo, e di dare il tempo per i principianti e per assorbire la lezione.Penso che ZophusX aveva un buon formato per dare informazioni.Peccato che ha in gran parte abbandonato il suo sito.

4) ci vuole tempo

Non affrettare le cose.Nessuno diventa stellare programmatore in poche settimane.Provare a fare le lezioni di semplice, ma coinvolgente, e mantenere edificio da precedenti lezioni.

5) Ottenere un feedback presto e spesso

Si potrebbe pensare che un progetto è incredibilmente interessante, o di una particolare lezione o simile, ma non quello di apprendimento.Il vostro studente(s) sarà molto apprezzato quando si chiede loro di primi su come stanno andando le cose, e quello che vorrebbero sapere di più.Essere sufficientemente flessibile che è in grado di ospitare alcune di quelle richieste.

6) insegnare divertendo

Divertirsi.La passione è contagiosa, e se il vostro studente(s) vedere quanto ti piace l'argomento, alcuni di entusiasmo che si strofinare su di loro.

Mi auguro che aiuta!

Altri suggerimenti

Alcuni buoni gratificante progetti, in termini di ciò che si può imparare e che sono abbastanza scalabile in termini di complessità, le caratteristiche sono:

  • Giochi
  • Un viaggio e di trasporto di prenotazione di sistema
  • Enciclopedia o un Dizionario di termini, articoli
  • I Calcolatori di conversione (Valuta, Unità di misura, etc.)

La chiave è quello di scegliere un progetto abbastanza semplice, in modo che alcune delle sue caratteristiche sono immediatamente evidenti, quando si guarda il titolo del progetto.E quando si è veramente dato un pensiero, si rivelano più caratteristiche che è possibile aggiungere ad esso.

Il progetto dovrebbe avere abbastanza difficoltà, in modo che le sue caratteristiche sembrano appena al di là del principiante raggiungere, in tal modo motivante lui per imparare qualcosa di nuovo per tutto il tempo.

Se la formazione di nuove persone nella vostra azienda, quindi collegarli come stagista risorse su un progetto dal vivo è molto gratificante.

Questo aumenta il carico di lavoro dei principali sviluppatori un po ' (perché devono rivedere tutto il lavoro che l'interno fa), ma va un lungo cammino in termini di formazione e di sviluppo della persona.

Penso che I giochi e puzzle sono un buon punto di partenza in quanto possono dare grandi possibilità per lo sviluppo di versioni più complesse.Per esempio, un tic-tac-toe il programma può essere costruito come una semplice riga di comando del programma, inizialmente, che permette a due giocatori di giocare il gioco.

Questo passaggio può essere usato per mostrare come una semplice struttura di dati o di un array può rappresentare il tabellone di gioco, semplice ingresso per ottenere i comandi utente/si muove, semplice output per visualizzare il tabellone di gioco e richiede etc.Poi si può iniziare a mostrare come un algoritmo può essere utilizzato per consentire al giocatore contro il computer in modalità.Mi piace la semplice quadrato magico di matematica algoritmo per tic-tac-toe come si basa su molto semplice matematica.Dopo di che, il cielo è il limite, miglioramenti all'interfaccia, utilizzando I/O di file per caricare e salvare i giochi, i più avanzati algoritmi per ottenere il computer per giocare meglio etc.Più complesso e soddisfacente giochi possono ancora essere prodotta utilizzando la modalità testo o grafica semplice.

Ho usato il Sokoban gioco come mezzo per mostrare un sacco di tecniche nel corso degli anni.

Il gioco più semplice che ho usato è un elenco di numeri di inversione di gioco.Questo comporta un misto elenco di numeri da 1 a 9.Il giocatore può specificare un numero di cifre per invertire sulla sinistra dell'elenco.L'obiettivo è quello di ottenere un elenco ordinato.Questo è grande per i principianti assoluti.Ogni piccola parte del gioco può essere scritto e testato separatamente.

In realtà dipende da cosa stai cercando di insegnare ai principianti.Se si sta cercando di insegnare la sintassi, quindi semplice "Hello World" programmi e quelli che sputano fuori ogni numero dispari tra 1 e 100 vanno bene per farli partire.Se si sta cercando di insegnare strutture di dati, quindi forse qualcosa come 20 domande del gioco o qualche semplice ordinamento del programma.Se si sta cercando di insegnare la ricorsione, poi magari una ampiezza primo programma di ricerca.Se si sta cercando di insegnare la manipolazione di database, quindi qualcosa di simile a un sistema di controllo degli ordini sarebbe opportuno.

Guardate gli esempi di codice nel libro Programmazione Python per il Principiante Assoluto

Testo Di Avventura.

  • È un'applicazione di console
  • Avrai bisogno di fare alcune cose utili, tenere l'inventario, la mappa e la camera di stato e di analizzare l'input
  • È divertente e si può dare agli altri per giocare!:D
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top