Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

11. клас · Избираем модул · Урок 34

Мини-проект: реализация

Часът за работа: най-малката работеща версия първо, после подобрения. Три контролни точки за 40 минути, типичните засечки и как се излиза от тях, кога се пита учителят.

Правилото за днешния час

Миналия час избрахте тема, роли и започнахте данните или правилата. Днес в края на часа трябва да имате работеща слаба версия и първо измерено число. Не хубава версия — работеща.

Най-малката работеща версия

Веригата от вход до изход, минала през всички стъпки — дори с 10 примера, 4 правила и лош резултат. Оттам нататък всяко подобрение е измеримо: пускате същите тестове и сравнявате.

Как се работи в час

сглобяванепърво измерванеедно подобрение0 минстарт10 минчекпойнт 1веригата минава25 минчекпойнт 2първото число38 минчекпойнт 3план за вкъщиАко на чекпойнт 1 веригата не минава — не добавяйте нищо ново, докато не мине.
Четиридесетте минути с три контролни точки. На всяка спирате за две минути и отговаряте на един въпрос.
  1. 0–10 мин — сглобяване. Програмистът пуска скелета от урок 7, 18 или 25 (или нов файл с Main); този с данните/правилата зарежда първите 10 реда; третият пише двата първи теста от заданието.
  2. Чекпойнт 1 (10 мин). Въпросът е един: минава ли веригата от вход до изход? Компилира се, приема вход, дава някакъв изход. Ако не — всички върху това.
  3. 10–25 мин — първо измерване. Пускате мярката за успех от заданието върху тестовите примери и записвате числото.
  4. Чекпойнт 2 (25 мин). Има ли първо число? Кои са трите най-груби грешки?
  5. 25–38 мин — едно подобрение. Само едно: повече правила, повече примери, по-малка стъпка, обработка на грешен вход. Измервате пак със същите тестове.
  6. Чекпойнт 3 (38 мин). Дневникът е попълнен, а задачите за вкъщи — разпределени.

Контролен списък за напредък

Път А — правила и търсене

  1. Правилата или дървото са данни в програмата (масив, списък), а не верига от if-ове. Добавяне на правило = добавяне на ред.
  2. Програмата стига от първия въпрос до извод поне за един вход.
  3. Изводът идва с обосновка: кое правило или кой път го е дал.
  4. Има поведение за непокрит случай: „не мога да реша“, а не грешен отговор или срив.
  5. За минимакс и търсене: има условие за край на играта или на търсенето и то е проверено с ръчен пример от урок 8 или 9.

Път Б — данни и обучен модел

  1. Тестовите примери са отделени ПРЕДИ обучението и програмата не ги вижда, докато се учи.
  2. Записан е броят примери на клас — балансирани ли са.
  3. Има първа точност върху тестовите примери, записана с датата и настройките (стъпка, епохи).
  4. Прегледани са поне 3 сгрешени примера и има хипотеза защо.
  5. За Teachable Machine: моделът е изпробван с поне 5 нови снимки или записа, направени не от тези, които са го обучавали.

Типични засечки и как се излиза от тях

СимптомОбикновено значиКакво да направите
Моделът не се учи — точността не мърда или скача нагоре-надолутвърде много признаци за малкото примери или твърде голяма стъпка на обучениепо-малко признаци (2–3), повече примери, по-малка стъпка (урок 17)
Всичко попада в един классилно небалансирани данниизравнете броя примери на клас
Точността е 100% още от първия опиттест върху обучаващите примерипроверете разделянето на обучаващи и тестови
Правилата се бият — две правила дават различен извод за същия входправилата не са наредени или на едното му липсва условиепо-конкретното правило първо; първото, което съвпадне, печели; добавете липсващото условие
Програмата стига до извод, но грешенлипсва правило или въпросите са в грешен редпроследете пътя на лист (както в урок 6) и сравнете с програмата
Минимаксът мисли твърде дългодървото на играта е твърде голямопо-малка дъска или ограничение на дълбочината; за морски шах 3×3 не бива да е проблем
Търсенето не свършваедно и също състояние се обхожда отново и отновопазете списък на посетените състояния (урок 8)
Компилира се, но пада при входнеочакван вход: букви вместо число, празен редint.TryParse и проверка преди употреба — това е и готов граничен тест
Teachable Machine познава в час, но не и вкъщидруг фон, друго осветление, друга камерадобавете примери при различни условия; ако не стига — запишете го като ограничение

Кога се пита учителят или асистентът

Редът е важен, защото на защитата ще ви питат как сте решили проблема — а „попитахме асистента“ не е решение, ако не можете да обясните отговора.

  1. Пет минути сами. Прочетете грешката, отпечатайте междинните стойности с Console.WriteLine, проверете входа на лист.
  2. Съотборник. Обяснете му какво очаквате и какво се случва. Често отговорът идва, докато го обяснявате.
  3. AI асистент — с точното съобщение за грешка и парчето код, както в урок 29. Полученото се проверява с тест, както в урок 30, и се записва в декларацията.
  4. Учителят — когато сте заседнали повече от 10 минути или когато решението е за обхвата: „да сменим ли на резервния вариант?“. Това не са въпроси за асистент.

Дневникът

Документацията в час 35 се пише лесно, ако сте водили бележки. Три реда след всяка промяна: какво променихме, какво очаквахме, какво стана. Плюс кой го е направил — това е доказателството за „принос на всеки“.

14:12  Мария   Добавихме 6 правила за случая „навън = не“.
                Очаквахме: тест 4 и 5 да минат.  Стана: 4 мина, 5 дава „не мога да реша“.
14:20  Петър   Смених стъпката от 0.5 на 0.1.
                Очаквахме: точността да се стабилизира.  Стана: 3/5 → 4/5, вече не скача.
14:31  Ива     Добавих проверка int.TryParse за входа.
                Очаквахме: „abc“ да не срива програмата.  Стана: работи, печата „въведете число“.
  • Пазете първото число — то е базата, спрямо която мерите напредъка.
  • Пазете и неуспешните опити; те влизат в документацията наравно с успешните.
  • Правете екранни снимки на изхода веднага; на защитата може да ви потрябват.

Какво трябва да запомниш

  • Първо най-малката работеща версия — цялата верига от вход до изход — после подобрения.
  • Три чекпойнта: на 10-ата минута веригата минава, на 25-ата има първо число, на 38-ата има план за вкъщи.
  • Една промяна, едно измерване, един ред в дневника.
  • „Моделът не се учи“ → по-малко признаци, повече примери, по-малка стъпка. „Правилата се бият“ → ред на правилата, липсващо условие.
  • Ред на питане: сами, съотборник, асистент с точната грешка, учител при засядане или въпрос за обхвата.
  • Дневникът с „какво, очаквахме, стана, кой“ е суровината за документацията и за защитата.