Programování 1 - NPRG030


Podmínky pro získání zápočtu

  • Aktivní účast na cvičení.
  • Alespoň 70 % bodů z domácích úkolů.
  • Zápočtový test (na konci semestru).
  • Zápočtový program (včetně dokumentace).
    • Vymyslet a sdělit mi téma emailem (do předmětu mailu dejte NPRG030_ZAPOCTAK) do 17.12.2021
    • Odevzdat nejpozději do 28.2.2022
    • Příklady témat od Tomáše Holana: link
    • Příklady témat od Lenky Forstové: link
    • Příklady témat od Martina Mareše: link
    • Návod jak a co psát do dokumentace: link

Přednáška

  • Tomáš Holan - Čtvrtek 12:20
  • Link

1. hodina - 1.10.2021


Základní úvod. Představení požadavků k získání zápočtu. Předvedení ReCodExu. Předvedení kódu a pseudokódu.

Prezentace:

Prezentace

Úkol:

Zaregistorvat se do ReCodExu a zkusit si naprogramovat a odevzdat úlohy ze skupiny Procvičování.

2. hodina - 8.10.2021


Představení pythoních kolekcí a práce s nimi, představení for cyklu.

Prezentace:

Prezentace

Úkol:

Dva úkoly v recodexu - hledání maxima a rozklad na součin prvočísel.

3. hodina - 15.10.2021


Představení funkcí.

Prezentace:

Prezentace

Úkol:

Průsečík přímek v ReCodExu.

4. hodina - 22.10.2021


Převod mezi číselnými soustavami. Ukázka metody přístupu k řešení úloh. Komentování dobrých a horších přístupů k předchozím úlohám.

Prezentace:

Prezentace

Úkol:

Převod soustav v ReCodExu.

5. hodina - 29.10.2021


Představení heapy a grafů, práce s cizím kódem. Trénování využití funkcí.

Prezentace:

Prezentace

Úkol:

Zadání v ReCodExu.

6. hodina - 5.11.2021


Práce se spojovými seznamy.

Prezentace:

Prezentace

Úkol:

Zadání v ReCodExu.

7. hodina - 12.11.2021


Opakování heapsortu, objektové programování.

Prezentace:

Prezentace

Úkol:

Úloha v ReCodExu

8. hodina - 19.11.2021


Úvod do rekurze.

Prezentace:

Prezentace

Úkol:

Úloha v ReCodExu

9. hodina - 26.11.2021


Rekurze: factorial.py, fibonacci.py, hanoi.py, tree_depth.py

Prezentace:

Prezentace

Algoritmizace - NPRG062


Podmínky pro získání zápočtu

  • Aktivní účast na cvičení.
  • Alespoň 70 % bodů z domácích úkolů.

Přednáška

  • Tomáš Dvořák - Út 14:00
  • Link

1. hodina - 1.10.2021


Základní úvod. Představení požadavků k získání zápočtu. Řešení logických a algoritmických úloh. Představení složitostí algoritmů.

Prezentace:

Prezentace

2. hodina - 8.10.2021


Představení asymptotické notace, algoritmické úlohy, důkazy spojené s asymptotickou notací.

Prezentace:

Prezentace

Úkol:

Dokázat nebo vyvrátit tvrzení ze slidů: zadání. Odeslat na kleprlik@ksvi.mff.cuni.cz (do předmětu dát NPRG062 - DU) do 22.8.2021 4:00.

3. hodina - 15.10.2021


Důkazy asymptotické notace.

Prezentace:

Prezentace

Úkol:

Lámání čokolády v ReCodExu.

4. hodina - 22.10.2021


Představení invariantu, převod mezi číselnými reprezentacemi

Prezentace:

Prezentace

5. hodina - 29.10.2021


Kvadratické sorty, vysvětlení heapy.

Prezentace:

Prezentace

Úkol:

Úloha v ReCodExu.

6. hodina - 5.11.2021


Implementace heapsortu a mergesortu. Zdrovjový kód heapsortu - link

Prezentace:

Prezentace

Úkol:

Úloha v ReCodExu (merge sort bez kopírování pole).__

7. hodina - 12.11.2021


Složitost heapsortu a další datové struktury.

Prezentace:

Prezentace

Úkol:

Úloha v ReCodExu

8. hodina - 19.11.2021


Rekurze, stack, queue.

Prezentace:

Prezentace

9. hodina - 26.11.2021


Rekurze.

Prezentace:

Prezentace

Úkol:

Úloha v ReCodExu.