{{indexmenu_n>1000}} ====== Přednášky ====== Podklady přednášek pro aktuální akademický rok 2015/2016. Podklady se skládají z promítaných slidů, které jsou také k dispozici ve zkrácených verzích šetřnějších k případnému tisku, bez přechodů mezi snímky a ve formátu čtyři snímky na stránku. **Poklady tvoří podpůrný materiál a jejich učelem není nahradit vlastní zápisky z přednášky, které slouží také jako prostředek osvojení si studované problematiky.** ===== Harmonogram přednášek ===== S ohledem na začátek semestru ve čtvrtek 1.10.2015 a svátky je předpokládaný harmonogram přednášek navržen tak, aby byly v daném kalendářním týdnu obě přednášky ve středu a čtvrtek pokud možno na stejné téma. ^ Týden ^ Středa (místnost T2:D3-309)^ Čtvrtek (místnost KN:E-107)^ | 40 | //Není//| 01.10. - Seminář používání počítačové učebny | | 41 | 07.10. - 01 - Základní pojmy | 08.10. - 01 - Základní pojmy | | 42 | 14.10. - 02 - Výrazy, operátory, řídíci struktury | 15.10. - 02 - Výrazy, operátory, řídíci struktury | | 43 | 21.10. - 03 - Řetězce a řídící struktury | 22.10. - 03 - Řetězce a řídící struktury | | 44 | //28.10. - státní svátek// | 29.10. - Diskuse nad implementačním testem + praktická ukázka ladění programu | | 45 | 04.11. - 04 - Základní typy, funkce a procedury| 05.11. - 04 - Základní typy, funkce a procedury | | 46 | 11.11. - 05 - Funkce a procedury| 12.11. - 05 - Funkce a procedury | | 47 | 18.11. - 06 - Rekurze | 19.11. - 06 - Rekurze | | 48 | 25.11. - 07 - Objektově orientované programování | 26.11. - 07 - Objektově orientované programování (Přednáška v místnosti **KN:A-221**)| | 49 | 02.12. - 08 - Objektově orientované programování | 03.12. - 08 - Objektově orientované programování | | 50 | 09.12. - 09 - Objektově orientované programování | 10.12. - 09 - Objektově orientované programování | | 51 | 16.12. - 10 - Spojové struktury | 17.12. - 10 - Spojové struktury | | 52 | //Zimní prázdniny// | //Zimní prázdniny// | | 01 | 06.01. - 11 - Abstraktní datový typ | 07.01. - 11 - Abstraktní datový typ | | 02 | 11.01. - **Náhrada středy v pondělí** - Diskuse nad implementační testem Přednáška JetBrains - team IntelliJ IDEA [[http://cs.fel.cvut.cz/en/news/detail/1175|"Life is short - code fast"]] **Přednáška mimo řádně na Karlově náměstí** - **místnost KN:E-107** | | 02 | 13.01. - 12 - Soubory | 14.01. - 12 - Soubory | ===== Úvodní přednáška ===== 1.10. (čt) Seznámení se s vypočetními prostředky počítačových učeben. Uživatelské rozhraní a základní konfigurace počítačů. ===== Lec 01 - Základní pojmy ===== 7.10. (st) a 8.10 (čt) Organizace předmětu; výpočty a výpočetní prostředky; program a programovací jazyk; syntaxe a sémantika; programovací jazyk Java a základní datové typy. * prezentace: {{courses:A0B36PR1:lectures:lecture01-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture01-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture01-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture01-demos.zip|}} ===== 2. Výrazy, operátory a řídicí struktury ===== 14.10. (st) a 15.10 (čt) Číselné typy, výrazy, přiřazení a operátory; výstup programu a matematické funkce; algoritmus a jeho popis; přehled řídicích struktur, složený příkaz; větvení if, cykly while a for * prezentace: {{courses:A0B36PR1:lectures:lecture02-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture02-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture02-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture02-demos.zip|}} ===== 3. Řetězce a řídicí struktury ===== 21.10. (st) a 22.10 (čt) Reprezentace znaku, textových řetězec a vstup programu; řídicí struktury větvení a cykly. * prezentace: {{courses:A0B36PR1:lectures:lecture03-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture03-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture03-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture03-demos.zip|}} ===== 4. Reprezentace základních typů, pole, funkce a procedury ===== 4.11. (st) a 5.11. (čt) Základní typy a reprezentace dat v počítači, typové konverze, pole, funkce a procedury. * prezentace: {{courses:A0B36PR1:lectures:lecture04-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture04-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture04-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture04-demos.zip|}} ===== 5. Funkce a procedury ===== 11.11. (st) a 12.11. (čt) Funkce, jejich jména a předání návratové hodnoty příkazem ''return''; lokální proměnné a alokace paměti; cykly a řízení průchodu cyklu, příkazy ''break'' a ''continue''; příklady dekompozice problému a jeho řešení. * prezentace: {{courses:A0B36PR1:lectures:lecture05-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture05-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture05-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture05-demos.zip|}} ===== 6. Rekurze ===== 18.11. (st) a 19.11. (čt) Rekurze a rekurzivní algoritmy; příklady rekurzivních algoritmů; peprezentace množiny polem; příklad rekurze v řazení. * prezentace: {{courses:A0B36PR1:lectures:lecture06-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture06-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture06-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture06-demos.zip|}} ===== 7. Objektově orientované programování ===== 25.11. (st) a 26.11. (čt) Úvod do objektově orientovaného modelování (analýzy a návrhu); objektově orientované programování (OOP); struktura objetu a zapouzdření; vztahy mezi objekty: agregace, dědičnost, polymorfismus; OOP v Javě: metody a datové položky třídy a instance, řízení přístupu k položkám, konstruktor třídy. * prezentace: {{courses:A0B36PR1:lectures:lecture07-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture07-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture07-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture07-demos.zip|}} ===== 8. Objektově orientované programování ===== 2.12. (st) a 3.12. (čt) Třídy a objekty, metoda ''main'', objekty základních typů, //immutable// objekty, dědičnost a hierarchie tříd; příklad geometrických objektů, jednoduchých operací s nimi a jejich vykreslení. * prezentace: {{courses:A0B36PR1:lectures:lecture08-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture08-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture08-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture08-demos.zip|}} ===== 9. Objektově orientované programování ===== 9.12. (st) a 10.12. (čt) Dědičnost, kompozice, balíky a organizace tříd; kompilace a spuštění třídy v balíku; Příklad geometrických objektů a jejich vykreslení (jednoduchý kontejner). * prezentace: {{courses:A0B36PR1:lectures:lecture09-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture09-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture09-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture09-demos.zip|}} ===== 10. Spojové struktury ===== 16.12. (st) a 17.12. (čt) Lineární spojové struktury - spojové seznamy a stromy: jednosměrný spojový seznam (operace vkládání a odebírání prvku, průchod seznamem, vyhledávání prvku v seznamu); kruhový jednosměrný spojový seznam; obousměrný spojový seznam; kruhový obousměrný spojový seznam. * prezentace: {{courses:A0B36PR1:lectures:lecture10-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture10-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture10-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture10-demos.zip|}} ===== 11. Abstraktní datový typ ===== 6.1. (st) a 7.1. (čt) Nelineární spojové struktury: stromy a binární strom. Abstraktní datový typ (ADT), datové struktury a jejich popis. Abstraktní datové typy zásobník a fronta a příklady a jejich implementací. * prezentace: {{courses:A0B36PR1:lectures:lecture11-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture11-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture11-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture11-demos.zip|}} ===== 12. Soubory ===== 13.1. (st) a 14.1. (čt) Soubory a přístup k souborům; textový a binární soubory; práce se soubory v Javě; ošetření chyb mechanismem výjimek * prezentace: {{courses:A0B36PR1:lectures:lecture12-slides.pdf|}} * zkrácená verze: {{courses:A0B36PR1:lectures:lecture12-handout.pdf|}} * zkrácená verze 2x2: {{courses:A0B36PR1:lectures:lecture12-handout-2x2.pdf|}} * přiložené demonstrační programy: {{courses:A0B36PR1:lectures:lecture12-demos.zip|}}