QNA > Q > Quali Sono Le Migliori Risorse (Siti, Libri O Tutorial) Per Imparare La Programmazione?

Quali sono le migliori risorse (siti, libri o tutorial) per imparare la programmazione?

Ho passato 6-8 ore al giorno ad insegnarmi a programmare nell'ultimo mese o giù di lì e ho praticamente setacciato Internet per ogni tutorial gratuito o semi-libero là fuori.

Ecco le cose buone che ho usato e che raccomando:

  1. CodeHS -- Problemi in formato video-then-programma valutati personalmente, iniziando con un linguaggio giocattolo chiamato Karel e passando a Javascript, culminando nella creazione del gioco Breakout nel tuo browser. Fondato da due ex assistenti di CS106a a Stanford, da cui il curriculum è stato ampiamente adattato. Hanno probabilmente 40 ore di contenuti davvero buoni e, soprattutto, ti forniscono un aiuto amichevole e individuale con circa 3 ore di tempo quando ne hai bisogno. Guarda la mia versione di Breakout che ho fatto dopo aver fatto tutto il contenuto: EpicBreakout. (1)
  2. Google's Python Class -- A differenza di quanto detto sopra, richiede qualche impostazione sulla tua macchina (cioè non stai codificando nel browser), ma comunque buono. Circa due giorni di lezioni su Python con una manciata di buoni problemi, che culminano in espressioni regolari (come un CRTL + F personalizzato in un documento Word) e un problema dove si decodifica un'immagine codificata da un sito web.
  3. CodingBat -- Problemi Python e Java. Nessun fronzolo, solo esercizi -- probabilmente meglio per qualcuno con un po' di background (cioè sai cos'è una funzione/parametro e puoi usare Google per capire/trovare la sintassi/funzioni di cui hai bisogno). Il sito è stato fatto dallo stesso ragazzo che ha insegnato la Google Python Class.
  4. Khan Academy -- Alcuni tutorial introduttivi (per lo più incentrati sulla grafica/animazione) in JS usando una libreria ben considerata (Processing.js) e poi un ampio spazio di progetto aperto per vedere programmi che altre persone hanno fatto (cioè il risultato finale e il codice) e per fare il tuo, potenzialmente forzando il loro lavoro. Ecco un gioco fatto da un tizio che è servito come ispirazione per la mia versione di Breakout: Mercury Subspace. Fantastico, vero?
  5. Codecademy -- Solido formato di codice da leggere e poi scrivere di piccoli problemi suddivisi in diverse sottoparti. Ho usato i loro tutorial HTML/CSS per avere un background di base prima di fare il mio sito personale (http://www.thenickhuber.com/) e ho intenzione di usare la loro roba su JS e jQuery più avanzato quando ci arriverò. Ancora, il loro grader è un po' buggy e c'è una grande variazione nella qualità del corso/sovrapposizione di materiale, dato che tutto è scritto da persone diverse.
  6. Learn Python The Hard Way -- Esercizi di lettura e implementazione, partendo da nessuna conoscenza presunta. Buono, ma ancora non buono come i problemi interattivi; ho rinunciato dopo averne fatto circa il 20% perché è implacabilmente ripetitivo, ma ho letto molte buone recensioni su di esso.


Altra buona roba che voglio controllare:

  1. Corso per iPhone di Stanford (tutte le slide e i compiti: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2011-fall) -- un'app per iPhone sembra un buon progetto iniziale, perché è così facile mostrare ai tuoi amici quello che hai fatto, ma devo capire quanto sarebbe completo per me. Inoltre, non puoi ottenere la valutazione dei tuoi problemi se stai lavorando da solo sul materiale online.
  2. K&R (http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628) -- Un libro introduttivo molto apprezzato sul C e sulle implementazioni degli algoritmi più canonici. (Se conosci un sito web che cerca di fare qualcosa di simile, mi piacerebbe averlo da te.)
  3. I molti corsi di CS su Coursera e Udacity. Tuttavia, penso che sia davvero importante che tu abbia qualcuno che valuti il tuo lavoro in modo che tu possa avere un feedback (e che tu faccia effettivamente i problemi piuttosto che guardare solo le lezioni). Non sono sicuro che questo sia possibile se si segue il corso "fuori ciclo" e quanto siano buoni i problemi, ma vale comunque la pena dare un'occhiata.


Dopo un mese, ora ho un'idea migliore di quello che posso fare e questo poi informa le cose che penso sarebbero belle da fare. A questo punto, sono più entusiasta di continuare con questo approccio di apprendimento basato sul progetto perché penso che sia più efficace/durevole/divertente di altri tutorial/lezioni, ma è ancora difficile ottenere questo al di fuori dell'università/ambiente di lavoro.

---

  1. Nota: non si può vincere in questo momento -- ho bisogno di rifinirlo ed espanderlo, includendo un mucchio di potenziamenti in più e la resa dei conti finale con il nostro eroe's boss finale, The Brick King. Per tua informazione, il mio punteggio più alto è come 550 e il gioco diventa buggy ad alti livelli. Passare ai proiettili aiuta ed effettivamente aggiunge qualche difficoltà inaspettata. Mi piacerebbe avere il vostro feedback/idee.

Di Showker

Come usare Python per fare siti web :: Qual è il miglior motore di ricerca immobiliare negli Stati Uniti?
Link utili