Literatura a studijní materiály 2018
Materiály ke kurzu – texty přednášek a cvičení (původ VUT UAMT, digitální)
Knihy – tištěná literatura v knihkupectvích
Zdroje na WWW – odkazy na vybrané www stránky
Ostatní – ostatní zdroje pro informaci
SW – překladače a doplňky
Vlastní materiály ke kurzu:
Materiály BPPC (kombinovaný program KPPC). Sledujte oba kurzy – liší se obsahem i typy příkladů.
Materiály ke kurzu jsou publikovány na školní www stránce garanta. Jsou dostupné přímo, nebo z elearningu. Rozsáhlejší materiály jako testovací soubory nebo osnovy řešení příkladů budou dostupné ze školního disku v adresáři (R:/vyuka/UAMT/richter/bppc nebo odpovídající u p. Petyovského).
Text skript (pdf
1.62MB) – skripta obsahují přehled o programování a
sestavení programu v C a C++ včetně příkladů. Zde je aktuální verze
(aktualizace je pružnější než na stránkách fakultních elektronických
textů). Na konci kapitol skript je shrnutí – nutno znát a vědět
proč.
Pozn. 1. Součástí skript jsou i texty věnující se jazyku C
– jsou zařazeny jako příloha ve druhé části skript. V této
části se nachází „jádro“ jazyka C, nebo-li část jazyka C,
která se vyskytuje ve většině překladačů jazyka C. Součástí je i
množství příkladů řešených i neřešených.
Pozn. 2: Příklady jsou v
rámečcích, aby šly snadno překopírovat do překladače. Bohužel toto
funguje pouze pokud příklad „nepřeteče“ přes hranici
stránky. Potom se musí vykopírovat každá stránka zvlášť. (Nejlepším
řešením ovšem je snažit se příklad napsat samostatně):
Text přednášek (pdf 690kB) – soubor, jehož části jsou promítané na přednáškách. Obsahuje pouze hesla, která jsou na přednáškách komentována.
Rychlokurs jazyka C++ (pdf 49kB) – soubor, který jednoduchou a značně odlehčenou formou prezentuje základní vlastnosti jazyka C++. Určený pro získání rychlého náhledu (pro naučení se C++ nevhodný).
Přednášky jazyka C (BPC2A) s příklady naleznete zde.
Semestrální práce, která se zabývá 1D a 2D poli a řetězci (pdf 219kB) (pro inspiraci, není to finální verze, obsahuje i drobné chybičky)
Diplomová práce, ve které je popsán způsob kontroly alokace paměti
a popis práce se strukturami vázaného seznamu a stromu (pdf
2,7MB).
Zdrojové texty knihovny checker pro
kontrolu paměti a souborů (knihovna check - alokace
zip 142kB), (struktury
zip 127 kB)
Knihy
Vychází celá řada knih – nutno zajít do knihovny či knihkupectví, dostupné knihy prolistovat a najít si tu, která nejvíce „sedne“ vašemu stylu myšlení. Pozor – některé knihy obsahují pouze jazyk C a to i když se v jejich názvu objevuje C++ (Na základě svých znalostí z minulého kurzu, byste měli být schopni posoudit to, že popis jazyka C by měl obsahovat maximálně čtvrtinu knihy).
Například: Herout, Virius, Stroustrup,
Pratta – Mistrovství v C++
Jazyky C a C++ - Virius M.,
Grada, druhé rozšířené vydání 978-80-247-3917-5 (doporučuji jako
druhou knihu – kvalitní ale stručná/heslovitá)
anglicky The C++ Programming Language (4th Edition),
Addison-Wesley ISBN 978-0321563842. May 2013.
(http://www.stroustrup.com/4th.html
stránky autora)
---
Kniha s rozborem jazyka a problémů s tím spojených - Pasti a propasti jazyka C++, virius
Knihy o objektovém programování - Objektové programování
1,2 Pecinovský, Virius, Grada,1996, ISBN 80-7169-366-9
Myslíme v
jazyku C++ 2 díl, Eckel, Grada publishing, 2006
OOP objektově
orientované programování bez předchozích znalostí Jim Keogh, Mario
Giannini Computer Press,
Knihy o algoritmech - Algoritmy v C, Robert Sedgewick, softpress, Praha 2003, ISBN 80-86497-56-9
Knihy o programování šablon – Moderní programování v C++ Alexadrescu Andrei, Computer press, 2004, ISBN 80-251-0370-6
Knihy o kultuře programování (týmová práce, řízení projektů) – Extrémní programování Kent Beck, Grada 2002, ISBN 80-247-0300-9
Kniha o STL (standard template library) – Josutis,
C++ Standardní knihovna a STL
Odkazy na www
http://www.stroustrup.com/ stránky „autora“ C++ Bjarne Stroustrupa
Učební materiály na FIT – http://www.fit.vutbr.cz/units/UITS/courses/
Učební materiály na FEKT – BPC1, BPC2
Je publikován draft (návrh) normy (například dosažitelný ze stránek Stroustrupa uvedených výše). Samotná norma se platí (cca 7000Kč pro C a pak ještě pro C++ (300$)). Norma pro C má označení ISO/IEC 9899:1999 (cor. 2: 2004(E)). Norma pro C++ má označení ISO/IEC 14882:2003. Odkazy na draft normy z wikipedia.org (hesla: C++11, C++14,C++17 (N4659))
www.builder.cz ( http://www.builder.cz/rubriky/c/c--/datove-kontejnery-v-c-uvod-do-stl-155907cz – viz odkazy dole na stránce)
Doporučení (jednoho z) „správného“ programovacího stylu http://geosoft.no/development/cppstyle.html
S www odkazy opatrně, ne všechny www materiály jsou seriozní, ne všechny dopracované. Některé si píší studenti podle toho jak to pochopili a ne jak to je – proto je to jednoduché ale ne precizní.
Ostatní
Na adrese: http://www.gimpel-online.com/OnlineTesting.html je pristupny online tester korektnosti zdrojovych textu jazyka C/C++ (on line demo, které je na rozdíl od ostré verze přístupné zdarma). Testovaný kod se nakopíruje, stiskne se "Analyse Code" a hned se muzete divit co vsechno neni ve vasem zdrojaku uplne korektne dle normy.
Na adrese http://www.gimpel.com/html/bugs.htm můžete najít na procvičení příklady, ve kterých máte za úkol najít nepřesnosti, nejednoznačnosti, nebo chyby.
Programování příkladů v C/C++ pomocí her nebo soutěží: www.codingame.com
Výukové tutoriály na programiz.com
Pokud Vás zajímá programování pro paralelní výpočty hledejte klíčová slova – OpenMP, parallel C
Hra s tématem jazyka C - http://www.c-jump.com (zde je možné stáhnout i ukázku práce STL kontejnerů)
Jak by neměly programy v jazyce C vypadat – výběr (překládat jako jazyk C, možná doplnit knihovny, pro globe zadat dva paremtry na řádku parametrů programu) www.ioccc.org
Volně dosažitelné knihy a články se vztahem k programování http://knihy.root.cz/
wikipedia cz – heslo „návrhový vzor“
wikipedia en – heslo „design pattern“
zajímavá ukázka : youtube – „epic conway´s game
of life“
Překladače, SW
vhodný a dostačující je každý překladač, který ctí normu C++ (při hodnocení bude referenčním překladačem překladač nainstalovaný na učebně, kde probíhají cvičení)
Vlastní programy je možné překládat i na
fest.stud.feec.vutbr.cz. Přihlásíte se svým jménem x...00, heslo
jako do linuxu, mailu (asi). Komfort je zde oproti VC++ horší (jako
v linuxu) ale na procvičení C/C++ to stačí a o překladu se zde
patrně naučíte více. Je zde k dispozici řádkový překladač clang, gcc
(gcc --help pro začátek), program na zpracování programu make.
Vlastní texty je možné psát v editoru textu (dostupný například z
mc, nebo v editoru joe).
Překladač pužívaný na cvičeních :
MS Visual Studio C++ Professional (nyní verze 15.8.4)
Je možné stahovat program MS Visual C++. Je dostupný postupně
ze stránek fakultního intranetu přes sekci informační systémy a
položku „program MSDN academic alliance“. (což je adresa
http://msdnaa.feec.vutbr.cz/)
Pozn.: prostředí je stále ve vývoji a update jsou takřka
každý týden, proto se aktuální verze může lišit od návodů uvedených
v tomto odstavci.
V současné době se jedná o MS Visual C++
2017 (umí více věcí což zvyšuje komfort práce, má implementovánu
větší část normy než předchozí verze). Pokud není pro studenty
dostupná verze professional nebo enterprise, je nutné použít verzi
Community, která je free obecně a není tedy nutné absolvovat
přihlašování přes msdnaa.
Při instalaci nejsou nutné všechny
komponenty – praktický stačí „pouze“ překladač
jazyka C++ (plus alternativní clang). Na školních počítačích
preferujeme anglickou verzi překladače. S anglickou verzí je i
snadnější vyhledávat rady na síti, protože není nutné překládat
(většinou špatně) české termíny do angličtiny. (S českými windowsy
se nainstaluje verze česká, při instalaci se dá zadat i stažení
anglických textů a po instalaci přepnout).
Instalace má cca
8GB.
Pro českou instalaci (NuGet package manager – Správce
balíčků NuGet; Testing tools core features – Základní funkce
testovacích nástrojů)
Při prvním spuštění
- nepřihlašovat k účtu (v případě
nutné aktivace se klíč dá přidat později v Help / About / zadat
aktivační Product Key)
- nastavte volbu s C++ = vývojové
nastavení Visual C++
Ve vlastnostech se dá nastavit úvodní pracovní adresář: tools / options / projects and solutions / locations.
Nastavení jazyka (byl-li nainstalován) – tools / options / environment / international settings / language.
Existují programy (doplňky), které usnadňují práci, či kontrolují chyby. Na disku Q jsou u p. Petyovského moduly do programu pro kontrolu paměti v MS VC++. Knihovna která se přidá k programu kontroluje zda je korektní práce s pamětí. Jedná se o VLD (Visual Leak Detektor), který napsal Dan Moulding a je přístupný ze stránek http://dmoulding.googlepages.com/ nebo https://vld.codeplex.com. V prostředí Builder je tento mechanizmus (trochu jinak) implementován a dá se kontrola nastavit – jmenuje se CodeGuard (v borlandu 6 má stránku v project / options).
Poslední změna 2018-08-07