====== Literatura ====== V podstatě cokoliv o programování pro začátečníky, nejlépe v Pythonu a nejlépe rovnou ve verzi 3. * [[http://openbookproject.net/thinkcs/python/english3e/|Learning with Python]] - dobře napsaná kniha, k dispozici zdarma, existuje i papírová podoba {[a4b99rph:Wentworth2012]} a [[ http://howto.py.cz/index.htm | český překlad ]]. * Možná ještě lepší je [[http://greenteapress.com/thinkpython2/html/index.html|Think Python: How to Think Like a Computer Scientist]], která má s předchozí knihou stejné kořeny a je též k dispozici zdarma (byť ne česky). * {[a4b99rph:Zelle-2010]} je též vhodná pro začátečníky, včetně [[http://mcsp.wartburg.edu/zelle/python/|materiálů na webu]] * Vřele doporučujeme i knihu [[http://introcs.cs.princeton.edu/python/home/|Sedgewick et al.:Introduction to Programming in Python]], byť jsou v ní témata seřazená trochu jinak, než je budeme brát my. Následující knihy jsou dobré, ale postupují možná pro začátečníky trochu rychle, doporučujeme je tedy těm pokročilejším z vás: * Kniha [[http://www.diveintopython.net/|Dive into Python]] vás rychle naučí Python a i k ní existuje [[http://diveintopython3.py.cz/|český překlad]]. * [[http://interactivepython.org/runestone/static/pythonds/index.html|Problem solving with Algorithms and Data Structures]] klade velký důraz na algoritmy a jejich složitost. Mnoho odkazů na dokumentaci, návody a tutoriály naleznete na [[http://www.python.org|domovské stránce Pythonu]] a stránce předmětu [[courses:be5b33prg:tutorials:start|BE5B33PRG]] (anglicky). Existuje i řada dalších výborných knih o programování a algoritmizaci, které ale nepoužívají Python, takže je nutné si je "překládat". Klasické jsou * [[https://mitpress.mit.edu/sicp/full-text/book/book.html|Structure and Interpretation of Computer Programs]], která klade důraz na funkcionální programování. Vřele doporučujeme těm, kteří hledají "pohled z jiné strany". * [[http://www.ethoberon.ethz.ch/WirthPubl/AD.pdf|Algorithms+Data structures]] byla jedna z prvních knih o programování, původně v jazyce Pascal, volně dostupná verze je pro jazyk Oberon. Ti, kteří už programovat (v Pythonu i obecně) umějí, mohou číst rovnou knihy o algoritmizaci, jako třeba: * [[ http://algs4.cs.princeton.edu/home/|Sedgewick,Wayne:Algorithms]] obsahuje téměř všechny důležité základní algoritmy a datové struktury, o kterých by programátor měl vědet. Kniha existuje v několika edicích a pro různé programovací jazyky, tahle je pro Javu.