Přednášky FIT ČVUT, VUT, MUNI

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #15 kdy: 08. 01. 2014, 02:07:57 »
A abych teda i odpověděl na otázku: pokud rozumíš mluvené angličtině, na přednášky z našich škol se vykašli. To je totální ztráta času.


txt

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #16 kdy: 08. 01. 2014, 10:31:40 »
A abych teda i odpověděl na otázku: pokud rozumíš mluvené angličtině, na přednášky z našich škol se vykašli. To je totální ztráta času.
Slajdy https://edux.fit.cvut.cz/oppa/ jsou na české poměry celkem kvalitní. Tlustou knihu nenahradí (např. od o'reilly), ale jsou v nich zajímavosti, který se málokde jinde dozvíš. Pokrokový je na tom už jenom fakt že jsou takhle z jednoho místa dostupný veřejnosti. Případnej zájemce o studium pak má mnohem lepší představu do čeho jde, než podle mnohdy lživých sylabů.

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #17 kdy: 08. 01. 2014, 10:38:10 »
Slajdy https://edux.fit.cvut.cz/oppa/ jsou na české poměry celkem kvalitní. Tlustou knihu nenahradí (např. od o'reilly),
OP potřebuje ucelený učební materiál. To slajdy nejsou.

ale jsou v nich zajímavosti, který se málokde jinde dozvíš.
OP nepotřebuje zajímavosti. Btw, můžeš uvést nějaký konktrétní příklad?

Pokrokový je na tom už jenom fakt že jsou takhle z jednoho místa dostupný veřejnosti.
To je teda pokrok! :)))

txt

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #18 kdy: 08. 01. 2014, 11:01:37 »
OP potřebuje ucelený učební materiál. To slajdy nejsou.
Vždyť to sám píšu, tak o co ti jde?

OP nepotřebuje zajímavosti. Btw, můžeš uvést nějaký konktrétní příklad?
Nevím jestli je to tebou uznatelná zajímavost, ale třeba o Pythonu jsem měl několik knih, ale to že se parametry konstantních typů předávají hodnotou, zatímco nekonstantní typy odkazem vím z těchto slajdů. A nejen to, přečti si od tud něco :)

Citace
Pokrokový je na tom už jenom fakt že jsou takhle z jednoho místa dostupný veřejnosti.
Citace
To je teda pokrok! :)))
V ČR je to pokud vím ojedinělý úkaz.

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #19 kdy: 08. 01. 2014, 11:16:48 »
ale třeba o Pythonu jsem měl několik knih, ale to že se parametry konstantních typů předávají hodnotou, zatímco nekonstantní typy odkazem vím z těchto slajdů. A nejen to, přečti si od tud něco :)
Je to sice OT, ale můžeš uvést příklad nebo přesný odkaz, kde to mám v těch slajdech hledat? Tak, jaks to napsal, mi to totiž přijde dost divný.


Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #20 kdy: 08. 01. 2014, 12:04:40 »
No tak jsem to našel a není to žádný špek, který se jinde nedočteš, ale blbě vysvětlená věc, kterou se dočteš všude (líp vysvětlenou).

Správně to mělo být tak, že v Pythonu (tak jako ve spoustě jiných moderních jazyků) se vždycky předává hodnotou odkaz na objekt. Takže u immutable objektů to je de facto sémanticky ekvivalentní volání hodnotou, zatímco u mutable objektů to připomíná volání referencí, ale ani tam to není volání referencí - protože v rámci funkce nemůžu zasahovat do scopu volajícího.

Pisatel to evidentně myslel správně a ví, o čem mluví, ale napsal to prostě tak blbě, že to čtenáře zmate. A ještě ke všemu bez ilustrace a úplně mimo kontext (ubohý čtenář by snad mohl nabýt dojmu, že ilustrace je ten kód nad tím, který s tím vůbec nesouvisí).

Takže jsi nechtěně výborně ilustroval to, co jsem řekl: materiály z našich VŠ se vůbec nemá smysl zabývat, je to ztráta času. Líp je to vysvětlený i na Wiki: http://en.wikipedia.org/wiki/Call_by_value#Call_by_sharing

NotBeginner

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #21 kdy: 09. 01. 2014, 16:31:00 »
Něco ohledně home-schoolingu. Já začal programovat v Javě SE až 31 letech, před necelými 2 roky. Takže jsem podobný případ jako ty. Dám ti informace jak jsem začínal já sám.Z vysoké jsem měl zkušenosti z Pascalem, HTML a JavaScriptu. Nejsem z IT ale ze stavárny.

Já si koupil 3 Herouty(základy,GUI,knihovny) a postahoval ENG knihy z http://it-ebooks.info/tag/programming/.  IDE jsem měl ze začátku NetBeans a nyní jedu na Eclipse. Každá kniha mi zabrala průměrně asi 3 měsíce a samotné pochopení a naučení používání základů objektů( tvz. strukturovaných datových typů) zhruba měsíc. Samozřejmě počítej s tím že ze začátku všechno bude velmi dlouho trvat.

Problém zpětně vidím ve velkém množství zdrojů informací které mají chybnou terminologii. Nejlepší je rozhodnout se pro jednu knížku a prostě ji ty 3 měsíce čti.  Některé kapitoly samozřejmě i vícekrát a hlavně ty vzorové zdroje naprogramovat, vyzkoušet a pochopit jednotlivé instrukce a pokud nepochopíš nepokračuj dál. Prvního půl roku se o API = základní balík knihoven vůbec nezajímej.

Ze začátku doporučuji nejlépe české texty na učení. Ty anglické učební texty přijdou časem tak do roku ať ve formě knih, webu ( např. z http://stackoverflow.com/, http://www.java2s.com/Code/Java/CatalogJava.htm,popř. API jenž je v angličtině ). Ještě dobrá ale už stará je knížka Myslíme v jazyku Java.

Během prvního roku jsem sfoukl ty tři Herouty vč. OOP(zapouzdření,dědičnosti,polymorfismu),(AWT,Swingu) a kódování.  Každá kniha mi zabrala průměrně 3 měsíce. Druhý rok jsem se věnoval FX2,JNI,XML,JOGL(OpenGL for Java),MySQL a návrhovým vzorům.

Odhadem jsem Javě věnoval tak 1000-1500 hodin/rok, průměrně denně tak 4-5 hodin.

ivan

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #22 kdy: 10. 01. 2014, 00:04:16 »
to NotBeginner..
Dik chlape!!! inspirujuci prispevok...1500 hodin pufff..5 hodin denne..chodil si popri tom aj do prace??

2xsom precital Pascal pro zelenáče: Pavel Satrapa, dnes som kupil Pascal programování pro začátečníky:Miroslav Virius to snad uz len preletim a potom mam v plane Algoritmy a programovací techniky: P. Töpfer toto je asi najdolezitejsia kde sa zasekam... potomto si budem istejsi v kolenach a vrhnem sa na tu Javu..

Herouta uz mam vsetky 3 spominane knihy...tie ale az po tych algoritmoch..coho sa bojim najviac..
A teraz asi hlupa otazka: S akymi problemamy/algoritmami je dnesny programator v praxi konfrontovany najcastejsie??Co je dolezite a co menej..Myslym v oblasti algoritmizacie??

mikrom

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #23 kdy: 10. 01. 2014, 01:26:19 »
...
2xsom precital Pascal pro zelenáče: Pavel Satrapa, dnes som kupil Pascal programování pro začátečníky:Miroslav Virius
...
a potom mam v plane Algoritmy a programovací techniky: P. Töpfer
...
 potomto si budem istejsi v kolenach a vrhnem sa na tu Javu..
...
Herouta uz mam vsetky 3 spominane knihy...tie ale az po tych algoritmoch..coho sa bojim najviac..
...
A teraz asi hlupa otazka: S akymi problemamy/algoritmami je dnesny programator v praxi konfrontovany najcastejsie??Co je dolezite a co menej..Myslym v oblasti algoritmizacie??
Dobre ti tu radili, aby si sa s tym Pascalom tolko nebabral. Ked si precital 2x Pascal od Satrapu, tak namiesto citania dalsiej knihy o Pascale (Virius) a algoritmov (predpokladam ze to bude dost akademicke) si precitaj radsej este jednu knihu od Satrapu: Perl pro zelenace. To ti poskytne trochu iny pohlad na vec, t.j. ze namiesto roznych zlozitych datovych struktur sa riesia problemy len s 2 strukturami t.j. zoznam a asociativne pole a zoznamis sa s regularnymi vyrazmi. Toto sa ti v praxi moze dobre hodit a padne ti to dobre vediet aj v Jave.

Nechcem to studium algoritmov nejako zpochybnovat, ale v modernych jazykoch su algoritmy, ako napriklad triedenie implementovane, takze s tym nemusis stracat tolko vela casu. Okrem toho asi malokto bude vymyslat nejake vlastne algoritmy, ale radsej pouzije uz hotove kniznice. Ale kazdopadne je dobre vediet, co existuje, aby si si to vedel v pripade potreby dohladat. Kto co pouziva zavisi hlavne od toho co robi. Ja som triedenie rucne pisal zriedka, ale napriklad som viackrat pouzil rekurziu a regularne vyrazy vyuzivam dost casto.
Na tvojom mieste by som sa s algoritmami zacal zaoberat az s tou Javou. Podla mna s tym Pascalom to zbytocne natahujes. Uvedom si to, ze aj ked vsetko dostudujes v Pascale (co ti bude trvat dost dlho), tak ked zacnes s Javou budes stat znova na zaciatku, pretoze budes musiet zacat chapat OO.

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #24 kdy: 10. 01. 2014, 10:14:03 »
Tak základní algoritmy je dobré znát a upřímně, merge sort zapsaný v imperativním jazyku bude vypadat dost podobně - je jedno, jestli to bude Pascal, C nebo Java (totéž platí pro funkcionální jazyky - v F# vypadá podobně jako v Haskellu nebo Scale). Samozřejmě zabít s tím spoustu času je blbost, ale je třeba tomu věnovat dostatečný čas. U mnoha funkcí v Javě máš popis "dělá tohle s použitím algoritmu ..." - je fajn mít přehled o slabých a silných stránkách daného algoritmu a o jeho složitostech. A jinak pokud člověk hlouběji pronikne do OOP a architektury a navrhne netriviální graf (např. s kombinací nějakých takovýchto vzorů: http://martinfowler.com/apsupp/accountability.pdf), bude potřebovat napsat vlastní algoritmy pro práci s takovým grafem. Bez toho, aby znal základy (ano, ty, které jsou implementovány v základních knihovnách jsou většinou pouze základy), se mu to bude implementovat těžko. Samozřejmým předpokladem je také znalost základů vyčíslitelnosti a složitosti a puf, už jsme opět u formálního vzdělání.

S Perlem bych se na začátku nezabýval - to raději Python, který je modernější a lépe navržený. Perl je fakt celkem peklo. Na toto téma už byly napsány terabajty textu, takže není třeba to asi dále rozpitvávat. Spíš jenom poznámku k datovým strukturám - v mnoha případech je lepší mít pevnou datovou strukturu - u asociativního pole nikdy člověk neví, co je v něm, jestli tam nějaká data nechybí nebo není překlep (což se dozví až za běhu programu) a na netriviální věci to paradoxně práci jen přidělává. Binec v programu se opraví snadno (byť před uživatelem bude vývojář vypadat jako debil), ale pokud je binec v uživatelských datech, je to obvykle dost průser.

pepak

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #25 kdy: 10. 01. 2014, 10:58:57 »
A teraz asi hlupa otazka: S akymi problemamy/algoritmami je dnesny programator v praxi konfrontovany najcastejsie??Co je dolezite a co menej..Myslym v oblasti algoritmizacie??
Algoritmy je dobré znát, abys věděl, který je vhodný použít ve které situaci, jaké má výhody a omezení apod. Jen zcela výjimečně se ale setkáš s tím, že bys ten algoritmus skutečně implementoval, většinou si prostě mezi už naimplementovanými algoritmy v knihovně jeden vybereš. Tedy tvůj problém nebude "jak bych teď napsal hash tabulku, aby to bylo efektivní?", ale spíš "hodí se mi sem hash tabulka, a když, tak s jakou velikostí?"; zrovna tak nebudeš řešit "mám si na to napsat QuickSort, nebo mi stačí BubbleSort?", ale spíš "jak mám pro tahle data napsat argumenty do knihovní funkce sort?".

To ovšem neznamená, že se na ty algoritmy máš vykašlat. Když nebudeš vědět, který se hodí kam, tak velmi pravděpodobně budeš psát programy, které jsou velké a pomalé. Tedy pokud budeš mít tu kliku, že vůbec budou fungovat.

NotBeginner

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #26 kdy: 10. 01. 2014, 11:23:27 »
Ne jsem podnikatel a tudíž do práce několik let nechodím. A vzhledem k tomu, že ve stavebnictví toho moc není je mnohem více volného času který jsem se rozhodl efektivně využít.

PS. na Pascal kašli, to spíž jdi do Delphi, má GUI a objekty. Ale pokud je to jenom mezistupeň tak i na to se vykašli a skoč přímo do jazyka jaký potřebuješ.  I v Javě/C/C++/C# si ty algoritmy nacvičíš.
PSS. já osobně považuji za největší problém že neexistuje pořádna webstranka či zdroj věnující se všem programujícím jazyků jenž by objektivně řešila jejich výhody a nevýhovy. Samotní programátoři málokdy jsou objektivní a nejsou schopni se přenést přes osobní ega a přiznat slabiny jazyků ve kterých programují.(i zde na rootu) Těd zpětně nevím jestli bych si vybral třeba Javu protože pro matematické výpočty je skutečně dost pomalá a čím větší výpočet tím je pomalejší. Ovšem jde to obejít přes JNI v kombinaci *.dll.


Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #27 kdy: 10. 01. 2014, 18:00:16 »
A jinak pokud člověk hlouběji pronikne do OOP a architektury a navrhne netriviální graf (např. s kombinací nějakých takovýchto vzorů: http://martinfowler.com/apsupp/accountability.pdf), bude potřebovat napsat vlastní algoritmy pro práci s takovým grafem. [...] Samozřejmým předpokladem je také znalost základů vyčíslitelnosti a složitosti a puf, už jsme opět u formálního vzdělání.
Mohl bys prosímtě uvést konkrétní příklad aplikace znalosti z vyčíslitelnosti, kterou člověk potřebuje k tomu, aby mohl pracovat s objekty, které na sebe odkazují takovým způsobem, jako je to v tom pdf?

Já bych čistě laicky řekl, že v OOP člověk v podstatě nikdy nepracuje se sítí objektů jako celkem a už vůbec k tomu nepotřebuje žádné znalosti z vyčíslitelnosti, ale rád se nechám vyvést z omylu. Jenom, moc prosím, konkrétně - obecných řečí "to je přece potřeba" už jsme tady zažili až až...

Jakub Galgonek

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #28 kdy: 10. 01. 2014, 18:29:05 »
Samozřejmým předpokladem je také znalost základů vyčíslitelnosti a složitosti a puf, už jsme opět u formálního vzdělání.

Ten samozřejmý předpoklad mi připomněl jednu anekdotu:

Citace
Dva studenti diskutují v ješivě o tom, zda je venku nutné nosit jarmulku.
- Samozřejmě,- tvrdí první, -nosil ji už patriarcha Abraham, jak se praví v Písmu.
- Počkej,- namítá druhý, -o tom se v Písmu přece nikde nepíše!
- Přímo ne, ale v knize Genesis přece stojí: I řekl Pán Abrahamovi:"Vyjdi z domu otce svého..." A ty si myslíš, že by takový vážený a pobožný Žid vyšel z domu bez jarmulky?

Re:Přednášky FIT ČVUT, VUT, MUNI
« Odpověď #29 kdy: 10. 01. 2014, 18:47:02 »
Ten samozřejmý předpoklad mi připomněl jednu anekdotu:
Nojono, když ono to s tou teorií je jako když ti dva kominíci prolítli komínem a jenom jeden se umazal. To znáš? Místní ekšperti slyšeli ve škole
Citace
Ten, co je špinavý, vidí tvář druhého, která je čistá, a myslí si, že je čistý i on. Kdežto ten, co je čistý, vidí umouněnou tvář druhého, myslí si, že je špinavý, a jde se umýt. Chápeš?
...s tím se spokojili a rozhlašují to dál. Že to má pokračování, na to sere pes :)

Pokud neznáš, třeba tady: http://www.holocaust.cz/cz2/resources/ros_chodes/2006/08/levi_nyni