Хочу немного изменить концепцию преподавания своих предметов.
Всегда хотел, чтобы студент начиная решать задачу получал некий шаблон программы, в котором он должен заполнить недостающие строки кода. Это позволит быстро "стартануть" в условиях ограниченного времени на семинаре, а главное — успеть дойти до финиша к концу семинара.
Подготовка таких шаблонов — не проблема, но передать их студентам, объяснить, куда и что они должны добавлять — на это уходит время. Прочитал, что раньше были такие онлайн-среды, где можно было в режиме учителя загрузить шаблон, а студенты могли бы его допиливать прямо в браузере.
Существуют ли аналогичные актуальные решения сейчас? Язык — C#
Здравствуйте, Qbit86, Вы писали:
Q>Да, называется Git. Преподаватель создаёт репозиторий с шаблоном, комментариями и формулировками заданий. Студенты форкают и решают.
Э-э-э. Нет. Гит надо учить, как с ним работать. Надо рассказывать концепции веток и версионного контроля. Это еще хуже, чем раздавать на флешке, да и по сути не отличается о нее. Я же имел ввиду немного другое. Загружаешь окно, а там сразу тебе цветом выделяется то, что ты редактировать можешь, что не можешь и т.п. вещи, которые удобны для преподавания.
Q>В качестве платформы можно использовать GitHub. У них для образовательных целей можно попросить приватные репозитории.
Я могу такие репозитории и сам развернуть, но мне нужно более френдли решение. Для студентов, которые только начинают.
Здравствуйте, Nikolay_Ch, Вы писали:
Q>>Да, называется Git. Преподаватель создаёт репозиторий с шаблоном, комментариями и формулировками заданий. Студенты форкают и решают. N_C>Э-э-э. Нет. Гит надо учить, как с ним работать. Надо рассказывать концепции веток и версионного контроля. Это еще хуже, чем раздавать на флешке, да и по сути не отличается о нее. Я же имел ввиду немного другое. Загружаешь окно, а там сразу тебе цветом выделяется то, что ты редактировать можешь, что не можешь и т.п. вещи, которые удобны для преподавания.
Ужас какой. А может, немного упростить задачи, чтобы студенты успевали их решать, но все же пусть решают сами, а не формочку заполняют?
Здравствуйте, Pzz, Вы писали:
Pzz>Ужас какой. А может, немного упростить задачи, чтобы студенты успевали их решать, но все же пусть решают сами, а не формочку заполняют?
Вопрос в потере времени на организационные процессы. И на объяснение что такое системы версионного контроля, репозиторий и ветвление. И на ответы на бесконечные вопросы, а у меня не работает и "какая команда не напомните — я забыл". Домашняя работа — это без проблем, пусть делают как хотят, а в аудитории хочется время тратить на конкретику.
Что же до "пусть решают сами, а не формочку заполняют", это возможно, но, когда люди знают, как решать. А пока ты находишься в стадии объяснения как решать, лучший способ — это заполнить формочку.
Здравствуйте, Nikolay_Ch, Вы писали:
N_C>Существуют ли аналогичные актуальные решения сейчас? Язык — C#
stepik.org
Там, помимо всего прочего, можно и проверку автоматизировать, написав тесты. Единственное "но", бесплатны только открытые курсы и уроки — без ограничения доступа. Приватные — платные, но для академической среды есть скидки.
Здравствуйте, Nikolay_Ch, Вы писали:
N_C>Здравствуйте, Qbit86, Вы писали:
N_C>Э-э-э. Нет. Гит надо учить, как с ним работать. Надо рассказывать концепции веток и версионного контроля.
Я на рассказ об основах git/hg трачу примерно час на первом занятии. Вполне для начала достаточно clone/add/push/pull/status. Остальное будет потом.
Если поставить tortoisegit/hg, то еще проще.
Здравствуйте, Nikolay_Ch, Вы писали:
N_C>Э-э-э. Нет. Гит надо учить, как с ним работать. Надо рассказывать концепции веток и версионного контроля. Это еще хуже, чем раздавать на флешке, да и по сути не отличается о нее.
Странно что так просто отсекаете Git. Они собираются работать программистами, то с большой долей вероятности им придется в нем разбираться. Так может сделать это лучше в ВУЗе? Еще не раз пригодится за годы учебы.
Здравствуйте, Nikolay_Ch, Вы писали:
Pzz>>Ужас какой. А может, немного упростить задачи, чтобы студенты успевали их решать, но все же пусть решают сами, а не формочку заполняют? N_C>Вопрос в потере времени на организационные процессы. И на объяснение что такое системы версионного контроля, репозиторий и ветвление. И на ответы на бесконечные вопросы, а у меня не работает и "какая команда не напомните — я забыл". Домашняя работа — это без проблем, пусть делают как хотят, а в аудитории хочется время тратить на конкретику.
В принципе, сравнивая опыт взаимодействия с коллегами из России и Индии, я хочу сказать, что индусы еще в своем ВУЗе обучены пользоваться системой контроля версий, и вопросов лишних не задают, а вот с русскими бывает по-разному.
N_C>Что же до "пусть решают сами, а не формочку заполняют", это возможно, но, когда люди знают, как решать. А пока ты находишься в стадии объяснения как решать, лучший способ — это заполнить формочку.
Ну казалось бы, обучение — это и есть процесс объяснения, как решать. Идея реализовать обучение программированию через заполнение формочек мне кажется сомнительной. По-моему, так можно научиться формочки заполнять, а не писать программы.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Я на рассказ об основах git/hg трачу примерно час на первом занятии. Вполне для начала достаточно clone/add/push/pull/status. Остальное будет потом.
Я не сомневаюсь, что это все можно рассказать за час, думаю, что можно и быстрее, вопрос — зачем. Для моей задачи использование версионного хранилища не дает преимуществ перед обычной сетевой шарой, или шарой Дропбокса или Яндекс-диска.
Здравствуйте, Submitter, Вы писали:
S>Странно что так просто отсекаете Git. Они собираются работать программистами, то с большой долей вероятности им придется в нем разбираться. Так может сделать это лучше в ВУЗе? Еще не раз пригодится за годы учебы.
Им многое с чем придется столкнуться в жизни, но это еще не повод, чтобы об этом рассказывать на первых занятиях по языку высокого уровня, когда они еще толком в ООП не разбираются.
Здравствуйте, Submitter, Вы писали:
S>Странно что так просто отсекаете Git. Они собираются работать программистами, то с большой долей вероятности им придется в нем разбираться. Так может сделать это лучше в ВУЗе? Еще не раз пригодится за годы учебы.
В ВУЗе, мне кажется, можно что-нибудь и попроще. Например, hg или svn. Но сама по себе идея, что программы разрабатывают не на коленке, а с помощью определенным образом налаженного процесса, включающего в себя source control, в ВУЗе, я думаю, должна прозвучать.
Здравствуйте, Nikolay_Ch, Вы писали:
N_C>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>>Я на рассказ об основах git/hg трачу примерно час на первом занятии. Вполне для начала достаточно clone/add/push/pull/status. Остальное будет потом. N_C>Я не сомневаюсь, что это все можно рассказать за час, думаю, что можно и быстрее, вопрос — зачем.
Чтобы они этот шаблон взяли, код написали, закоммитили, а потом ты проверять мог.
N_C>Прочитал, что раньше были такие онлайн-среды, где можно было в режиме учителя загрузить шаблон, а студенты могли бы его допиливать прямо в браузере.
Зачем в браузере-то ? Чтобы могли отослать на сервер и там автоматически проверили ? Такое есть, но серьезный код таким способом не проверишь. Да и не надо.
Впрочем, от языка зависит. Какой язык программирования ?
Здравствуйте, Nikolay_Ch, Вы писали:
S>>Странно что так просто отсекаете Git. Они собираются работать программистами, то с большой долей вероятности им придется в нем разбираться. Так может сделать это лучше в ВУЗе? Еще не раз пригодится за годы учебы. N_C>Им многое с чем придется столкнуться в жизни, но это еще не повод, чтобы об этом рассказывать на первых занятиях по языку высокого уровня, когда они еще толком в ООП не разбираются.
git и язык высокого уровня вещи вообще-то перпендикулярные почти (если не учитывать. что битбакет, к примеру, раскрасит программу).
git можно и делопроизводителям давать.
Здравствуйте, Pzz, Вы писали:
Pzz>Ну казалось бы, обучение — это и есть процесс объяснения, как решать.
Что Вы сможете решить, если у Вас нет инструмента и никто не объяснил, как он работает?
Pzz>Идея реализовать обучение программированию через заполнение формочек мне кажется сомнительной. По-моему, так можно научиться формочки заполнять, а не писать программы.
Нет никаких формочек, есть код, в котором отсутствуют определенные строки, которые должны запрограммировать студенты. Можно этот код раздать через шару (не суть важно, как она называется — Гит, Яндекс-диск и т.п.) или использовать более френдли среду, которая эти шаблоны будет поддерживать т.с. нативно — с подсветкой того, где надо добавить код, с запретом редактирования того, что не относится к сути задачи и т.п.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>git и язык высокого уровня вещи вообще-то перпендикулярные почти (если не учитывать. что битбакет, к примеру, раскрасит программу). PD>git можно и делопроизводителям давать.
Это так — это действительно перпендикулярные вещи, к моей задаче не относящиеся.
Здравствуйте, Pzz, Вы писали:
Pzz>В ВУЗе, мне кажется, можно что-нибудь и попроще. Например, hg или svn. Но сама по себе идея, что программы разрабатывают не на коленке, а с помощью определенным образом налаженного процесса, включающего в себя source control, в ВУЗе, я думаю, должна прозвучать.
Она звучит, естественно, но в свое время.
Здравствуйте, Nikolay_Ch, Вы писали:
Pzz>>Ну казалось бы, обучение — это и есть процесс объяснения, как решать. N_C>Что Вы сможете решить, если у Вас нет инструмента и никто не объяснил, как он работает?
Мы сейчас говорим про git, или про программирование?
Pzz>>Идея реализовать обучение программированию через заполнение формочек мне кажется сомнительной. По-моему, так можно научиться формочки заполнять, а не писать программы. N_C>Нет никаких формочек, есть код, в котором отсутствуют определенные строки, которые должны запрограммировать студенты. Можно этот код раздать через шару (не суть важно, как она называется — Гит, Яндекс-диск и т.п.) или использовать более френдли среду, которая эти шаблоны будет поддерживать т.с. нативно — с подсветкой того, где надо добавить код, с запретом редактирования того, что не относится к сути задачи и т.п.
В 20 лет люди еще не забыли, как это, думать самостоятельно. А вы хотите их от этого отучить.
Если вы не смогли научить студентов писать программы, это ваша вина, а не студентов.
Здравствуйте, Nikolay_Ch, Вы писали:
Pzz>>В ВУЗе, мне кажется, можно что-нибудь и попроще. Например, hg или svn. Но сама по себе идея, что программы разрабатывают не на коленке, а с помощью определенным образом налаженного процесса, включающего в себя source control, в ВУЗе, я думаю, должна прозвучать. N_C>Она звучит, естественно, но в свое время.
В принципе, про git я высказался потому, что эту тему затронули.
А вот идея обучать программированию, путем вписывания своих слов в готовый шаблон программы, мне не нравится принципиально. И именно это я хотел сказать. Независимо от того, делается это с git'ом, или без.