IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Hledám někoho kdy by byl ochoten za úplatu mě naučit myslet programátorsky.

V předchozím kvízu, Online test znalostí Python 2.7, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Hrabě
Člen
Avatar
Hrabě:1.2.2020 13:18

Někdo, kdo už má zkušenosti s učením. Jako prostředek bychom k tomu vzali Python. Pořád se totiž plácám na místě.
Pohybuju se po trase OL - BRNO, takže můžu přijet kam je třeba.

Zkusil jsem: Zkoušel jsem online i prezenční kurzy, ale pořád to není ono. Doslova to bolí něco vymyslet.

Chci docílit: Chtěl bych se konečně naučit pořádně programovat.

 
Odpovědět
1.2.2020 13:18
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:1.2.2020 20:12

Pokus te to zajima osobne a ne do skoly, tak nejlepsi je zkusit si splnit pozadavky. Stanovit si, co si chces naprogramovat. Treba pro zacatek vypsat nejaky text, spocitat matematicky vzorecek, jednoduchou hru, treba pexeso, minolov. A pod. A pozdeji se dostanes k tomu, jak by se to melo spravneji programovat a ne to zplacat, jak to zplacaly pro nejake priklady na netu.
Ja treba pro javascript zacal tim, ze jsem si stahl hru a udelal v ni zmeny.

 
Nahoru Odpovědět
1.2.2020 20:12
Avatar
Jaroslav Smrž
Tvůrce
Avatar
Odpovídá na Hrabě
Jaroslav Smrž:2.2.2020 10:11

Souhlasím s Peter Mlich. "Myslet programátorsky" se musíš naučit sám. Například výborným a jednoduchým příkladem je napsat třeba kalkulačku. Nezdá se, ale je tam třeba řešit plno věcí, které ve finále nejsou až tak triviální. Například správná limitace čísel, perioda atd - pokud nepoužiješ nějakou hotovou komponentu. Můžeš začít s jednoduchou formulářovou a pak udělat třeba tlačítkovou s mocninami a procenty. Nebo takový tetris není zrovna nejjednodušší správně napsat :-) Důležitý je dobrý návrh aplikace - dopředu vědět, co a kde bude třeba řešit a samozřejmě syntaxe jazyku, jak tohle zvládneš, tak jsi v pohodě. Na zbytek je dokumentace.

Nahoru Odpovědět
2.2.2020 10:11
/* Life runs on code */
Avatar
Hrabě
Člen
Avatar
Hrabě:2.2.2020 10:42

OK, to dává smysl.
Asi je potreba to neustale zkouset a trenovat. Nekomu to asi jde snadneji a nekdo jiny to musi proste drit.

 
Nahoru Odpovědět
2.2.2020 10:42
Avatar
Jaroslav Smrž
Tvůrce
Avatar
Odpovídá na Hrabě
Jaroslav Smrž:2.2.2020 13:31

No, jde spíš o to, najít si vlastní cestu. Každý máme jiné uvažování, rychlost učení se a hlavně získávání zkušeností. Například uděláš si návrh aplikace a při programování samotném narazíš na problém, se kterým jsi v návrhu nepočítal = získáš tím zkušenosti a příště už budeš vědět dopředu, co je třeba ještě udělat. Takhle to jde pořád dál a dál. Programování je v podstatě o hledání elegantního a efektivního řešení jednotlivých problémů.

Nahoru Odpovědět
2.2.2020 13:31
/* Life runs on code */
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Hrabě
DarkCoder:2.2.2020 14:01

Programátorsky myslet neznamená nic jiného než hledat možnosti a nacházet v nich řešení.

Tím hlavním je dokázat si vše vůbec představit. Není ostudou si na začátku vše poznamenávat, později se naučíš většinu toho zpracovávat v hlavě. Poté, co budeš mít jakousi představu, je třeba analyzovat závislosti. Tedy vědět, co k tomu budeš potřebovat a znát. Určit si vstupní a výstupní data, umět si rozdělit celou úlohu na jednotlivé kousky a postupně je skládat dohromady. Podstatné je rovněž vědět, jaká data mají být kterého typu, jakých hodnot konkrétních, minimálních a maximálních mohou nabývat.

Je dobré mít alespoň základní ponětí o tom, co nástroj, který chceš pro zrealizování úlohy použít, nabízí. Čím více toho budeš znát, tím více způsobů se Ti bude nabízet. Budeš vědět jaké jsou limity, co se stane když něco uděláš a naopak když něco neuděláš. Logické uvažování se oproti realitě neliší, tak toho využij a nehledej v tom žádnou složitost.

Celé se to dělí na dvě hlavní části - Představa a realizace. Měl by si v tom vidět podobnost s hledáním možností a nacházení řešení. Pro řešení je nezbytná znalost jazyka. Ta ti ale rovněž může pomoci při hledání možností. Jak? Znalost jazyka Ti umožňuje znát mnoho pojmů a díky tomu si můžeš dohledat různé informace. Stejně jako znát limity jazyka, vědět na co si dát pozor, najít lepší řešení a možnost číst cizí kódy a vytahovat si z nich způsoby, jak to dotyčný řešil. Zde pak můžeš popřemýšlet nad tím, zda existuje další způsob, který by byl lepší. Pokud ovšem začínáš, lze toto vynechat a soustředit se jen na hledání možností.

Nejlepší způsob jak se naučit programátorsky myslet je naučit se vytvářet představy. Čím více dokážeš izolovat a soustředit se na daný problém, tím lépe. Pro představu názorný příklad:

Máš deset kartiček, na kterých je napsán nějaký znak. Zapřemýšlej nad tím co vše by se s tím dalo dělat. Tím si začneš vytvářet představy a hledat tak možnosti. tedy např.

  • jsou všechny znaky čísla?
  • pokud ano, jsou seřazena?
  • pokud ano, sestupně se vzestupně?
  • které z nich je největší a které nejmenší?
  • jaký je jejich součet?
  • opakují se nějaké znaky?
  • jaký znak se nachází na prvním a posledním místě?
  • lze ze znaků utvořit slovo mající význam?
  • jsou všechny znaky stejné?
  • nachází se mezi znaky nějaký konkrétní znak?

To je jen krátký soupis toho co lze dělat. Zkus vymyslet další možnosti a to, jak by se to asi dalo řešit. Vše je logické. I na malém programu se lze naučit spoustu dovedností a postupně si zvyšovat obtížnost. Neustále hledej možnosti, piš si krátké programy, později čti cizí které analyzuj a třeba modifikuj. Když za sebou uvidíš výsledky, bude to motivace do tvé další činnosti a fajn pocit, že díky tomu dokážeš cokoli vyřešit, bude pro tebe skutečností.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
2.2.2020 14:01
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.