Как я перестал бояться и выстрелил себе в ногу

Занятие №1 «Это База»

Цели

  • Замотивировать учащихся продолжать обучение на курсе;
  • Проинформировать учащихся о целях курса;
  • Разобрать азы языка Си
    • Как запустить программу
    • Переменные
    • Ввод и вывод данных
    • Математические операции с переменными
  • Разобрать на примере, почему важно писать чистый код.

Образовательные результаты

  • (Б) Знание:
    • Учащийся перечисляет места применения языка Си;
    • Учащийся перечисляет вредные практики в программировании, перечисленные на занятии:
      • всё внутри int main() { … }
      • отсутствие UI
    • Учащийся идентифицирует все конструкции языка программирования, которые использовались на уроке, даёт им определение:
      • int main() { … }
      • printf(), scanf()
      • переменные
      • операции с переменными Артефакт: конспект, презентация
  • (Б) Понимание:
    • Учащийся объясняет, почему нужно писать чистый код;
    • Учащийся описывает процесс запуска программы на Си;
    • Учащийся объясняет, какое улучшение необходимо коду на слайде;
    • Учащийся объясняет, что делает написанная им программа; Артефакт: конспект, написанные программы в IDE
  • (Б) Применение:
    • Учащийся применяет изученные конструкции языка Си для написания аналогичной программы («площадь» или «расстояние»);
    • Учащийся переносит знания о вредных практиках в программировании на свой код (т.е. старается их избегать); Артефакт: решённые задачи
  • (Б) Анализ:
    • Учащийся изучает новые конструкции языка без привязки к коду программы (математические операции) Артефакт: -
  • (Б) Синтез:
    • Учащийся объединяется с коллегой для решения совместной задачи («площадь по трём точкам»)
    • Учащийся модифицирует свои предшествующие проекты с учётом новых знаний; Артефакт: созданное в паре решение задачи
  • Оценка:
    • Учащийся анализирует анализирует код коллеги, код преподавателя на доске, даёт комментарии и предложения Артефакт: -
  • (М) Метакогнитивный уровень:
    • Учащийся ставит цель стать хорошим разработчиком через выработку хороших привычек;
    • Учащийся пересматривает свои прошлые проекты и хочет поправить их, сделать чище, выложить на github; Артефакт: аккаунт учащегося на github
  • (М) Я-система:
    • Учащийся определяет ценность изучаемого как конкурентное преимущество при поступлении в вуз, приёме на работу; Артефакт: -

Сценарий

ТаймингПреподавательУченикиКомментарийФорматМатериалы
Блок: мотивация
(1 мин) 0:00 - 0:01Знакомство с учащимися, рассказ о себеГанье: привлечение вниманияДемонстрация преподавателемТитульный слайд
(3 мин.) 0:01 - 0:04Мотивация изучать Си: история создания, преимущества, почему хорош для изучения программирования, чему учитСопоставляют свои цели и мотивацию с тем, что предлагает курс. Озвучивают преподавателю свои пожеланияГанье: информирование о цели. Колб: оживление личного опытаДемонстрация преподавателемПрезентация, слайды про язык Си (2-4)
(3 мин.) 0:04 - 0:07Демонстрация целей курса в виде карты. Замечание про то, что стараться придётся ради себя самих, так как в новых проектах будут использоваться предыдущиеГанье: информирование о цели. Колб: оживление личного опытаДемонстрация преподавателемПрезентация, карта курса (5-6)
Блок: первый успех
(2 мин.) 0:07 - 0:09Hello world на Си, знакомство с синтаксисом и тем, как программы на Си исполняютсяИдентифицируют базовые конструкции языкаГанье: стимул Колб: изучение нового.Демонстрация преподавателемПрезентация (7-9)
(2 мин.) 0:09 - 0:11Переход в IDE. Запуск программы Hello worldРегистрируются на github, открывают IDE, повторяют действия за преподавателемГанье: стимул Колб: эксперимент -> опыт.Демонстрация + практика в IDEПрезентация (7-9), github codespace
Задача A+B. Что такое переменные? Как работает форматированный вывод? Выход к проблеме: перекомпиляция программы каждый разИдентифицируют проблему, к которой ведёт преподаватель, повторяют действия за преподавателемГанье: теория Колб: рефлексия над опытом -> изучение нового -> эксперимент -> опыт -> рефлексия над опытомДемонстрация + практика в IDEПрезентация (10), github codespace
(2 мин.) 0:11 - 0:13Ввод данных, функция scanf. Выход к проблеме: непонятно, что вводитьНазывают проблему, повторяют действия за преподавателемГанье: теория Колб: изучение нового -> эксперимент -> опыт -> рефлексия над опытомДемонстрация + практика в IDEПрезентация (11-12), github codespace
(2 мин.) 0:13 - 0:15Что такое UI? Зачем программе печатать больше, чем нужно. Отсылка к олимпиадным задачам, отличие от тестов в олимпиадахПовторяют действия за преподавателемГанье: теория Колб: изучение нового -> эксперимент -> опыт -> рефлексия над опытомДемонстрация + практика в IDEПрезентация (13-14), github codespace
Блок: применение
(2 (5) мин.) 0:15 - 0:17Практика: задачи «формула Герона» и «расстояние». Напоминание математических формулРешают задачу самостоятельноГанье: практика Колб: изучение нового -> эксперимент -> опытДемонстрация + практика в IDEПрезентация (15-18), github codespace
(1 (5-10) мин.) 0:17 - 0:18Практика: разбиение по парам для решения задачи поиска площади треугольника по координатам вершинРешают задачу в парахГанье: практика Колб: опытПрактика в IDEПрезентация (19), github codespace
(2 мин.) 0:18 - 0:20Подведение итогов, анонс следующего занятияГанье: подведение итогов Колб: рефлексия над опытомДемонстрация преподавателемПрезентация (20-21)