Cosa devi fare per pensare come un programmatore

  1. Perché è importante?
  2. Trova lo schema
  3. 1. Capirla
  4. 2. Piano
  5. 3. Suddividere il problema in piccoli sotto-problemi.
  6. 4. Bloccato?
  7. pratica
  8. Nominati i 5 linguaggi di programmazione più popolari secondo HackerRank
  9. Come diventare un programmatore, se vuoi davvero, ma non c'è esperienza

Cosa significa pensare come un programmatore? In effetti, tutto è in un modo più efficiente per risolvere i problemi. Il blogger e sviluppatore di applicazioni mobili Richard Rees ha fornito alcuni suggerimenti su come sviluppare un modo di pensare computazionale.

Perché è importante?

La risoluzione dei problemi è metanavyk. Come possiamo affrontarli? Abbastanza casuale. Se non si dispone di un sistema, è molto probabile che si "risolvano" i problemi in questo modo:

  1. Prova la soluzione.

  2. Se fallisce, provane un altro.

  3. Ripeti il ​​passaggio 2 fino alla fortuna.

Quindi no. Questa è una grande perdita di tempo. È necessario a) trovare un modello eb) pratica.

“Quasi tutti i datori di lavoro guardano innanzitutto a come i dipendenti risolvono i problemi. Questa abilità è più importante per loro della conoscenza dei linguaggi di programmazione, del debug e della progettazione del sistema. Il pensiero computazionale e la capacità di affrontare problemi grandi e complessi sono valutati allo stesso modo delle competenze tecniche di base necessarie per lavorare ”, - HackerRank (Developer Skills Report 2018).

Trova lo schema

“I programmatori alle prime armi spesso si concentrano sulla sintassi, non sulla risoluzione dei problemi. E questo è l'errore più grande. " V. Anton Sproul .

Cosa dovresti fare quando affronti un nuovo problema?

1. Capirla

Devi sapere cosa ti è richiesto. I compiti sembrano complicati perché non li capisci. Come fai a sapere se capisci il problema o no? Prova a spiegarlo in un linguaggio semplice.

Foto: Unsplash

Questo succede abbastanza spesso: ti blocchi su un'attività, inizi a spiegarla e noti improvvisamente carenze logiche? La maggior parte dei programmatori ha familiarità con questa sensazione. Scrivi il tuo problema su carta o parlane con qualcuno.

2. Piano

Non procedere immediatamente alla risoluzione di un problema senza un piano. Nulla ti aiuterà se non scrivi i passaggi esatti. Dai al cervello il tempo di analizzare il problema e di elaborare le informazioni. Per fare un buon piano, rispondi a questa domanda:

"Supponiamo che ci sia una X in ingresso. Quali passi sono necessari per ottenere Y in uscita?"

I programmatori hanno un ottimo strumento per questo ... Commenti!

3. Suddividere il problema in piccoli sotto-problemi.

Questo è il passo più importante. Non tentare immediatamente di risolvere un grosso problema. Invece, spezzalo in piccoli puzzle e risolvili gradualmente. Inizia con il più semplice, ovvero quello a cui conosci già la risposta. Non appena affronti tutto, collega i punti. Quindi puoi risolvere il problema originale.

“Consiglio sempre ai programmatori principianti di semplificare il problema. Immaginiamo che tu debba scrivere un programma che legge dieci numeri e determina quale sarà il terzo più grande. Per i principianti, questo compito può sembrare molto difficile, nonostante il fatto che la sua soluzione richieda la conoscenza della sintassi di base. Se rimani bloccato, prova a semplificare il problema. Invece del terzo numero più grande, prova a trovare solo il più grande di tutti. Ancora difficile? Trova il maggior numero di tre dati. O due. Semplifica il problema fino a quando non capisci come risolverlo. Quindi complicare gradualmente il compito e riscrivere la soluzione ”, - V. Anton Sprol.

4. Bloccato?

Ora probabilmente pensi: "Beh, sì, questo è, ovviamente, fantastico, ma cosa succede se sono bloccato e non riesco a risolvere anche un piccolo problema?"

Foto: Unsplash

Non ti preoccupare. Succede a tutti. La differenza è che i programmatori non si arrabbiano di fronte a questo. Al contrario, sono interessati a trovare una soluzione. Ecco tre modi per farlo:

  • Vota di nuovo . Guarda il problema dall'altra parte. C'è qualcosa che può essere presentato in un modo più semplice?

“A volte ci perdiamo nei dettagli e perdiamo i principi generali che potrebbero aiutare a risolvere il problema più velocemente. L'esempio classico è la somma di numeri consecutivi - 1 + 2 + 3 + ... + n. Karl Friedrich Gauss lo ha presentato sotto forma dell'espressione n (n + 1) / 2, e non ha dovuto eseguire calcoli non necessari. "

C'è un'altra opzione: riscrivere completamente il codice. Elimina tutto e ricomincia.

  • Esplora Non importa quale problema stai cercando di risolvere ora. Qualcuno l'ha già fatto prima di te. Hai solo bisogno di cercare. Fallo anche se hai risolto il problema.

pratica

Non pensare che in una settimana diventerai un maestro in questo campo. Se vuoi risolvere bene i problemi, fallo regolarmente. Pratica. Scacchi, problemi di matematica, sudoku, go, monopolio, videogiochi, criptocotici: tutto ciò ti aiuterà a perfezionare le tue capacità di problem solving. Anche i personaggi famosi lo fanno. Ad esempio, Peter Thiel gioca a scacchi e Ilon Musk - nei videogiochi .

"Ilon Musk, Reed Hoffman, Mark Zuckerberg e altri sostengono che i giochi hanno gettato le basi per il loro successo" - Mary Meeker .

Significa che dovresti solo giocare ai videogiochi? Non proprio Certo, devi ancora imparare. Trova qualcosa in cui puoi esercitare le tue abilità.

Materiali sull'argomento:

Nominati i 5 linguaggi di programmazione più popolari secondo HackerRank

12 segni di un cattivo programmatore: identifichiamo un laico

Come diventare un programmatore, se vuoi davvero, ma non c'è esperienza

Come ho lasciato il mio lavoro di graphic designer e sono diventato uno sviluppatore di frontend in cinque mesi

Hai trovato un refuso? Evidenzia il testo e premi Ctrl + Invio

Карта