Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Literatura

V podstatě cokoliv o programování pro začátečníky, nejlépe v Pythonu a nejlépe rovnou ve verzi 3.

* Learning with Python - dobře napsaná kniha, k dispozici zdarma, existuje i papírová podoba: Wentworth, Peter, Elkner, Jeffrey and Downey, Allen B. and Meyers, Chris, How To Think Like a Computer Scientist - Learning with Python 3 (RLE), 2012, 3rd edition, český překlad .

* Možná ještě lepší je 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).

* Kniha: Zelle, John M., Python Programming: An Introduction to Computer Science, Franklin, Beedle & Associates, 2010, 2nd edition je též vhodná pro začátečníky, včetně materiálů na webu

* Vřele doporučujeme i knihu 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 Dive into Python vás rychle naučí Python a i k ní existuje český překlad.

* Problem solving with Algorithms and Data Structures using Python klade velký důraz na algoritmy a jejich složitost.

Mnoho odkazů na dokumentaci, návody a tutoriály naleznete na domovské stránce Pythonu a stránce předmětu 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

* 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”.

* Algorithms+Data structures byla jedna z prvních knih o programování, původně v jazyce Pascal, volně dostupná verze je pro jazyk Oberon.

* Doporučuji programátorské kuchařky z MFF UK. Je to hezky napsané, stručně a přitom přesně, v Pascalu a česky. Široký rozsah témat od třídění po grafy.

Ti, kteří už programovat (v Pythonu i obecně) umějí, mohou číst rovnou knihy o algoritmizaci, jako třeba:

* 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.

* Cormen,Leiserson,Rivest,Stein:Introduction to Algorithms je rozsáhlá kniha, které zejména v oblasti matematické analýzy algoritmů jde nad rámec toho, co budeme vyžadovat v našem předmětu. Doporučujeme těm, které neodrazuje matematika a kteří se chtějí naučit něco navíc. Elektronická verze je volně dostupná v rámci ČVUT.

Online kurzy

V online kurzech se programuje přímo ve webovém prohlížeci a program se hned vyhodnotí. Takové služby jsou nabízeny i pro jiné programovací jazyky. Součástí kurzů býva vysvětlení probíraného tématu a úkoly, které je třeba splnit.

* Pro začátečníky v Pythonu lze dopoučit: https://www.learnpython.org

* Tematicky orientovaný W3 Schools Python Tutorial.

* Na videích založený Udemy

Sbírky příkladů

* W3 Python Exercises

* Practice Python

Odkazy na trochu těžší úlohy z předmětu A4M33PAL):

* Korespondenční semináře z programování (KSP), MFF UK Praha, MFF UK Bratislava, MU Brno.

* Úlohy ze středoškolských programovacích olympiád .

* Steven S. Skiena, Miguel A. Revilla: http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf – vyborný úvod a komentář k vybraným úlohám z UVA Online Judge

* Vyhodnocovací systém na University of Valladolid: UVA Online Judge Pomůcka: UVA Toolkit Tématické členění vybraných úloh z UVA

* Soutěžní stránky ACM na FEL: ACM International Collegiate Programming Contest

* Project Euler

* Sphere Online Judge

* Řešení problémů se zaměřením na pracovní interview (nejenom) Hackerrank, pro pokročilejší

courses/b3b33alp/literatura.txt · Last modified: 2021/09/16 14:34 by kybicjan