Алгоритми і програми

У великому розділі "Алгоритми та програми" (розраховано на 2 фактичні навчальні місяці, з продовженням після новорічних канікул ) учні набувають вмінь складати прості програми в середовищі програмування, зокрема з застосуванням конструкцій розгалуження та повторення.

Основним принципом роботи має бути експериментальний - коли учень не відтворює наперед задану програму в певному середовищі, а складає власну, з помилками, їх виправленням, обговоренням труднощів з вчителем та однокласниками.

Важливо підтримувати прояви творчості в укладанні програм, заохочуючи втілення власних ідей учнів.

Також, за можливості, варто використовувати набори готових робототехнічних пристроїв, наприклад CodeyRocky, mBot, Dash&Dot тощо. На цьому етапі навчання основною функцією таких пристроїв є можливість руху за наперед заданою програмою. Якщо ж такі пристрої відсутні - їх можна замінити цифровими моделями (наприклад, спрайтами у середовищі Scratch).

4 ІФО 1-1.3-5 висловлює припущення щодо події, яка змінила значення властивості об’єкта, прогнозує зміни значень властивостей залежно від настання події

4 ІФО 2-2.1-3 розпізнає алгоритмічну і неалгоритмічну послідовність дій і наслідки порушення логіки подій

4 ІФО 2-2.1-5 формулює логічні висловлювання з конструкціями «не», «і», «або»

4 ІФО 2-2.1-6 розпізнає послідовність повторюваних дій та замінює їх алгоритмічною конструкцією циклу

4 ІФО 2-2.1-7 розрізняє цикли із повторенням заданої кількості разів та до виконання умови

4 ІФО 2-2.2-2 формулює очікуваний результат виконання створеної програми для різних початкових даних / сценаріїв роботи програми

4 ІФО 2-2.3-3 визначає логічні помилки у розбитті алгоритму на блоки чи при компонуванні алгоритму з блоків

Користувач може щось змінювати в програмі, чи лише програміст?

Які умови можуть виконувати спрайти?

Як перевірити свої знання за допомогою Scratch?

Розпочинає вивчення тему урок з повторенням поняття умови (логічного слідування), та алгоритмів з розгалуженням. Практична діяльність - проект "Кольори", який можна виконувати в Scratch на основі заготовки https://scratch.mit.edu/projects/455985018/

Спрайт кота Скретча рухається за вказівником миші і може переміщуватись до квадратів червоного, зеленого та синього кольорів. Потрапивши на квадрат, виконується умова "Якщо спрайт торкається кольору", і відповідно можна встановити колірний ефект та вказати фразу, яку має промовити кіт - назву кольору українською та англійською мовою.

У заготовці є відповідні спрайти та блоки коду, в який необхідно внести зміни. Потрібно поекспериментувати і знайти числові значення для відповідних колірних ефектів.

Проект можна розширити - намалювати ще кілька квадратів інших кольорів. Або застосувати ще й інші візуальні ефекти для виконавця (самого виконавця теж можна змінити на іншого).

У разі, якщо доступними є робототехнічні пристрої, можна реалізувати проект з розгалуженням з їх використанням. Наприклад, якщо пристрій зчитує кольори, то можна запрограмувати виконання різних дій для різних кольорів (скажімо, повороти в різні сторони, рух вперед чи назад, підсвітка вбудованих LED-ламп тощо).

Тиждень з 7 по 13 грудня 2020 року - це міжнародний тиждень інформатики, із традиційною Годиною коду

Година коду

Цього року для 4 класу пропоную одну з двох діяльностей:

Зоряні війни https://studio.code.org/s/starwarsblocks/stage/1/puzzle/1

Ігрова студія https://studio.code.org/s/playlab/stage/1/puzzle/1

Обидві пропонують практику з подіями і трохи циклів. Якраз те, що нам потрібно за програмою.

Наступний урок - події та їх наслідки. Вправа на встановлення відповідності та пошук пар https://learningapps.org/display?v=pucr26yft20

Далі пропоную розглянути такі події, як день народження та новий рік - що у них спільного, відмінного, що змінюється внаслідок події, яка з них краща? :)

Практична частина: на основі заготовки https://scratch.mit.edu/projects/455991397 потрібно виконати проект "About Me" ("Про мене"). Клацання на спрайті (подія клацання) призводить до появи інформації про автора проекту. За наведеним прикладом та відео-інструкцією можна змінити вигляд спрайту, а також додати відповідний код.

Бажано додати інформацію про своїх улюблених тварин, їжу та вид спорту, але можна зупинитись і на одному об'єкті. Можна розширити перелік улюбленими предметами, порами року, кольорами тощо. Можна додати інформацію про членів родини і т.д. Можна залишати стандартні зображення спрайтів, або змінювати їх для більшої реалістичності.

При наявності робототехнічних пристроїв можна запрограмувати події натиснення їхніх кнопок (наприклад A,B,C для CodeyRocky) - з наслідками виконання різних поворотів, подання звукових сигналів, зміни емоцій на екрані тощо.

Наприкінці пропоную ще одну ідею практичного проекту з використанням конструкції розгалуження. Це перевірка знань англійських слів, пов'язаних з зимою.

Скретч (чи інший персонаж) задає питання щодо значення слова - і потрібно ввести з клавіатури переклад цього слова українською. Якщо введено правильний переклад, то Скретч говорить "Правильно", інакше "Ні" і повідомляє очікуваний правильний переклад.

За бажання можна додати розширення Scratch (у версії 3.0 вони знаходяться внизу під усіма групами інструментів) - зокрема Текст у мову (це дозволить озвучувати англійські слова, на жаль це недоступно для української мови), а також Переклад (можна перекладати ті слова, які користувач ввів, як неправильну відповідь). Нижче наведено приклад реалізації проекту з цими розширеннями: https://scratch.mit.edu/projects/456194228

У разі роботи з робототехнічними пристроями, можна запрограмувати перевірку, наприклад, підключення Codey до Rocky (і відповідну реакцію "посмішка" якщо так чи "сум" якщо ні); або перевірка струшування (і реація "ох-ох" якщо так, і "вау" якщо ні. Або навпаки :) )