Re[2]: Обучение студентов
От: cures Россия cures.narod.ru
Дата: 24.05.17 16:12
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Вообще такой функционал есть на hackerrank, с точки зрения пользователя. Выбираешь задачу, выбираешь язык программирования и тебе там сразу заполненая рыба показывается. И тесты тоже есть. Возможно для вас тоже подойдёт.


Это смотря какой язык выбираешь Если выбираешь C++-14, то вся "рыба" — это обычно длинный список инклюдов, using namespace std и пустая функция маин. И это правильно, ещё бы инклюды и юзинг убрали, всё равно обычно вытирать приходится. Иногда в образовательных "контестах" добавляют ввод-вывод, иногда это бывает даже полезно, когда требуют писать на каком-нибудь ужасном языке типа питона или жаба-скрипта, в которых эти средства до безобразия кривые. Но вот когда эти участки кода защищают — это уже совсем кошмар.
Re: Обучение студентов
От: cures Россия cures.narod.ru
Дата: 24.05.17 16:38
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>Прочитал, что раньше были такие онлайн-среды, где можно было в режиме учителя загрузить шаблон, а студенты могли бы его допиливать прямо в браузере.


Они и сейчас есть, например, ideone.com. Правда, никакого режима учителя там нет, Вы под своим логином пишете код (публичный или секретный), вставляете в нужные места TODO, публикуете ссылку в какой-нибудь социальной группе, они Ваш код форкают (одной кнопкой), дорабатывают, возможно тестируют, на Вашем инпуте или ещё на каком, Вы на это дело или сразу смотрите, или они Вам высылают свою ссылку через ту же группу (сообщения администратору, чтобы без палева, а стену им закрыть), и Вы в свободное время проверяете.
Там прямо на сайте можно компилировать, запускать (не более 5 секунд без реги), менять инпут.
Красивых отладчиков нету, fprintf и assert — ваши лучшие друзья.

N_C>Загружаешь окно, а там сразу тебе цветом выделяется то, что ты редактировать можешь, что не можешь и т.п. вещи, которые удобны для преподавания.


А вот этого там нет, зачем Вы хотите что-то им запретить? Если студент — валенок, он и так никуда не рыпнется, а если что-то соображает, то пусть меняет как ему удобней. Если что-то испортит — всегда есть исходный код, который он форкнул.
Re[6]: Git
От: cures Россия cures.narod.ru
Дата: 24.05.17 16:47
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Зачем в браузере-то ? Чтобы могли отослать на сервер и там автоматически проверили ? Такое есть, но серьезный код таким способом не проверишь. Да и не надо.


Вот это Вы зря. На том же топкодере очень даже проверяют, да и на многих других уже названных, код, присланный через браузер, вполне себе серьёзно. Если, конечно, под серьёзным кодом не подразумевать всякие распределённые приложения с гуём и секретаршами. Из открытых разработок вроде бы есть ejudge, с ним придётся, конечно, помучаться, настроить, решить вопрос с постоянно доступным сервером, но это всё не очень дорого по времени и по бабкам, разумеется, если оно вообще кому-то нужно. Или можно положиться на публичные сервисы, но тогда проверять придётся мануально.
Re[7]: Git
От: Pavel Dvorkin Россия  
Дата: 24.05.17 17:45
Оценка:
Здравствуйте, cures, Вы писали:

C>Вот это Вы зря. На том же топкодере очень даже проверяют, да и на многих других уже названных, код, присланный через браузер, вполне себе серьёзно. Если, конечно, под серьёзным кодом не подразумевать всякие распределённые приложения с гуём и секретаршами. Из открытых разработок вроде бы есть ejudge, с ним придётся, конечно, помучаться, настроить, решить вопрос с постоянно доступным сервером, но это всё не очень дорого по времени и по бабкам, разумеется, если оно вообще кому-то нужно. Или можно положиться на публичные сервисы, но тогда проверять придётся мануально.


C edujge я более или менее знаком, но там проверяется решение по набору тестов. Это вполне годится для олимпиад, для которых он в основном и предназначен, но не для обучения. Мне как преподавателю недостаточно, что программа студента проходит тесты, я хочу еще видеть, как она написана, какие алгоритмы (если они есть), какой стиль и т.д.
With best regards
Pavel Dvorkin
Re[8]: Git
От: cures Россия cures.narod.ru
Дата: 24.05.17 18:05
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>C edujge я более или менее знаком, но там проверяется решение по набору тестов. Это вполне годится для олимпиад, для которых он в основном и предназначен, но не для обучения. Мне как преподавателю недостаточно, что программа студента проходит тесты, я хочу еще видеть, как она написана, какие алгоритмы (если они есть), какой стиль и т.д.


Так а что мешает? Если оно запущено на Вашем серваке, то все посылки должна складывать на него же. Во всяком случае на olympiads.ru при нахождении косяков в заданиях легко перепроверяли все предыдущие посылки, потом почему-то стали перепроверять только последнюю, но это уже наверное было политическое решение. Отдельные извращенцы прикручивали к нему чекалки пепов, хотя я бы за такое убивал. Берёте прогу студня с сервака, если не лень, и изучаете, и штиль, и алгоритмы. Хотя что алгоритм нормальный — проверяется именно прохождением трудных тестов в отведённое время, если не можете составить такие тесты — значит, сами не очень понимаете чего хотите.
Для обучения оно уже давно используется в 179 школе, и вряд ли только в ней.
Re[3]: Git
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.05.17 07:57
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

Q>>Да, называется Git. Преподаватель создаёт репозиторий с шаблоном, комментариями и формулировками заданий. Студенты форкают и решают.

N_C>Э-э-э. Нет. Гит надо учить, как с ним работать. Надо рассказывать концепции веток и версионного контроля. Это еще хуже, чем раздавать на флешке, да и по сути не отличается о нее. Я же имел ввиду немного другое. Загружаешь окно, а там сразу тебе цветом выделяется то, что ты редактировать можешь, что не можешь и т.п. вещи, которые удобны для преподавания.

Не надо. Для обучения студентам хватает минимальных знаний — клон-коммит-пуш. Мы так работаем со студентами второго курса. Никаких серьезных проблем с гитом и гитхабом не возникало.

Другое дело, что воркфлоу отличается от продакшна. Но здесь с репом работает ровно один человек, потому незачем забивать голову лишними знаниями.
Re[7]: Git
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.05.17 07:59
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

Pzz>>Ну казалось бы, обучение — это и есть процесс объяснения, как решать.

N_C>Что Вы сможете решить, если у Вас нет инструмента и никто не объяснил, как он работает?

Минимальный сведения надо конечно дать студентам. На это уходит несколько аудиторных часов в фоне. Максимум лекция + практика, в ходе которой надо сделать первое задание и запушить его в свой реп.
Re[5]: Git
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.05.17 08:02
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

PD>>Я на рассказ об основах git/hg трачу примерно час на первом занятии. Вполне для начала достаточно clone/add/push/pull/status. Остальное будет потом.

N_C>Я не сомневаюсь, что это все можно рассказать за час, думаю, что можно и быстрее, вопрос — зачем. Для моей задачи использование версионного хранилища не дает преимуществ перед обычной сетевой шарой, или шарой Дропбокса или Яндекс-диска.

А из дому они тоже будут иметь доступ к сетевой шаре ? И с ноута в кафешке где они домашние задания делают ? И уж точно шара будет всегда живая, никто никогда не ошибется в копировании. НИкто никогда не затрет копированием свою работу.

Прежде всего реп удобен для преподавателя. Есть коммит — можно проверять. Нет коммита — до свидания. И студент никогда ничего не потеряет. Если не ставить задачей трушное использование гита, то все достаточно легко.
Re[6]: Git
От: Nikolay_Ch Россия  
Дата: 25.05.17 15:34
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I> А из дому они тоже будут иметь доступ к сетевой шаре ? И с ноута в кафешке где они домашние задания делают ? И уж точно шара будет всегда живая, никто никогда не ошибется в копировании. НИкто никогда не затрет копированием свою работу.

Ссылка в Дропбоксе всегда доступна
Re[7]: Git
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.05.17 08:13
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

I>> А из дому они тоже будут иметь доступ к сетевой шаре ? И с ноута в кафешке где они домашние задания делают ? И уж точно шара будет всегда живая, никто никогда не ошибется в копировании. НИкто никогда не затрет копированием свою работу.

N_C>Ссылка в Дропбоксе всегда доступна

Где гарантия что никто ничего случайно не перезатрёт ?
Re[8]: Git
От: Nikolay_Ch Россия  
Дата: 26.05.17 08:17
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Где гарантия что никто ничего случайно не перезатрёт ?

Ох... Видимо Вы не пользуетесь Дропбоксом. Там можно сделать просто ссылку на документ, в таком случае документ можно будет скачать, при этом изменить его в самом Долпбоксе будет нельзя.
Re[9]: Git
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.05.17 08:23
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

I>>Где гарантия что никто ничего случайно не перезатрёт ?

N_C>Ох... Видимо Вы не пользуетесь Дропбоксом. Там можно сделать просто ссылку на документ, в таком случае документ можно будет скачать, при этом изменить его в самом Долпбоксе будет нельзя.

Ну вот повседневный кейс — студент залил в дропбокс не то и старой версии у него нет, потому что локально у него была одна копия. Чем в этом случае поможет дропбокс?
Re[10]: Git
От: Nikolay_Ch Россия  
Дата: 26.05.17 08:28
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, Nikolay_Ch, Вы писали:


I>Ну вот повседневный кейс — студент залил в дропбокс не то и старой версии у него нет, потому что локально у него была одна копия. Чем в этом случае поможет дропбокс?

Я не знаю, какой Вы кейс хотите использовать. Мой кейс был предельно простой — прийти на занятия и, дав ссылку позволить студентам скачать что-то или открыть что-то. Затем быстро (за час) запрограммировать данную мной задачу.
Ничего никуда в дальнейшем заливать не надо.
Re[11]: Git
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.05.17 10:52
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

I>>Ну вот повседневный кейс — студент залил в дропбокс не то и старой версии у него нет, потому что локально у него была одна копия. Чем в этом случае поможет дропбокс?

N_C>Я не знаю, какой Вы кейс хотите использовать. Мой кейс был предельно простой — прийти на занятия и, дав ссылку позволить студентам скачать что-то или открыть что-то. Затем быстро (за час) запрограммировать данную мной задачу.
N_C>Ничего никуда в дальнейшем заливать не надо.

А как студенты будут задания приносить, на флешках или через дропбокс ?
Re[12]: Git
От: Nikolay_Ch Россия  
Дата: 26.05.17 10:57
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>А как студенты будут задания приносить, на флешках или через дропбокс ?

Я уже писал — это задание для семинара — главное, чтобы у студента за час просто получилось дойти до конца; получить так сказать результат.
Проверить его я могу просто взглянув на монитор студента — ему ничего никуда приносить не надо.
Re[13]: Git
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.05.17 11:26
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

I>>А как студенты будут задания приносить, на флешках или через дропбокс ?

N_C>Я уже писал — это задание для семинара — главное, чтобы у студента за час просто получилось дойти до конца; получить так сказать результат.
N_C>Проверить его я могу просто взглянув на монитор студента — ему ничего никуда приносить не надо.

Ну вот он прошел до конца и случайно затер, как раз перед тем как ты проверить подошел. Как быть ? Чем здесь дропбокс помогает ?
Re[14]: Git
От: Nikolay_Ch Россия  
Дата: 26.05.17 12:37
Оценка:
I>Ну вот он прошел до конца и случайно затер, как раз перед тем как ты проверить подошел. Как быть ? Чем здесь дропбокс помогает ?
А чем Git поможет, если забыл запушить изменения? Предлагаю уже не спорить. Я все понимаю про Гит и как он работает знаю.
Re[15]: Git
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.05.17 14:06
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

I>>Ну вот он прошел до конца и случайно затер, как раз перед тем как ты проверить подошел. Как быть ? Чем здесь дропбокс помогает ?

N_C>А чем Git поможет, если забыл запушить изменения? Предлагаю уже не спорить. Я все понимаю про Гит и как он работает знаю.

В гите нужно всего лишь комитать-пушить. В твоем случае надо вручную бекапить и восстанавливать из бекапа.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.