{{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|}}