owned this note
owned this note
Published
Linked with GitHub
# (думки)
## Цікаві посилання
### Invent With Python
Ал Свейгард крутий. https://www.twitch.tv/alsweigart
Хороший цикл книг з задачками для пайтона.
- https://inventwithpython.com/pygame --- ідеї для ігор, з реалізованим кодом, з якого можна виділити основні паттерни
- https://turtleappstore.com/book/ --- треба зробити сервер кубача з техномодами і черепашками
## Педагогічні елементи
- формат уроку: важлива світова проблема, декомпозиція проблеми, фокус на якомусь маленькому шматочку проблеми, поясннення яким чином програмування тут може допомогти, пояснення що потрібно знати для вирішення цієї проблеми, демонстрація вирішення цієї маленької проблеми
- загадки - на екрані код, потрібно в голові виконати код або інтуїтивно здогадатись, що робить цей код
- завдання на читання коду. Після кожного уроку дається кілька лістингів "на прочитання" та відтворення. Лістинги з коментарями для починаючих
- використання мемів як прикладів
- завдання на прочитання структурованого матеріалу щодо уроку
- розподіл завдань по рівням:
- А0: найпростіші, але обов'язкові. За них йдуть бали. Робити самостійно.
- A1: прості завдання по темі, для підтримки мотивації. За них бали не ставляться, тому роблять тільки ті, хто це хоче. Жодних преференцій на екзамені тим хто робив ці задачки
- A2: складні завдання по темі, для тих, хто уже прошарений. Опціонально, жодних преференцій
- A3: топ-складні завдання на стику технологій. Чому ви взагалі прийшли на цей курс? На-те!
- давати можливість на початку уроку 1-2 учням пояснити свою виконану домашку інший учням. Давати бали, якщо домашка була виконана правильно
- для домашки рівня А0 бажано давати тести
- лекція повинна бути серйозна, домашка повинна бути весела
- загадки, memrise та speedcoder повинні бути побудовані на прикладах, які будуть вивчатися в курсі лекцій
- загадки вигляду "ось два варіанти, вибери синтаксично правильний"
- матеріалу на кожну тему повинно бути з запасом, щоб можна було зменшувати об'єм при потребі
- перехід до наступної теми відбувається тільки при засвоєнні попередньої. Потрібно робити тести перед переходом. Повинні бути чіткі критерії розумінняя конкретних принципів для кожної теми
- учитель повинен виконати кожне завдання, яке задає. Розмір програми в результаті + кількість нестандартних алгоритмів + посилання на документацію повинен вписати як міру складності коуд
Ідеальний план для теми
- демо
- завдання для практики, з мінімумом теорії
- більш повний і структурований опис теми
- у вигляді тексту (для індексації та пошуку)
- у вигляді відео (для tacit передачі інформації)
---
Про що треба мати на увазі при написанні курсу:
- Мотивація. У учня повинна бути мотивація продовжувати навчання, ідеально, якщо мотивація достатньо сильна для самостійної роботи. Для досягнення цього потрібно демонструвати
- як набута навичка зробить його успішнішим
- як набута навичка дозволить робити те, що він хоче
- як це дозволить отримувати фан
- пункти вище повинні бути зрозумілими, а не замудреними
- Менеджити когнітивне навантаження. Якомога менше використовувати метод "кинути в басейн", натомість організовувати завдання таким чином, щоб концепти вивчались послідовно, а не всі докупи.
- Мета-навчання. Окрім власне нової теми, учень повинен усвідомлювати що він робить:
- вчитель повинен виявляти та виправляти типові помилки мета-навчання
- філософські проблеми, котрі не зв'язані прямо з об'єктом вивчення
- Загадки. Спосіб подання деяких тем у вигляді простих загадок. Загадки можуть слугувати також періодичними зрізами знань, але основна їх мета -- надавати нові знання через тести
- Приклади. До кожного концепту простий приклад, де він зустрічається
- Розібрані вправи. Повноцінно розібрані завдання, де чітко сформулювано завдання і як його вирішує експерт (включаючи код)
- Об'єктивні цілі (в цілому і у розділу). Якого рівня складності код повинен вміти виконувати учень на вказаному етапі. Часто це приклади завдань, але може бути і інше
- Час. Збільшення когнітивного навантаження повинно відбуватись на протязі тривалого часу, а не все одночасно і одразу
- Вправи для самонавчання.
- Тестування прогресу через додаткові вправи
- Навички, які зменшать когнітивне навантаження:
- англійський словник
- швидкий набір коду
- уважність (Шульте)
---
## Завдання
---
### Книга "Пайтон для дітей"
---
1. Улюблені речі
Створіть список улюблених ігор, і збережіть його в змінну `games`. Створіть список улюблених снеків і збережіть його в змінну `foods`. Об'єднайте ці списки, зберігши результат в змінну `favorites`, і надрукуйте цей результат на екран
2. Підрахунок воїнів
Є 3 будинки, на даху кожного ховаються по 25 ніндзя, і є 2 тунеля, в кожному з яких ховаються по 40 самураїв. Скільки всього воїнів вирішили зробити заворушку?
3. Привітання
Створіть 2 змінні, одна нехай зберігає ваше ім'я, а інша -- прізвище. Тепер надрукуйте привітання.
4. Черепашка
4.1 Намалювати квадрат
4.2 Намалювати прямокутник
4.3 Намалювати трикутник
4.4 Рамка без кутів
5. Підходяча сума
Перевірка чи задана сума грошей знаходиться в діапазоні 100-500 або 1000-5000
6. Написати `if else`, котрий в трьох різних випадках виведе різний результат.
7. Створіть цикл, котрий друкує парні числа до тих пір, доки не виведе ваш вік. Якщо ваш вік -- непарне число, створіть цикл котрий друкує непарні числа до співпадання з віком.
8. Створіть список з 5 інгридієнтів для бутерброда, збережіть у змінну і виведіть на екран з нумерацією.