Stránka 2 z 3

Re: jak se naučit programovat

Napsal: ned 26. zář 2010, 17:56
od olis
jj asi vsade je to inak u nas to ties dobre ucia a nepovedia my len ze toto je toto a a toto je toto za hodinu spravime aspon 3 programy a pri kazdom si vysvetlime vsetko nove preco to tak funguje a naco to sluzi

Re: jak se naučit programovat

Napsal: ned 26. zář 2010, 20:48
od arxeiss
bubanek píše:
OndraSter píše:Ve škole se programovat nenaučíš... Ve škole ti řeknou "hele tohle je objekt, umí tohle a tohle" a zbytek si najdi doma sám, vyzkoušej.
Nějaká divná škola. Do nás se to snažili hustit docela dobře.
Bohužel člověk musí chtít...
O tom bych mohl poreferovat, Škola vs. Programování

Máme povinnou praxi na 14 dní v období maturit, kámoš mi řekl jestli bych mu nechtěl pomoct ve škole, učit osmáky (berte spíše jako exkurzi v rámci dobrých vztahů mezi vedlejší základkou) webovky, a poté prváky céčko (to se bere ve 3. na naší škole, pak C++ ve 4. Teď již prváci mají C# zmr*i)
Tak jsme měli teda jednu třídu jeden den, takže naprd, ale stihli jsme základy, deklarace proměných, jaké jsou proměnné, printf() a scanf() a dělali jsme příklady na výpočet obvodu obsahu kruhu, povrchu a objemu koule.
Někteří udělali a pak se nudili, tak jsem jim třeba vysvětlil proč je void main() co to znamená atd... ale to spíše pro zajímavost kdo chtěl.
Ale někteří nebyli schopni pochopit, že ty příkazy ten program čte postupně (podmínky a cykly jsme stihli jenom s těma nejlepšíma), tak jsem jim se to snažil vysvětlit, že je to jako v matematice, taky nejdříve počítáš diskriminant, a až pak kořeny, a že to prostě naopak nejde, a že program je to samé, takže když udělá výpočet na 8 řádku, a snaží se ho vypsat na 2. tak že mu to vážně fungovat nebude, někteří to ani poté nepochopili.
Dále byl problém s tímto a = a + b; to opět někteří nepochopili že si tu proměnnou přepíšou, a že s ní dále pracují už s jiným než tím původním zněním... To, že to někdo napoprvé udělal, beru, vysvětlím mu to, a pak pokračuje už dobře, ale našli se takoví, kterým jsem to řekl 5x a oni to nepochopili, takže tak...

Trochu jsem se rozšoup :lol: ale koho to zajímá tak si to přečte :)

Re: jak se naučit programovat

Napsal: ned 26. zář 2010, 20:54
od OndraSter
arxeiss píše:...
Co jsem se ohledně škola vs programování snažil říci (a nepovedlo se mi) je to, že ve škole ti dají pár programů na udělání, pár věcí popíšou. Ale odhadem tak 50% (možná i víc), nedokáže potom vyrobit program, který si sami vymyslí/někdo jim zadá. Dalších 20% z toho zbytku ho napíše hnusně (aneb inicializace 2x30 inkrementujícího pole ručně). Dalším 20% to dá opravdu zabrat a jen 10% ze všech lidí to napíše opravdu efektivně a použitelně (rozšířitelně).

Opět jsem se zamotal :D

Prostě IT na školách je o "udělej to a to takhle a takhle", než "vymysli cestu, jak to udělat. Efektivně".

Re: jak se naučit programovat

Napsal: ned 26. zář 2010, 21:01
od olis
no tak sorry ale to tam musely byt fakt lamy ked nepochopoili ani a= a+ b; taketo nieco u nas ani nebolo treba vysvetlovat jako inak my mame vyhodu ze sme sa zacali ucit c++ uz od prvakov lebo predtim sa to ucilo az od 3 triedy to je dobre no a za 4akou by sme mali preberat zase javu

to ondraster my ked spravime program ktory dostaneme na doma hnusne ako si ty napisal hodnoty to ako keby sme ho ani nemali vyzaduje to najlepsie ak to moze byt samozrejme ked sa to da spravit viacerimi sposobmi necha to na nas a potom ked to spravime zlozitejsie tak nam vysvetli ako by to bolo lepsie no nwm ja som zatial spokojny tak ako nas to uci

Re: jak se naučit programovat

Napsal: ned 26. zář 2010, 21:06
od arxeiss
Jako jim dělalo problém toto
a = a+b;
a = a-b;
a = a*b;
a = a/b;
a pak si mysleli že když vypíšou a čtyřikrát tak budou mít všechny výpočty... jako když jsem jim řekl že to takto fakt nefunguje, a vysvětlil jsem jim to třeba na příkladu s matikou opět, tak to pochopili, někteří prostě ne!! Jako ale vesměs má Ondra pravdu, to vidím i teď na spolužácích (jsem ve 3.) jak píšou prasácky, a někteří to nechápou. A to náš učitel hodně lpí na přehlednosti, a na tom aby jsme nepsali špatně, a snaží se to vysvětlitl, ale arogantnímu idio*ovi fakt nepomůžeš

Re: jak se naučit programovat

Napsal: ned 26. zář 2010, 21:24
od olis
hm tak u nas je to zase celkom rozumne vyriesene ty co chcu programovat idu po 2 rocniku do jednej triedy a ty co nechcu tak idu do inej triedy takze ako 3 su tam uz vlastne len ty co "vedia" programovat a bavi ich to

Re: jak se naučit programovat

Napsal: ned 26. zář 2010, 21:29
od arxeiss
jj tak je to u nás na těch nových oborech. Ale na našem jěště ne

Re: jak se naučit programovat

Napsal: pon 4. říj 2010, 19:08
od marek16
arxeiss píše:...
tohle nechápu. Programování bylo a vždycky bude úzce specializovaná činnost, nemá smysl to hustit do celé třídy a už vůbec ne na základce, když ten člověk pomalu ani neví co je proměnná. Další velmi negativní jev s tím spojený je snižování ceny té práce - už teď si některý firmy myslí, že jim lidi budou dělat za 14 čistýho myšlenkově náročnou činnost, na kterou je potřeba hodně teoretických znalostí. Proč? Protože se vždycky najde nějaká bukva, která se naučí if a while, a následně to za těch 14 tisíc vezme.

Co se původní otázky threadu týče - jako první jsem se učil C. Není to špatný, ale pro začátečníka je tam spousta věcí, na kterých se sekne a absolutně nebude vědět jak dál. Je třeba mít známýho co to už umí. Prasárny typu pascal a (visual) basic se skoro nepoužívají, důvodem budiž hrozivá ukecanost a nepřehlednost těch jazyků.
Jakmile zvládneš C a pochopíš, že programování jsou jen příkazy, podmínky a cykly, můžeš nastoupit na C#, ve kterým už se relativně snadno dají psát i okenní aplikace a hlavně tě nenutí zabývat se výmyslama toho jazyka, ale samotným problémem.

Ale pamatuj na jedno - čím víc se toho dozvíš, tím víc ti bude jasný že vlastně neumíš vůbec nic, takže pak nastoupí značkovací jazyky (HTML, XML), stylovací (CSS, XSLT), databázový SQL, který se v každé modifikaci liší jednou tečkou nebo závorkou, assembler abys pochopil jak to funguje na úrovni procesoru, abstraktní datový typy, grafický knihovny (OpenGL), turingovy stroje, sockety....
A říkám ti předem, jestli na to nemáš trpělivost a vytrvalost, můžeš si rovnou ušetřit spoustu času a vykašlat se na to :-D

Re: jak se naučit programovat

Napsal: pon 4. říj 2010, 19:37
od arxeiss
marek16 píše:tohle nechápu. nemá smysl to hustit do celé třídy a už vůbec ne na základce, když ten člověk pomalu ani neví co je proměnná.
1. Čti pořádně, základky jsme učili HTML
2. C v prváku na počítačové střední, ze které by programátoři měli vyjít (i obor tomu odpovídá) takže nechápu proč by to něměli umět...
3. Napsal jsem toho hodně, tak cituj alespoň kousek textu ke kterému se vyjadřuješ, na co jsi reagoval jsem si pouze domýšlel.

Re: jak se naučit programovat

Napsal: čtv 4. lis 2010, 20:56
od Saphire
Dle mého názoru je první nejdůležitější se naučit programovat teoreticky - vymyslet (kde bude podmínka, co bude ověřovat, kde bude cyklus, jak budu zpracovávat data, atd.), protože jak již psal marek16 tupě zapisovat nabiflovaný syntax umí cvičená opice. A za druhé ZAPISOVAT ZDROJÁK PŘEHLEDNĚ!

-----
marek16 píše:tohle nechápu. nemá smysl to hustit do celé třídy a už vůbec ne na základce, když ten člověk pomalu ani neví co je proměnná.
Hustit to nemá smysl nikdy! Musíš postupovat tempem, které ti danní jedinci zvládají a pouze za předpokladu, že mají o programování zájem. Jinak je to marné.

Mimochodem: Studuji druhý ročník na šestiletém gymnáziu s (rádoby) zaměřením programování.
Na začátku roku jsme se s 3 programátory z naší třídy domluvili, že si založíme na praxi IVT vlastní skupinu, která bude brát učivo rychleji a čtyři lidé (skupiny jsou po 8 ) , kteří budou chtít se opravdu naučit programovat, se můžou přidat. První dva měsíce jsme jeli hodně rychle, až vyučující přišel s tím, že jsem o několik hodin dopředu, než ostatní skupiny a že přišel čas na "skutečné programování", konkrétně céčko. Jakožto člověk, který z té skupiny C ovládá nejlépe, jsem na začátku dvouhodinovky dostal 4 lidi, kteří nevěděli o C naprosto nic, ale ,,jakštakš" zvládali teoreticky programovat. A za 100 minut jednoduchých operací zdělení->zkouška v praxi, jsem získal 4 lidi ovládající základy práce s C (puts,printf,scanf,proměnné,funkce)
Takže to skutečně není složité, máš-li teoretický základ.

Re: jak se naučit programovat

Napsal: pon 8. lis 2010, 21:21
od SeagullCZ
Nejprve se nauč základy NĚJAKÉHO programovacího jazyka, je na tobě co zvolíš, doporučuji C, nedoporučuji skriptovací jazyky, dovolují totiž takové prasečiny, až hamba a jak se je naučíš tak budeš u striktnějších jazyků čučet. Až budeš umět základy jako je, číst a zapisovat na ( standartní vstup a výstup ), aritmetické a logické operace, cykly, podmínky a pochopíš ukazatele pak se vrhnout na studium algoritmů (seznamy, zásobníky, stromy, vyhledávací algoritmy, operace nad tabulkou) a s tím se učit dynamické alokace proměnných a pod..., potom začít zkoušet dle libosti různé knihovny, pro internetovou komunikaci se naučit BSD sockety, pro grafiku DirectX nebo GL, pro klikací aplikace třeba QT, ale v tu dobu už budeš sám vědět k čemu tě to táhne. Jo a pro to C doporučuju Programovací Jazyk C od Kernighana a Ritche a samozřejmě internetové zdroje ...

Re: jak se naučit programovat

Napsal: sob 27. lis 2010, 19:21
od hotel007
Jsem na Ekonomické informatice - VŠ, šel jsem tam, že mě baví programovat atd. ale jsem pořád začátečník a ekonomku mám "za sebou", tak jsem chtěl pokračovat.
První co do nás rvou - PASCAL - všecko od základů, po pole, struktorované proměnné, podprogramy atd... Je spousta lidí co s tím má problém!
Pak děláme c++ (Základy objektově orientovaného programování) - třidy, metody, vazby, dědičnost, polymorfismus a tam se chytají i ti, co v pascalu netuší, proč?
Jako další předměty je třeba teoretické základy informatiky, Výpočetní technika (linux - ovládání přes konzole, teorie informace ...)
Na to, že jsem začátečník je všecko v pohodě a doufám, že jak píšete nás nenaučí nějaké špatné návyky, dále je tam totiž C a JAVA - co doporučujete - náročnost, klady, zápory... ?

Re: jak se naučit programovat

Napsal: sob 27. lis 2010, 20:13
od Saphire
Odpověď 1: Pascal je zastaralý tupý nízkoúrovňový jazyk, který programátorovi "svazuje" ruce, jako jazyky vysokoúrovňové a je nepoužitelný v praxi. Problém s tím mohou mít proto, že znalost elementárního programování nezávisí na schopnosti se naučit programování objektové.

Odpověď 2: Dávat na výběr mezi c a javou je trochu nensmysl, protože odstraněním "spatných" vlastností c++ (které pochází z C) vznikla java. Pokud chceš pracovat v oběktovém multiplatformním flexibilním jazyku, je java správnou volbou, ale za to, že žere neskutečné množství paměti, to myslím nestojí 8-) .

Re: jak se naučit programovat

Napsal: ned 28. lis 2010, 11:22
od Maranov
Saphire píše:Odpověď 1: Pascal je zastaralý tupý nízkoúrovňový jazyk, který programátorovi "svazuje" ruce, jako jazyky vysokoúrovňové a je nepoužitelný v praxi. Problém s tím mohou mít proto, že znalost elementárního programování nezávisí na schopnosti se naučit programování objektové.
Pascal se dnes užívá ze zvyku, jako jednoduchý výukový jazyk pro naučení fundamentů na středních školách (a "vejškách" ;-)). Nadával jsem taky dost, ale nakonec what the hell, je to mnohem lepší než se učit s C++ od začátku. :-)
Saphire píše:Odpověď 2: Dávat na výběr mezi c a javou je trochu nensmysl, protože odstraněním "spatných" vlastností c++ (které pochází z C) vznikla java. Pokud chceš pracovat v oběktovém multiplatformním flexibilním jazyku, je java správnou volbou, ale za to, že žere neskutečné množství paměti, to myslím nestojí 8-) .
Řešení: C#. :-D
Všechny programy nemusí být extra optimalizované a bůhvíco. V případě nějakých složitějších client-server řešení, databází apod. by optimální řešení v C++ buď trvalo hodně dlouho nebo by prakticky ztratilo všechny výkonnostní výhody.

hotel007: Java. OOP, větší abstrakce, větší možnosti použití... pochybuji že by jsi chtěl programovat jednočipy, drivery nebo různé výkonnostně náročné aplikace v C. Java na druhou stranu má celkem široké použití a člověk nemusí být profík přes operační systémy, aby něco vůbec napsal.

Re: jak se naučit programovat

Napsal: úte 22. úno 2011, 15:28
od Kr1sp0s
Je pro začátečníka vhodná třeba tato kniha? Začínat rovnou 4. edicí Thinking in Java mi nepřijde zrovna nejlepší, ale rád bych se programování začal věnovat. Rád bych se v budoucnu orientoval na problémy počítačových sítí a jejich bezpečnosti...

Re: jak se naučit programovat

Napsal: úte 22. úno 2011, 16:43
od Maranov
To fakt ne. Tohle je jedna z nejvíce hardcore, nečitelných, matematických knih vůbec.

Dobré knihy dělá O'Reilly.

Re: jak se naučit programovat

Napsal: úte 22. úno 2011, 16:47
od Kr1sp0s
V tom případě se mrknu na Amazonu :) Mám certifikátovou zkoušku IELTS 7,5 takže pro mě není AJ problém. Momentálně mám doma ale jenom toho Eckela...

Re: jak se naučit programovat

Napsal: úte 1. bře 2011, 18:59
od Václav Sedlář
Jsem druhým rokem na VŠ-nikdy před VŠ jsem neprogramoval...v 1. a 2. semestru byla java (2.semestr byl objektový) a 3.semestr byl C a C++...teď nám začal 4.semestr a budeme mít C#....

Musím říct, že ti velice doporučuji to pořadí, jaké máme my...-java je jednoduchá, až s objektama začne být záhul (pro některé), C ujde,protože základ je podobný jako java, jen jsou tam navíc pointry (mocná věc-když se to člověk naučí používat) a C++ je šílenost....C# je okopírovaná java...

Hlavně doporučuji jak na javu, tak na C koupit knihy od herouta....

Re: jak se naučit programovat

Napsal: úte 1. bře 2011, 19:36
od krakenuss
Václav Sedlář píše: Hlavně doporučuji jak na javu, tak na C koupit knihy od herouta....
Mohl bys doporučit nejakiu knihu na C#???

Re: jak se naučit programovat

Napsal: úte 1. bře 2011, 20:32
od jan.svoboda
Můj post včetně doporučených knih: http://pctforum.tyden.cz/viewtopic.php? ... 1#p8088731