2009-04-21 9 views
12

Un mio amico è interessato a imparare a programmare i computer, ma non sa nulla sulla programmazione. Ho suggerito che Python potrebbe essere un buon linguaggio per cominciare, ma dopo alcuni googling, non sono riuscito a trovare alcun tutorial che riguardasse sia la programmazione che Python in modo adeguato.Esercitazioni di programmazione per persone con esperienza zero

Non voglio che lei passi attraverso la faticosa routine "impara algoritmi in pseudocodice prima". Invece, mi piacerebbe un tutorial che spiegherà le idee di base mentre si lavora verso un obiettivo reale, ad es. un gioco di console molto semplice.

Qualcuno sa di tali tutorial? Pensi che mi sbagli nel modo in cui sto gestendo questo? Python è una cattiva scelta? So che qualcosa come C, C++ o Java non funzionerà - troppi dettagli saranno molto controproducenti. D'altra parte, penso che Lisp potrebbe essere troppo matematico e astratto. Python, d'altro canto, le permetterà di fare qualcosa di simile alla programmazione di giochi grafici primitivi in ​​un breve periodo di tempo.

+0

Duplicato di http://stackoverflow.com/questions/207701/python-tutorial-for-total-beginners, e penso che ce ne siano anche altri. –

+0

Si potrebbe anche prendere in considerazione "The Little Schemer". Se ricordo, il libro è stato scritto per i non programmatori come un'introduzione interessante alla programmazione per computer. –

risposta

0

Dille di comprare il libro Head First C# e non guardare indietro. Contiene tre laboratori in esso tra gli altri esempi, per i quali non è possibile trovare soluzioni complete (hanno un forum di discussione per porre domande); al lettore vengono forniti alcuni codici e requisiti e quindi spetta a loro implementare il resto. Il laboratorio finale porta il lettore a costruire i propri invasori spaziali.

Mi scuso, questa non è una risposta abbastanza pitone, è solo la possibilità di metterla in evidenza come un'altra possibilità.

0

Suggerirei small-basic per qualcuno con zero esperienza di programmazione, è molto amichevole per i principianti. MA non ci sono molti tutorial in giro per questo, se tu vuoi aiutarla con esso allora penso che sia un ottimo punto di partenza.

Non richiede Visual Studio, è solo un semplice download ed è possibile iniziare immediatamente la programmazione nel semplice IDE. Un avvertimento è che è ancora in fase CTP se sei preoccupato per queste cose.

0

Francamente, ho i miei dubbi sul fatto che i nuovi programmatori debbano occuparsi della gestione della memoria o meno. Penso che dovrebbero entrare in contatto con C in una fase iniziale, forse per evitare il "Perils of Java schools". Comunque, penso che Python stia bene.

Trovo abbastanza utile il funzionario python documentation.

0

Solo una risposta parziale, ma penso che Python sia una scelta eccellente - ogni volta che qualcuno mi chiede una buona lingua per i principianti, è quella che raccomando.

L'unico tutorial che mi viene in mente è http://docs.python.org/tutorial/, ma penso che sia principalmente rivolto a persone con qualche esperienza di programmazione.

Su una leggera tangente: qualcosa che potresti fare è solo spiegare le basi, cioè come i programmi sono sequenze di istruzioni che il computer segue in ordine, e una volta che il tuo amico vede come funziona (forse potresti mostrarle come scrivere Hello World), lascia che si armeggi. Forse potresti mostrarle la documentazione in modo che sappia come guardare le cose, ma potrebbe essere un po 'travolgente per un principiante ...

+0

hmm, qualcuno sembra un po 'vendicativo ... –

6

Il libro Think Python (che si chiamava How to Think Like a Computer Scientist) è una fantastica introduzione.Spiega cosa è la programmazione e come è fatta e introduce tutti i concetti attraverso il codice che il lettore può eseguire da solo sulla riga di comando.

3

Ho iniziato non troppo tempo fa con MIT's Introduction to Computer Science and Programming. È davvero un'introduzione a Python, ma dà un'idea di comp. sci. concetti lungo la strada. Ci sono un sacco di ottimi link e risorse sulla pagina, e alcuni divertenti progetti di giocattoli da provare mentre si procede. Ho letto la maggior parte del materiale in un lungo weekend, poi ho trascorso circa una settimana e mezza a svolgere la maggior parte dei compiti, ma ci stavo lavorando più o meno a tempo pieno.

Per inciso, penso che tu abbia ragione nel consigliare python. Alcune persone (più anziane) si lamentano davvero di iniziare con un linguaggio di alto livello, ma è un ottimo modo per iniziare a imparare, specialmente in un giorno in cui le persone entrano nei programmatori attraverso la porta dell'uso dei computer (come opporsi all'ingresso attraverso la porta di, diciamo ingegneria elettrica).

1

non fa uno fare più di programmazione LOGO? :)

0

Ci scusiamo, ma senza una prima base dei metodi algoritmici di base, qualsiasi cosa al di là di HelloWorld sarà eccezionalmente frustrante e scoraggiante.

+0

I loop di base e la manipolazione delle stringhe non sono così difficili. – guns

0

Python è una buona scelta. Non credo che la lisp sia effettivamente "troppo matematica e astratta" come dici tu. Una buona opzione alternativa da considerare per una persona che inizia in questo modo è il paring del libro How To Design Programs con l'ambiente (pedagogicamente orientato) Dr. Scheme. Entrambi sono progettati pensando a principianti assoluti.

Questo è per molti versi un sistema più bello/pulito di Python, ma consentirà anche a lei di mettere insieme rapidamente anche i contenuti grafici ecc. In particolare per qualcuno senza esperienza (e quindi senza idee preconcette su cosa aspettarsi) e/o senza particolare necessità di "essere mainstream", questo può essere un primo ambiente molto efficace.

1

Ho letto da qualche parte che la serie Head First uscirà con un nuovo libro per l'introduzione alla programmazione (utilizzando il linguaggio Python). Penso che dovresti controllarlo completamente quando sarà disponibile. Sono sicuro che fornirà l'introduzione perfetta a qualsiasi principiante senza esperienza precedente.

+0

Ho sempre letto solo una delle serie Head First ma era tra i migliori dev. insegnare libri che avrei mai letto. Tonnellate di insignificante lanugine anche ma non al sacrificio di materiale reale. Dalla mia (anche se limitata) esposizione a questi libri, li raccomando vivamente. – Dinah

0

posso scendere moddato per questo, ma io non so perché VB.NET non sarebbe una buona scelta. Non ci sono abbastanza informazioni e background forniti o la sua profondità di conoscenza. È difficile credere che abbia molta profondità ma non ha alcuna conoscenza di una programmazione rudimentale. Anche i libri di inizio sull'informatica hanno psuedocode e codice di inizio effettivo.

So come programmare e ho voluto imparare Python, ma quando ho guardato ho trovato molte risorse "difficili" e nessuna che avrei dato a un principiante. Ho letto molte persone che insegnano prima Python, ma non vedo come. Non significa che io abbia ragione, proprio come l'ho letto.

La mia ipotesi è che abbia bisogno di qualcosa che sia in inglese e con MOLTI articoli per principianti. BASIC è chiamato base per una ragione. Sono sicuro che potresti discutere di C#, ma Visual BASIC sembra essere adatto ai principianti e no, questo non significa che VB.NET sia solo per i principianti. È sciocco. Puoi fare qualsiasi cosa con esso, che è la risposta all'ultima metà della domanda che l'OP ha.

Java andrebbe bene. Un sacco di cose per principianti là fuori.

1

Alcuni amici hanno un bambino di 8 anni che è appena entrato in MIT's Scratch come prima escursione nella programmazione. Sembra offrire un riscontro grafico istantaneo e le "componenti di codice" plug-in sono un buon modo per evitare i "fastness" sintassi iniziali che possono spaventare i novizi, ma senza cose stupide fino al punto che non c'è un "programmatore che pensa" coinvolti.

Aggiornamento: Alcuni mesi dopo, e proprio quando abbiamo pensato che potrebbero essere trovando zero un po 'limitante ed essere pronti a passare su qualcosa come Python, vanno e scoprono BYOB che amplia enormemente le possibilità di Scratch (costruire la vostra propri blocchi componenti, multithreading ...). Sembra che ci vorrà un po 'per superare questo. Mi chiedo se stia guardando un early adopter di una generazione che non farà mai programmi di "code of code" come lo conosco e che l'ambiente di programmazione preferito sarà qualcosa di più come lo .

1

Python è un ottimo linguaggio di partenza, penso.

vorrei suggerire l'invio tuo amico questo link: http://www.youtube.com/user/thenewboston#grid/user/EA1FEF17E1E5C0DA

E 'di 45 lezioni di pitone organizzati in formato video (youtube) per i neofiti completi di programmazione. Ti accompagna attraverso l'installazione, l'esecuzione, la programmazione con esso, ecc.

Problemi correlati