Ce trebuie să faceți pentru a vă gândi ca un programator

  1. De ce este important acest lucru?
  2. Găsiți modelul
  3. 1. Înțelege-o
  4. 2. Planul
  5. 3. Împărțiți problema în mici sub-probleme.
  6. 4. Stuck?
  7. practică
  8. Numit cele 5 limbi de programare cele mai populare, conform HackerRank
  9. Cum de a deveni un programator, dacă vreți cu adevărat, dar nu există experiență

Ce înseamnă gândirea ca un programator? De fapt, totul este într-un mod mai eficient de a rezolva problemele. Blogger și dezvoltatorul de aplicații mobile, Richard Rees, au oferit câteva sfaturi despre cum să dezvolte un mod computațional de gândire.

De ce este important acest lucru?

Rezolvarea problemelor este metanavyk. Cum facem față cu ele? Destul de aleator. Dacă nu aveți un sistem, este foarte probabil să rezolvați problemele în acest fel:

  1. Încercați soluția.

  2. Dacă nu reușește, încercați altul.

  3. Repetați pasul doi până la noroc.

Deci nu. Aceasta este o mare pierdere de timp. Trebuie să găsiți un model și b) să practici.

"Aproape toți angajatorii se uită mai întâi la modul în care angajații rezolvă problemele. Această abilitate este mai importantă pentru ei decât cunoașterea limbajelor de programare, depanarea și proiectarea sistemului. Gândirea computațională și capacitatea de a face față problemelor mari și complexe sunt evaluate în același mod ca și abilitățile tehnice de bază necesare pentru a lucra, "- HackerRank (Raportul privind abilitățile dezvoltatorilor 2018).

Găsiți modelul

"Programatorii novici se concentrează deseori pe sintaxă, nu pe rezolvarea problemelor. Și aceasta este cea mai mare greșeală. V. Anton Sproul .

Ce trebuie să faceți atunci când vă confruntați cu o nouă problemă?

1. Înțelege-o

Trebuie să știți ce vi se cere. Sarcinile par complicate pentru că nu le înțelegeți. De unde știi dacă înțelegi problema sau nu? Încercați să le explicați în limbaj simplu.

Foto: Unsplash

Acest lucru se întâmplă destul de des: rămâneți blocat pe o sarcină, începeți să-l explicați și observați brusc deficiențe logice? Majoritatea programatorilor sunt familiarizați cu acest sentiment. Notați problema pe hârtie sau spuneți-le cuiva despre asta.

2. Planul

Nu continuați imediat să rezolvați o problemă fără un plan. Nimic nu te va ajuta dacă nu scrii exact pașii. Acordați timp creierului să analizeze problema și să proceseze informațiile. Pentru a face un plan bun, răspundeți la această întrebare:

"Să presupunem că există un X la intrare. Ce măsuri sunt necesare pentru a obține Y la ieșire?"

Programatorii au un instrument excelent pentru acest ... Comentarii!

3. Împărțiți problema în mici sub-probleme.

Acesta este cel mai important pas. Nu încercați imediat să rezolvați o problemă mare. În schimb, spargeți-l în puzzle-uri mici și rezolvați-le treptat. Începeți cu cea mai simplă - adică cea pe care o cunoașteți deja. Imediat ce faceti fata tuturor, conectati punctele. Deci, puteți rezolva problema inițială.

"Îi recomand mereu programatorilor novici să simplifice problema. Să ne imaginăm că trebuie să scrieți un program care să citească zece numere și să determine care va fi a treia ca mărime. Pentru începători, această sarcină poate părea foarte dificilă, în ciuda faptului că soluția necesită cunoașterea sintaxei de bază. Dacă rămâneți blocat, încercați să simplificați problema. În loc de al treilea cel mai mare număr, încercați să găsiți doar cel mai mare dintre toate. Încă greu? Găsiți cel mai mare număr de trei date. Sau două. Simplificați problema până când înțelegeți cum să o rezolvați. Apoi, complicați treptat sarcina și rescrieți soluția ", - V. Anton Sprol.

4. Stuck?

Acum probabil vă gândiți: "Ei bine, da, asta este, desigur, minunat, dar dacă am rămas și nu pot rezolva nici măcar o mică problemă?"

Foto: Unsplash

Nu-ți face griji. Se întâmplă tuturor. Diferența este că programatorii nu se supără atunci când se confruntă cu asta. Dimpotrivă, ei sunt interesați să găsească o soluție. Iată trei modalități de a face acest lucru:

  • Evaluați din nou . Uită-te la problema de cealaltă parte. Există ceva care poate fi prezentat într-un mod mai simplu?

"Uneori ne pierdem în detalii și ne pierdem principiile generale care ar ajuta la rezolvarea problemei mai repede. Exemplul clasic este suma numerelor consecutive - 1 + 2 + 3 + ... + n. Karl Friedrich Gauss a prezentat acest lucru sub forma expresiei n (n + 1) / 2 și nu a fost nevoit să efectueze calcule inutile. "

Există o altă opțiune - de a rescrie complet codul. Ștergeți totul și începeți din nou.

  • Explorați . Indiferent de problema pe care încercați să o rezolvați acum. Cineva a făcut-o deja în fața ta. Trebuie doar să căutați. Faceți acest lucru chiar dacă ați rezolvat problema.

practică

Nu credeți că într-o săptămână veți deveni un maestru în acest domeniu. Dacă doriți să rezolvați problemele bine, faceți-o în mod regulat. Practica. Șah, probleme de matematică, sudoku, du-te, monopol, jocuri video, criptocotică - toate acestea vă vor ajuta să vă perfecționați abilitățile de rezolvare a problemelor. Oamenii celebri fac și asta. De exemplu, Peter Thiel joacă șah, iar Ilon Musk - în jocuri video .

"Ilon Musk, Reed Hoffman, Mark Zuckerberg și alții susțin că jocurile au pus bazele succesului lor" - Mary Meeker .

Asta înseamnă că ar trebui să joci doar jocuri video? Nu chiar. Desigur, trebuie să înveți. Găsiți ceva în care să vă puteți exersa abilitățile.

Materiale pe tema:

Numit cele 5 limbi de programare cele mai populare, conform HackerRank

12 semne ale unui programator rău - identificăm un laic

Cum de a deveni un programator, dacă vreți cu adevărat, dar nu există experiență

Cum mi-am părăsit postul de grafician și am devenit dezvoltator de frontend în cinci luni

Ați găsit o greșeală? Evidențiați textul și apăsați pe Ctrl + Enter

De ce este important acest lucru?
4. Stuck?
De ce este important acest lucru?
Cum facem față cu ele?
Ce trebuie să faceți atunci când vă confruntați cu o nouă problemă?
De unde știi dacă înțelegi problema sau nu?
Ce măsuri sunt necesare pentru a obține Y la ieșire?
Încă greu?
4. Stuck?
Acum probabil vă gândiți: "Ei bine, da, asta este, desigur, minunat, dar dacă am rămas și nu pot rezolva nici măcar o mică problemă?
Карта