С современными тенденциями я тоже не знаком и, если честно, даже не знаю где знакомиться.
Я обращаю ваше внимание на то, что в этой ситуации студент у доски рассказывает новое и без подготовки. Цель занятия ведь в том, чтобы изучить новую тему, а не в спонтанной импровизации.
Если хочется потренировать у них навыки публичного выступления, то лучше дать задание на подготовку какого-нибудь реферата к следующему занятию. Чтобы выступать пришлось всем, и была возможность подготовиться и отрепетировать.
Бывают стеснительные — догадывается, как решить, но если решит неверно — над ним могут смеяться, а если верно — будет выглядеть выскочкой, и то и это ему нежелательно, поэтому молчит, как партизан на допросе
и
Решает 1 из 10 «Ok. Молодец! Отлично. Только объясните, пожалуйста, свое решение, чтобы все поняли.»
Необходимость без подготовки объяснять всей группе свое решение совершенно не мотивирует стеснительных людей что-либо решать. А таких людей в программировании немало.
Основы программирования это все таки не основы ораторского искусства. У меня студенты если и объясняют кому-то, то только соседу и только если он сам спросит. Плюс я отговариваю спрашивать у соседей потому что у соседей может быть неправильное понимание.
По вашему методу я раньше тоже рассказывал, но однажды пришел к выводу, что так меня понимают только сильные. А им особенно и объяснять не нужно. Средние и слабые не понимали, а значит со своей работой я не справлялся. Потом пришел к нынешнему методу. Количество понимающих заметно выросло, но тема увеличилась в объеме и на нее уходит 2-3 занятия.
При объяснении циклов начинаю с того, что вы делаете в конце. Сначала расписываю действия, а потом показываю как перейти к оформлению цикла. Задача сводится к поиску закономерности во множестве похожих действий.
Студенты так не просто знакомятся с оформлением циклов, они узнают ситуации, в которых его применение полезно. У них есть список понятных шагов к написанию.
Плюс так очень удобно подсказывать решения. Пишу первые 3-5 шагов цикла как последовательность действий, а мыслительное усилие по определению закономерности и написанию цикла студенты делают уже сами.
Домашнее задание это всякие упражнения в виде "напиши ряд чисел от меньшего к большему", "от большего к меньшему", "с вводимыми границами" и т.п. Заданий много и они ранжированы по сложности. Самые сложные (и необязательные) в конце — чтобы сильные далеко вперед не убегали.
Транспонирование матрицы сразу после того, как рассказал циклы никогда не даю. Это не тривиальная задача и перед ней есть несколько подготовительных, более простых задач.
Ситуация, когда аудитория НЕ хочет понять — у меня очень редкая. Может у вас они просто сдаются после второго-третьего занятия?
Расскажите, пожалуйста, как вы определяете, что все слушатели усвоили ваше объяснение и способны применить цикл в другой задаче?
Типичная ситуация: рассказываешь, показываешь. Все кивают, что поняли. Даешь задачку и начинаются затыки. Решает 1 из 10 и то, только потому что выиграл в лотерею при рождении (и, возможно, воспитании).
Олимпиадные алгоритмы в повседневной разработке иногда бывают полезны. Реже, чем хотелось бы, но полезны. Так что вы правы в этом.
Сложный вопрос. Может не все задачки. Может не всем, а только заинтересованным. У учителя есть материал для эксперимента (в хорошем смысле слова, нпр., двоек не ставить, добровольное участие учеников и т.д.).
Касательно этого вопроса, я уверен, что школьники 2-6 класса не осилят олимпиадные задачки на комбинаторику и теорию графов. Не каждый взрослый поймет их, чего уж говорить о детях, которые учатся умножать и делить.
Можно, конечно, их сначала подготовить к понимаю графов, а потом уже грузить задачками на них. Но в процессе подготовки может выясниться, что школьники уже не в 6 классе, а в 9, а в классе вас понимают не 20 человек, а 2.
Замечу, что повышать СРЕДНИЙ уровень школьного образования не обязательно путем повышения верхней границы. Повышение нижней границы тоже даст определенные результаты. Эти люди может быть никогда не будут работать в IT. но кому в работе будет лишним умение последовательно и точно излагать мысли?
По моему скромному мнению, если ваша цель — сделать так, чтобы ваш опыт был использован кем-то еще, то логичнее будет писать не "как писать на Scratch", а "как объяснить человеку как писать на Scratch". Не просто "как написать игру", а "какие задачи нужно предварительно научиться решать, чтобы написать игру". Ту самую методику, с необходимостью которой вы были согласны.
Почему это важно?
Посмотрите выдачу поисковика по запросу "как объяснить циклы". Результатов вроде много, но, в лучшем случае, там будет описан синтаксис циклов.
Я по вечерам веду курсы со взрослыми и точно знаю, что одного синтаксиса достаточно далеко не всем.
Ради любопытства нашел эту книгу и "полистал". Книга явно разработана для того, чтобы готовить олимпиадников. После освоения материала из этой книги, дальнейшее изучение программирования будет выражаться в освоении прикладных технологий, развитию софт-скилов и основ бизнес-анализа.
Вряд ли школьникам 2-6 классов такие задачки будут по силам.
В контексте настроений автора статьи стоит еще упомянуть, что социальный лифт для детей из бедных семей это не обязательно "из грязи в князи разработчики Яндекса". Это может быть "из грязи во фриланс" или "из грязи в линейного программиста на аутсорсе" или даже "из хирурга в тимлиды". В этих путях важны немного не те навыки, которые оттачиваются на олимпиадах. При этом эти варианты выглядят более доступными и реалистичными.
Ознакомился с программой для школьников 2-6 классов по математике.
Для решения задач на этом этапе, программирование будет использовано просто как калькулятор. Отличаться от обычного он будет только в способе оформления вычислений.
Я думаю, что лучше копать не в сторону вычислений, а в сторону команд какому-нибудь наглядному исполнителю. Примерно такой же уклон есть и в том же учебнике по скрачу от MIT. Соответственно в голову приходят всем известные Arduino, майнкрафт/minetest и конструктор-mindstorms. Последний скорее всего есть в местном государственном кружке юных техников. Ну, по крайней мере, в моем сибирском городе есть.
Опыт преподавания младшим школьникам у меня нулевой, но я как то занимался конструированием мигающих светодиодов на ардуино с племянником. В глаза бросилось, что он медленно печатает. Хотя компьютер дома есть, в интернете сидит, в игрушки играет.
Если вы дадите детям возможность освоить навык быстрой печати, то вы точно им очень поможете. Плюс это не будет отнимать ваше время во время занятий с другими.
А что вообще должны уметь школьники 2-6 класса в программировании?
Другими словами, какие проблемы должен решать учебник?
Школьникам вряд ли нужен процесс подключения к СУБД, обработки результаты SQL запроса с рисованием таблички на форме. А ведь этот навык кормит довольно много людей. Сомневаюсь, что он устареет через 10 лет, что бы там ни говорили про замену кодеров на ИИ.
При всем уважении к автору, идею создания "единого учебника по scratch" с нуля считаю утопией.
Во первых, почему именно scratch?
Почему вообще учебник по основам программирования должен быть заточен на какой-то язык?
Эти самые основы вполне универсальны и общеизвестны. Можно взять любой язык, у которого есть отладчик.
Во вторых, а вы уверены, что такого учебника нет? Может быть он есть, но на английском?
В третьих, чтобы результативно учить по чужому учебнику, нужно не просто знать его содержание. Нужно знать кому и в каком порядке подавать материал.
Например, каждый педагог должен иметь свой сайт и демонстрировать на этом сайте не только свои достижения, но и созданные самостоятельно учебные материалы.
Самостоятельно созданные учебные материалы это не "вклад в общее дело". Это "вклад в свое личное понимание материала". Нельзя просто так взять готовые учебные материалы и начать учить по ним. Когда преподаватель написал где-нибудь свои учебные материалы, тогда он знает что делать в каждой конкретной ситуации на уроке.
В четвертых, 250 уроков это довольно большой объем. Как вы определили, что нужно именно столько?
Есть большая разница между фразами "я не знаю" и "я не знаю, но думаю что должно быть вот так". Разница как раз в том, что во втором случае у человека есть фундаментальные знания (бэкграунд), он в итоге может решить проблему или хотя бы знает куда копать.
Один из минусов дистанционного индивидуального подхода в том, что контакт между студентом и преподавателем слабее. Одна часть людей может размышлять в процессе выполнения задачи, а другая часть сидит поначалу без видимой активности на экране, а потом все быстро делает. Во втором случае нужно смотреть на самого человека, чтобы определить, нужна ли ему помощь.
Иногда люди теряются, когда думают, что за ними пристально наблюдают. На очных занятиях можно демонстративно смотреть в какой-нибудь кроссворд, чтобы человеку было спокойнее. Как это сделать через скайп — не представляю.
Индивидуальный подход в группе 5-6 человек реализовать вполне возможно.
Для этого нужно по каждой теме подготовить необязательный материал повышенной сложности. В школьных сборниках задач их еще иногда отмечают звездочками. "Сильные" задерживаются на них и не скучают, а преподаватель может поработать со "слабыми", чтобы вытянуть их до среднего уровня.
Можно еще переход от темы к теме не привязывать к лекциям для всей аудитории сразу. Поначалу придется, а потом студенты кластеризуются по навыкам (посещаемости, усидчивости) и можно рассказывать не всем сразу, а для этих групп.
Можно сделать прокси, регулирующий количество запросов от пользователя/приложения в единицу времени.
Это не такое уж критичное приложение, чтобы обязательно отвечать вообще на все запросы.
Сейчас вас раскачивают для формирования образа "он наживается на государственном API". Обдумайте свою позицию насчет монетизации приложения, чтобы из вас не получилось сделать вселенское зло.
Поддержка продукта не бесплатна. Для этого требуется электричество, компьютер, IDE (и другие инструменты) и время квалифицированного специалиста.
В поддержку (в общих чертах) входит обработка обращений пользователей, адаптация к изменениям в API, исправление и предотвращение возникающих при этом ошибок.
Принуждение к полностью бесплатной разработке приведет только к ухудшению (не повышению) качества продукта.
Но я с вами согласен в том, что нужно предотвратить наживу на бесплатном API. Под наживой я понимаю агрессивную монетизацию, в стиле мобильных игр: "поменяй рубли на (монетки) и потрать 5 монеток, чтобы посмотреть дз на следующую неделю".
В условия использования бесплатного API есть смысл внести пункты:
о запрете покупок в приложении, использующем его
о рекомендуемых настройках рекламы в приложении, использующем его (во избежание непотребной рекламы)
Выкладывание приложения в open-source не значит уменьшение затрат времени автора. Совершенно точно придется организовать официальный сайт. Это требует затрат времени даже с бесплатным конструктором. Если проектом никто не заинтересуется, то выигрыша по времени просто не будет.
Допустим проектом кто-то заинтересуется и будет вкладывать время в разработку. Тогда автору нужно будет регулярно заниматься ревью пулл-реквестов, написанием (ревью) документации и обсуждениями. На это может потребоваться гораздо больше времени, чем на саму разработку.
Не пойму, на что именно вы отвечаете. Я не предлагаю запретить пользователям свободу выбора приложений, я предлагаю освободить пользователей в данной конкретной сфере, а именно в сфере предоставления социальных услуг от государства, от попыток заработка на этом на этих самых конечных пользователях.
Тут ситуация как с медициной. Хочешь бесплатно — иди в государственную поликлинику. Хочешь комфортно — плати частной компании. При этом нет гарантии, что в государственной поликлинике не придется платить.
В чем проблема лечить людей без попытки выцыганить рубль у граждан?
Наверное в том, что врачам тоже кушать хочется.
Законодательные инициативы по принуждению к "бесплатности" приведут к тому, что этим будут заниматься только за гранты или по тендеру. Об удобстве конечного пользователя при этом будут думать в последнюю очередь.
Открытые проекты в мире софта поддерживаются за счет коммерческих фирм, использующих этот самый софт. Заплатить за фикс бага в открытом проекте может быть дешевле, чем за фикс бага в аналогичном по функционалу проприетарном ПО.
Простите но я не понял мотивацию которую вы вложыли в ваше приложение.
Что бы в приложении там какойто елемент засветился не красным а зелёным?
Серёзно? это на кого то работает?
Это неплохо для начала. Развить то можно и полоской с прогрессом, и достижениями, и чем-нибудь еще.
Ето если бы родителю на телефон выводились ПУШ уведомления что у вашего ребенка появилась негативная оценка,
или Уведомление что ваш ребенок не сделал ДЗ, думаю это несло бы больше пользы.
Этот функционал не входит в MVP данного приложения, но его вполне можно было прикрутить дополнительно. Современные родители, в массе своей, умеют пользоваться смартфонами и проводят в них довольно много времени.
С современными тенденциями я тоже не знаком и, если честно, даже не знаю где знакомиться.
Я обращаю ваше внимание на то, что в этой ситуации студент у доски рассказывает новое и без подготовки. Цель занятия ведь в том, чтобы изучить новую тему, а не в спонтанной импровизации.
Если хочется потренировать у них навыки публичного выступления, то лучше дать задание на подготовку какого-нибудь реферата к следующему занятию. Чтобы выступать пришлось всем, и была возможность подготовиться и отрепетировать.
Вот эти два пункта очень интересно связаны.
и
Необходимость без подготовки объяснять всей группе свое решение совершенно не мотивирует стеснительных людей что-либо решать. А таких людей в программировании немало.
Основы программирования это все таки не основы ораторского искусства. У меня студенты если и объясняют кому-то, то только соседу и только если он сам спросит. Плюс я отговариваю спрашивать у соседей потому что у соседей может быть неправильное понимание.
По вашему методу я раньше тоже рассказывал, но однажды пришел к выводу, что так меня понимают только сильные. А им особенно и объяснять не нужно. Средние и слабые не понимали, а значит со своей работой я не справлялся. Потом пришел к нынешнему методу. Количество понимающих заметно выросло, но тема увеличилась в объеме и на нее уходит 2-3 занятия.
При объяснении циклов начинаю с того, что вы делаете в конце. Сначала расписываю действия, а потом показываю как перейти к оформлению цикла. Задача сводится к поиску закономерности во множестве похожих действий.
Студенты так не просто знакомятся с оформлением циклов, они узнают ситуации, в которых его применение полезно. У них есть список понятных шагов к написанию.
Плюс так очень удобно подсказывать решения. Пишу первые 3-5 шагов цикла как последовательность действий, а мыслительное усилие по определению закономерности и написанию цикла студенты делают уже сами.
Домашнее задание это всякие упражнения в виде "напиши ряд чисел от меньшего к большему", "от большего к меньшему", "с вводимыми границами" и т.п. Заданий много и они ранжированы по сложности. Самые сложные (и необязательные) в конце — чтобы сильные далеко вперед не убегали.
Транспонирование матрицы сразу после того, как рассказал циклы никогда не даю. Это не тривиальная задача и перед ней есть несколько подготовительных, более простых задач.
Ситуация, когда аудитория НЕ хочет понять — у меня очень редкая. Может у вас они просто сдаются после второго-третьего занятия?
Расскажите, пожалуйста, как вы определяете, что все слушатели усвоили ваше объяснение и способны применить цикл в другой задаче?
Типичная ситуация: рассказываешь, показываешь. Все кивают, что поняли. Даешь задачку и начинаются затыки. Решает 1 из 10 и то, только потому что выиграл в лотерею при рождении (и, возможно, воспитании).
Увы, но нет. Хотя я согласен, что многословные объяснения неэффективны.
Олимпиадные алгоритмы в повседневной разработке иногда бывают полезны. Реже, чем хотелось бы, но полезны. Так что вы правы в этом.
Касательно этого вопроса, я уверен, что школьники 2-6 класса не осилят олимпиадные задачки на комбинаторику и теорию графов. Не каждый взрослый поймет их, чего уж говорить о детях, которые учатся умножать и делить.
Можно, конечно, их сначала подготовить к понимаю графов, а потом уже грузить задачками на них. Но в процессе подготовки может выясниться, что школьники уже не в 6 классе, а в 9, а в классе вас понимают не 20 человек, а 2.
Замечу, что повышать СРЕДНИЙ уровень школьного образования не обязательно путем повышения верхней границы. Повышение нижней границы тоже даст определенные результаты. Эти люди может быть никогда не будут работать в IT. но кому в работе будет лишним умение последовательно и точно излагать мысли?
По моему скромному мнению, если ваша цель — сделать так, чтобы ваш опыт был использован кем-то еще, то логичнее будет писать не "как писать на Scratch", а "как объяснить человеку как писать на Scratch". Не просто "как написать игру", а "какие задачи нужно предварительно научиться решать, чтобы написать игру". Ту самую методику, с необходимостью которой вы были согласны.
Почему это важно?
Посмотрите выдачу поисковика по запросу "как объяснить циклы". Результатов вроде много, но, в лучшем случае, там будет описан синтаксис циклов.
Я по вечерам веду курсы со взрослыми и точно знаю, что одного синтаксиса достаточно далеко не всем.
Ради любопытства нашел эту книгу и "полистал". Книга явно разработана для того, чтобы готовить олимпиадников. После освоения материала из этой книги, дальнейшее изучение программирования будет выражаться в освоении прикладных технологий, развитию софт-скилов и основ бизнес-анализа.
Вряд ли школьникам 2-6 классов такие задачки будут по силам.
В контексте настроений автора статьи стоит еще упомянуть, что социальный лифт для детей из бедных семей это не обязательно "из грязи в
князиразработчики Яндекса". Это может быть "из грязи во фриланс" или "из грязи в линейного программиста на аутсорсе" или даже "из хирурга в тимлиды". В этих путях важны немного не те навыки, которые оттачиваются на олимпиадах. При этом эти варианты выглядят более доступными и реалистичными.Ознакомился с программой для школьников 2-6 классов по математике.
Для решения задач на этом этапе, программирование будет использовано просто как калькулятор. Отличаться от обычного он будет только в способе оформления вычислений.
Я думаю, что лучше копать не в сторону вычислений, а в сторону команд какому-нибудь наглядному исполнителю. Примерно такой же уклон есть и в том же учебнике по скрачу от MIT. Соответственно в голову приходят всем известные Arduino, майнкрафт/minetest и конструктор-mindstorms. Последний скорее всего есть в местном государственном кружке юных техников. Ну, по крайней мере, в моем сибирском городе есть.
Опыт преподавания младшим школьникам у меня нулевой, но я как то занимался конструированием мигающих светодиодов на ардуино с племянником. В глаза бросилось, что он медленно печатает. Хотя компьютер дома есть, в интернете сидит, в игрушки играет.
Если вы дадите детям возможность освоить навык быстрой печати, то вы точно им очень поможете. Плюс это не будет отнимать ваше время во время занятий с другими.
А что вообще должны уметь школьники 2-6 класса в программировании?
Другими словами, какие проблемы должен решать учебник?
Школьникам вряд ли нужен процесс подключения к СУБД, обработки результаты SQL запроса с рисованием таблички на форме. А ведь этот навык кормит довольно много людей. Сомневаюсь, что он устареет через 10 лет, что бы там ни говорили про замену кодеров на ИИ.
При всем уважении к автору, идею создания "единого учебника по scratch" с нуля считаю утопией.
Во первых, почему именно scratch?
Почему вообще учебник по основам программирования должен быть заточен на какой-то язык?
Эти самые основы вполне универсальны и общеизвестны. Можно взять любой язык, у которого есть отладчик.
Во вторых, а вы уверены, что такого учебника нет? Может быть он есть, но на английском?
В третьих, чтобы результативно учить по чужому учебнику, нужно не просто знать его содержание. Нужно знать кому и в каком порядке подавать материал.
Самостоятельно созданные учебные материалы это не "вклад в общее дело". Это "вклад в свое личное понимание материала". Нельзя просто так взять готовые учебные материалы и начать учить по ним. Когда преподаватель написал где-нибудь свои учебные материалы, тогда он знает что делать в каждой конкретной ситуации на уроке.
В четвертых, 250 уроков это довольно большой объем. Как вы определили, что нужно именно столько?
Есть большая разница между фразами "я не знаю" и "я не знаю, но думаю что должно быть вот так". Разница как раз в том, что во втором случае у человека есть фундаментальные знания (бэкграунд), он в итоге может решить проблему или хотя бы знает куда копать.
Один из минусов дистанционного индивидуального подхода в том, что контакт между студентом и преподавателем слабее. Одна часть людей может размышлять в процессе выполнения задачи, а другая часть сидит поначалу без видимой активности на экране, а потом все быстро делает. Во втором случае нужно смотреть на самого человека, чтобы определить, нужна ли ему помощь.
Иногда люди теряются, когда думают, что за ними пристально наблюдают. На очных занятиях можно демонстративно смотреть в какой-нибудь кроссворд, чтобы человеку было спокойнее. Как это сделать через скайп — не представляю.
Индивидуальный подход в группе 5-6 человек реализовать вполне возможно.
Для этого нужно по каждой теме подготовить необязательный материал повышенной сложности. В школьных сборниках задач их еще иногда отмечают звездочками. "Сильные" задерживаются на них и не скучают, а преподаватель может поработать со "слабыми", чтобы вытянуть их до среднего уровня.
Можно сделать прокси, регулирующий количество запросов от пользователя/приложения в единицу времени.
Это не такое уж критичное приложение, чтобы обязательно отвечать вообще на все запросы.
Сейчас вас раскачивают для формирования образа "он наживается на государственном API". Обдумайте свою позицию насчет монетизации приложения, чтобы из вас не получилось сделать вселенское зло.
В данном случае речь не об услуге, а о продукте.
Поддержка продукта не бесплатна. Для этого требуется электричество, компьютер, IDE (и другие инструменты) и время квалифицированного специалиста.
В поддержку (в общих чертах) входит обработка обращений пользователей, адаптация к изменениям в API, исправление и предотвращение возникающих при этом ошибок.
Принуждение к полностью бесплатной разработке приведет только к ухудшению (не повышению) качества продукта.
Но я с вами согласен в том, что нужно предотвратить наживу на бесплатном API. Под наживой я понимаю агрессивную монетизацию, в стиле мобильных игр: "поменяй рубли на (монетки) и потрать 5 монеток, чтобы посмотреть дз на следующую неделю".
В условия использования бесплатного API есть смысл внести пункты:
Выкладывание приложения в open-source не значит уменьшение затрат времени автора. Совершенно точно придется организовать официальный сайт. Это требует затрат времени даже с бесплатным конструктором. Если проектом никто не заинтересуется, то выигрыша по времени просто не будет.
Допустим проектом кто-то заинтересуется и будет вкладывать время в разработку. Тогда автору нужно будет регулярно заниматься ревью пулл-реквестов, написанием (ревью) документации и обсуждениями. На это может потребоваться гораздо больше времени, чем на саму разработку.
Тут ситуация как с медициной. Хочешь бесплатно — иди в государственную поликлинику. Хочешь комфортно — плати частной компании. При этом нет гарантии, что в государственной поликлинике не придется платить.
В чем проблема лечить людей без попытки выцыганить рубль у граждан?
Наверное в том, что врачам тоже кушать хочется.
Законодательные инициативы по принуждению к "бесплатности" приведут к тому, что этим будут заниматься только за гранты или по тендеру. Об удобстве конечного пользователя при этом будут думать в последнюю очередь.
Открытые проекты в мире софта поддерживаются за счет коммерческих фирм, использующих этот самый софт. Заплатить за фикс бага в открытом проекте может быть дешевле, чем за фикс бага в аналогичном по функционалу проприетарном ПО.
Когда я еще учился в школе, список литературы на следующий год давался на лето. Правда его все равно никто не читал.
Это неплохо для начала. Развить то можно и полоской с прогрессом, и достижениями, и чем-нибудь еще.
Этот функционал не входит в MVP данного приложения, но его вполне можно было прикрутить дополнительно. Современные родители, в массе своей, умеют пользоваться смартфонами и проводят в них довольно много времени.
А вы попробуйте связаться с УЗ, в котором учились сами, или просто с каким-нибудь местным. Вопрос то решаемый, было бы желание.