- Miért fontos ez?
- Keresse meg a mintát
- 1. Értsd meg őt
- 2. Terv
- 3. A problémát kis al-problémákra bontja.
- 4. Elakadt?
- gyakorlat
- A HackerRank szerint az öt legnépszerűbb programozási nyelv lett
- Hogyan válhat programozóvá, ha igazán akar, de nincs tapasztalat
Mit jelent a gondolkodás, mint egy programozó? Valójában mindent hatékonyabban lehet megoldani a problémák megoldására. Richard Rees, a Blogger és a mobilalkalmazás fejlesztője néhány tippet adott a számítási gondolkodás fejlesztésére.
Miért fontos ez?
A problémamegoldás metanavyk. Hogyan kezeljük őket? Elég véletlen. Ha nincs rendszered, a legvalószínűbb, hogy „megoldani” a problémákat:
Próbálja ki a megoldást.
Ha nem sikerül, próbálkozzon másikval.
Ismételje meg a második lépést a szerencséig.
Szóval ne. Ez hatalmas időpocsékolás. A) meg kell találnia egy mintát és b) gyakorlatot.
„Szinte minden munkáltató először megvizsgálja, hogy a munkavállalók hogyan oldják meg a problémákat. Ez a készség fontosabb számukra, mint a programozási nyelvek, a hibakeresés és a rendszertervezés. A számítástechnikai gondolkodást és a nagy és összetett problémákkal való megbirkózás képességét ugyanúgy értékelik, mint a munkához szükséges alapvető technikai készségeket. ”- HackerRank (Developer Skills Report 2018).
Keresse meg a mintát
„A kezdő programozók gyakran összpontosítanak a szintaxisra, nem pedig a problémamegoldásra. És ez a legnagyobb hiba. V. Anton Sproul .
Mit kell tennie, ha új problémával szembesül?
1. Értsd meg őt
Tudnod kell, hogy mit kell tőled. A feladatok bonyolultnak tűnnek, mert nem érted őket. Honnan tudod, ha megérted a problémát? Próbáld meg magyarázni egyszerű nyelven.
Fotó: Unsplash
Ez gyakran megtörténik: megragad egy feladatot, elkezdi magyarázni, és hirtelen észreveheti a logikai hiányosságokat? A legtöbb programozó ismeri ezt az érzést. Írja le a problémát papíron, vagy mondja el valakinek.
2. Terv
Ne haladjon azonnal megoldani a problémát terv nélkül. Semmi sem segít, ha nem írja ki a pontos lépéseket. Adja meg az agy idejét, hogy elemezze a problémát és feldolgozza az információt. Jó terv készítéséhez válaszoljon erre a kérdésre:
„Tegyük fel, hogy van egy X a bemeneten. Milyen lépésekre van szükség az Y eléréséhez a kimeneten?”
A programozóknak nagyszerű eszközük van ... Megjegyzések!
3. A problémát kis al-problémákra bontja.
Ez a legfontosabb lépés. Ne próbálja azonnal megoldani egy nagy problémát. Ehelyett törje meg a kis rejtvényeket, és fokozatosan oldja meg őket. Kezdjük a legegyszerűbb - azaz az, amire már ismeri a választ. Amint megbirkózik azokkal, csatlakoztassa a pontokat. Így megoldhatja az eredeti problémát.
„Mindig azt tanácsolom a kezdő programozóknak, hogy egyszerűsítsék a problémát. Képzeljük el, hogy írnod kell egy tíz számot tartalmazó programot, és meghatározzuk, hogy melyik lesz a harmadik legnagyobb. A kezdők számára ez a feladat nagyon nehéznek tűnik, annak ellenére, hogy megoldása megköveteli az alapvető szintaxis ismeretét. Ha elakad, próbálja meg egyszerűsíteni a problémát. A harmadik legnagyobb szám helyett próbálja meg megtalálni a legnagyobbat. Még mindig kemény? Keresse meg a legnagyobb számot. Vagy kettő. Egyszerűsítse a problémát, amíg meg nem érti, hogyan kell megoldani. Ezután fokozatosan bonyolítja a feladatot, és írja át a megoldást ”- V. Anton Sprol.
4. Elakadt?
Valószínűleg most azt gondolod: „Nos, igen, ez természetesen nagyszerű, de mi van, ha elakadok és nem tudok megoldani még egy kis problémát?”
Fotó: Unsplash
Ne aggódj. Ez mindenkivel történik. A különbség az, hogy a programozók nem dühösek, amikor ezzel szemben állnak. Éppen ellenkezőleg, érdekeltek a megoldás megtalálásában. Ennek három módja van:
Értékeld újra . Nézd meg a problémát a másik oldalon. Van valami, amit egyszerűbb módon lehet bemutatni?
„Néha elveszítjük a részleteket, és hiányzik az általános elvek, amelyek segítenek a probléma gyorsabb megoldásában. A klasszikus példa az egymást követő számok összege - 1 + 2 + 3 + ... + n. Karl Friedrich Gauss ezt az n (n + 1) / 2 kifejezés formájában mutatta be, és nem kellett szükségtelen számításokat elvégeznie.
Van még egy lehetőség - a kód teljes átírása. Mindent törölni és kezdeni.
Fedezze fel . Nem számít, milyen problémát próbál most megoldani. Valaki már megtette ezt előtted. Csak keresnie kell. Ezt akkor is végezze, ha megoldotta a problémát.
gyakorlat
Nem hiszem, hogy egy hét múlva mesterré válik ezen a területen. Ha jól akarja megoldani a problémákat, végezze el rendszeresen. Gyakorlat. Sakk, matematikai problémák, sudoku, go, monopólium, videojátékok, cryptocotika - mindez segít a problémamegoldó készségek tökéletesítésében. Híres emberek is ezt teszik. Peter Thiel például sakkot játszik, és Ilon Musk - videojátékokban .
"Ilon Musk, Reed Hoffman, Mark Zuckerberg és mások azt állítják, hogy a játékok megalapozták a sikerüket" - Mary Meeker .
Ez azt jelenti, hogy csak videojátékokat kell játszani? Nem igazán. Természetesen még mindig tanulnia kell. Keressen valamit, ahol gyakorolhatod a készségeidet.
A témával kapcsolatos anyagok:
A HackerRank szerint az öt legnépszerűbb programozási nyelv lett
12 rossz programozó jele - azonosítunk egy laikusot
Hogyan válhat programozóvá, ha igazán akar, de nincs tapasztalat
Hogyan kiléptem a munkámról grafikusként, és öt hónap múlva frontend fejlesztővé váltam
Talált egy hiba? Jelölje ki a szöveget, és nyomja meg a Ctrl + Enter billentyűt
Miért fontos ez?4. Elakadt?
Miért fontos ez?
Hogyan kezeljük őket?
Mit kell tennie, ha új problémával szembesül?
Honnan tudod, ha megérted a problémát?
Milyen lépésekre van szükség az Y eléréséhez a kimeneten?
Még mindig kemény?
4. Elakadt?
Valószínűleg most azt gondolod: „Nos, igen, ez természetesen nagyszerű, de mi van, ha elakadok és nem tudok megoldani még egy kis problémát?