Literatura a studijní materiály
Vlastní materiály ke kurzu:
Kurz je vyučován v prezenčním (BPPC) i kombinovaném programu (KPPC). Doporučuji proto sledovat i druhý kurz (přednášky, cvičení, úkoly, projekty, komentáře ...), který má náplň upravenou rozsahu a možnostem.
Materiály ke kurzu jsou publikovány na školní stránce garanta. Tyto jsou dostupné přímo, nebo z elearningu, ve kterém je navíc možné psát zprávy a účastnit se diskuzí. Dále budou materiály (patrně méně často) kopírovány na školní disk do adresáře garanta (Q:/vyuka/richter/www_stranky).
Text skript (pdf
v zip 1.12MB) – skripta obsahují přehled o
programování a sestavení programu v C a C++. Jazyk 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ů). Kapitoly o C a základy
C++ jsou v pořádku, dědění je zatím informativně. 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 190kB) – soubor, který je promítán na přednáškách. Obsahuje 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ý).
K některým tématům se vracíme na těchto stránkách
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,
Prata – Mistrovství v C++
Jazyky C a C++ - Virius M.,
Grada2006, ISBN 80-247-1494-9
---
rozbor vlastností 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
Odkazy na www
www.research.att.com/~bs 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 na ftp://ftp.research.att.com/pub/c++std/WP/CD2/ dosažitelný též 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.
www.builder.cz ( http://www.builder.cz/serial24.html )
doporučení (jednoho z) „správného“ programovacího
stylu http://geosoft.no/development/cppstyle.html
nebo
http://developer.symbian.com/wiki/pages/viewpage.action?pageId=530
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.
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 http://www.codeproject.com/tools/visualleakdetector.asp. 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).
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
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)
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“
Překladače
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č 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).
Je možné stahovat 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://adam.feec.vutbr.cz/feec/msdnaa/index.php, nebo-li http://msdnaa.feec.vutbr.cz/)
vhodný a dostačující je každý překladač, který ctí normu C++
Poslední změna 2011-10-11