Re[6]: Git
От: Nikolay_Ch Россия  
Дата: 24.05.17 10:46
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Чтобы они этот шаблон взяли, код написали, закоммитили, а потом ты проверять мог.

Зачем мне это надо? Мне нужно, чтобы результат мог быть сделан быстро и не уходил на домашнюю работу, т.к. это резко понижает эффективность образовательного процесса. Чтобы программа заработала, а студенты не маялись с кучей проблем из-за того, что делая копи-паст неизвестно откуда они не подумали, как все это встроить в их программу. Чтобы усилия студентов уходили на реализацию конкретного функционала, а не на воспроизведения окружения.

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

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

PD>Впрочем, от языка зависит. Какой язык программирования ?

я писал — C#
Re[8]: Git
От: Nikolay_Ch Россия  
Дата: 24.05.17 10:50
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>В 20 лет люди еще не забыли, как это, думать самостоятельно. А вы хотите их от этого отучить.

Ну да, ну да... Даже такой простой инструмент как молоток требует обучения в работе и умение думать самостоятельно здесь не поможет.

Pzz>Если вы не смогли научить студентов писать программы, это ваша вина, а не студентов.

Вы все время путаете процесс. В контексте моего вопроса я учу инструменту, т.е. языку, а не программированию. Обучение самому программированию, это немного другой предмет и там все по другому.
Re[7]: Git
От: Pavel Dvorkin Россия  
Дата: 24.05.17 10:52
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>Зачем мне это надо? Мне нужно, чтобы результат мог быть сделан быстро и не уходил на домашнюю работу, т.к. это резко понижает эффективность образовательного процесса. Чтобы программа заработала, а студенты не маялись с кучей проблем из-за того, что делая копи-паст неизвестно откуда они не подумали, как все это встроить в их программу. Чтобы усилия студентов уходили на реализацию конкретного функционала, а не на воспроизведения окружения.


Прошу прощения, а какого рода программа ? Вычисление среднего из сотни чисел или создание многопоточного клиент-серверного приложения с несколькими библиотеками/фреймворками ? Для первого что-то найти можно, для второго — крайне сомневаюсь.
With best regards
Pavel Dvorkin
Re[7]: Git
От: Nikolay_Ch Россия  
Дата: 24.05.17 10:56
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>А вот идея обучать программированию, путем вписывания своих слов в готовый шаблон программы, мне не нравится принципиально. И именно это я хотел сказать. Независимо от того, делается это с git'ом, или без.

Исходя из своего опыта — шаблонный подходи позволит хоть сделать работу среднему студенту, а не забить на нее и не списать позже у соседа не разбираясь. А раз он не забил и получил результат — есть шансы, что он и дальше будет делать работы.
К сожалению, в нынешней реальности я не могу уделять внимания только идеальным студентам, процент которых в группах год от года почти не меняется. Я вынужден ориентироваться на средних студентов и пока принципы образования не поменяются, ничего не изменится.
Re[7]: Вписывания в шаблон
От: Qbit86 Кипр
Дата: 24.05.17 10:57
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>А вот идея обучать программированию, путем вписывания своих слов в готовый шаблон программы, мне не нравится принципиально. И именно это я хотел сказать. Независимо от того, делается это с git'ом, или без.


Это стандартный подход на многих сайтах «развлекательного» программироваия (HackerRank, CodinGame, TopCoders, etc.) Некоторые из них предлагают туториалы для новичков (или в программировании в целом, или только в осваиваемом ЯП, или в алгоритмах). Каноническая первая задача, с которой сталкивается начинающий пользователь — написать функцию, считающую сумму двух своих аргументов. Вот так просто, в предоставленную заготовку в строке «// Place your code here» впечатать решение.
Глаза у меня добрые, но рубашка — смирительная!
Re[9]: Git
От: Pzz Россия https://github.com/alexpevzner
Дата: 24.05.17 11:30
Оценка: +1
Здравствуйте, Nikolay_Ch, Вы писали:

Pzz>>В 20 лет люди еще не забыли, как это, думать самостоятельно. А вы хотите их от этого отучить.

N_C>Ну да, ну да... Даже такой простой инструмент как молоток требует обучения в работе и умение думать самостоятельно здесь не поможет.

А как, по-вашему, когда молотком учат работать, мастер забивает гвозди наполовину, а потом дает ученику их забить до конца?

Pzz>>Если вы не смогли научить студентов писать программы, это ваша вина, а не студентов.

N_C>Вы все время путаете процесс. В контексте моего вопроса я учу инструменту, т.е. языку, а не программированию. Обучение самому программированию, это немного другой предмет и там все по другому.

Так это и неправильно. Как можно учить сначала инструменту, а потом объяснять, зачем этот инструмент нужен?

Сначала надо людей программированию научить, а потом уже можно про всякие сложные инструменты рассказывать. Тогда это новое знание ляжет на уже имеющийся фундамент, а не осядет в голове в виде неструктурированной лапши.
Re[8]: Вписывания в шаблон
От: Nikolay_Ch Россия  
Дата: 24.05.17 11:44
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Это стандартный подход на многих сайтах «развлекательного» программироваия (HackerRank, CodinGame, TopCoders, etc.)

Добавлю, что это не только подход "развлекательных" сайтов, но и вполне себе грандов типа Майкрософта, которая тоже дает шаблоны на свои лабораторные.
Re[8]: Git
От: Nikolay_Ch Россия  
Дата: 24.05.17 11:46
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Прошу прощения, а какого рода программа ? Вычисление среднего из сотни чисел или создание многопоточного клиент-серверного приложения с несколькими библиотеками/фреймворками ? Для первого что-то найти можно, для второго — крайне сомневаюсь.

Программы по темам языка. Классы, структуры, свойства, интерфейсы. Не суть, что она конкретно решает в реальности, она может даже ничего не решать — главное, чтобы человек прочувствовал структуры языка, а на дом уже какая-нибудь самостоятельная.
Re[10]: Git
От: Nikolay_Ch Россия  
Дата: 24.05.17 11:53
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>А как, по-вашему, когда молотком учат работать, мастер забивает гвозди наполовину, а потом дает ученику их забить до конца?

Мастер рассказывает все по шагам что и как делать. Вспомните свои уроки труда и там... табурет или еще что. Там подробная пошаговая инструкция. И на этих уроках никто не учит думать, как надо сделать, учат сначала "руку держать", делать стандартные действия. Например, научите людей работе в отладочном режиме. Как это сделать, если не написать подробно, что надо написать, какие кнопки нажать для бряк-поинта, куда посмотреть, чтобы увидеть значения переменных. Не поможет здесь вам умение программировать. Тут программировать вообще ничего не нужно.

Pzz>Так это и неправильно. Как можно учить сначала инструменту, а потом объяснять, зачем этот инструмент нужен?

Не "зачем нужен", а "что с помощью него можно сделать". Но ответ тут очень простой — в общем случае — сделать можно все.

Pzz>Сначала надо людей программированию научить, а потом уже можно про всякие сложные инструменты рассказывать. Тогда это новое знание ляжет на уже имеющийся фундамент, а не осядет в голове в виде неструктурированной лапши.

Мне кажется, что это два параллельных пути, на каждом из которых нужно решать свои типы задач. В данном контексте меня больше интересуют задачи инструмента, а не программирования.
Re[8]: Git
От: Pzz Россия https://github.com/alexpevzner
Дата: 24.05.17 11:55
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

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


И при этом полностью отбивает желание делать хоть что-нибудь у студентов выше среднего. Которые, может, и пошли бы работать программистами, в отличии от тех, на которых вы ориентируетесь.

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


Реальность создаете лично вы. Не в масшабах, конечно, вселенной, но в том пространстве, за которое лично вы отвечаете.
Re[9]: Вписывания в шаблон
От: Pzz Россия https://github.com/alexpevzner
Дата: 24.05.17 11:58
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

Q>>Это стандартный подход на многих сайтах «развлекательного» программироваия (HackerRank, CodinGame, TopCoders, etc.)

N_C>Добавлю, что это не только подход "развлекательных" сайтов, но и вполне себе грандов типа Майкрософта, которая тоже дает шаблоны на свои лабораторные.

Судя по тому, что проще пойти и удавиться экспериментально попробовать, чем что-нибудь понять из микрософтовской официальной спецификации, я бы не стал на них ориентироваться в вопросах обучения кого-либо чему-нибудь.
Re[9]: Git
От: Pavel Dvorkin Россия  
Дата: 24.05.17 12:06
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

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


Вот это не пойдет ?

https://www.tutorialspoint.com/compile_csharp_online.php

Вроде как можно свой код загружать.
With best regards
Pavel Dvorkin
Re[11]: Git
От: Pzz Россия https://github.com/alexpevzner
Дата: 24.05.17 12:07
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>Мастер рассказывает все по шагам что и как делать. Вспомните свои уроки труда и там... табурет или еще что. Там подробная пошаговая инструкция. И на этих уроках никто не учит думать, как надо сделать, учат сначала "руку держать", делать стандартные действия. Например, научите людей работе в отладочном режиме. Как это сделать, если не написать подробно, что надо написать, какие кнопки нажать для бряк-поинта, куда посмотреть, чтобы увидеть значения переменных. Не поможет здесь вам умение программировать. Тут программировать вообще ничего не нужно.


Мне кажется, табуретки учат делать примерно так: "Все внимательно смотрите, как это делаю я. Всё запомнили? Кто осмелится попробовать повторить? Вася, ну по пальцу-то, по пальцу ты зачем долбишь! Петя, перестань засовывать гвозди за шиворот Маше! Ну, тупыеее!"

Pzz>>Так это и неправильно. Как можно учить сначала инструменту, а потом объяснять, зачем этот инструмент нужен?

N_C>Не "зачем нужен", а "что с помощью него можно сделать". Но ответ тут очень простой — в общем случае — сделать можно все.

Ну это, по-моему, как учить людей водить самолет, путем рассказывания назначения каждой кнопочки (а их в самолете много — примерно как заковыристых конструкций в C#). А потом когда-нибудь, через годик, дать ученикам самим порулить, под присмотром опытного пилота.

К тому времени, когда ему дадут порулить, он уже полностью забудет про все эти кнопочки, и будет лишь крепко держаться за штурвал, чтобы от страха из сиденья не выпасть.
Re[12]: Git
От: Nikolay_Ch Россия  
Дата: 24.05.17 12:16
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Ну это, по-моему, как учить людей водить самолет, путем рассказывания назначения каждой кнопочки (а их в самолете много — примерно как заковыристых конструкций в C#). А потом когда-нибудь, через годик, дать ученикам самим порулить, под присмотром опытного пилота.

Pzz>К тому времени, когда ему дадут порулить, он уже полностью забудет про все эти кнопочки, и будет лишь крепко держаться за штурвал, чтобы от страха из сиденья не выпасть.
А Вы почитайте, как идет обучение на пилотов или, к примеру, космонавтов. Пока ученика пустят "посидеть" — он должен выучить гору материала и сдать кучу экзаменов. И сажают их в кресло 2-го пилота. И ему КВС дает порулить очень редко и во вполне конкретных ситуациях. Пока не научится.
Re: Обучение студентов
От: LaptevVV Россия  
Дата: 24.05.17 13:17
Оценка:
N_C>Хочу немного изменить концепцию преподавания своих предметов.
N_C>Всегда хотел, чтобы студент начиная решать задачу получал некий шаблон программы, в котором он должен заполнить недостающие строки кода. Это позволит быстро "стартануть" в условиях ограниченного времени на семинаре, а главное — успеть дойти до финиша к концу семинара.
Не шаблон программы, а паттерны кода. Без привязки к языку.
Я так понимаю, что "ноги растут" от паттернов циклов Ткачева?
N_C>Подготовка таких шаблонов — не проблема, но передать их студентам, объяснить, куда и что они должны добавлять — на это уходит время. Прочитал, что раньше были такие онлайн-среды, где можно было в режиме учителя загрузить шаблон, а студенты могли бы его допиливать прямо в браузере.
Github.
Мы использовали в паре курсов — неплохо получилось.
Надо только организационно продумать — один каталог на группу и все внутри, или каждый индивидуально, или один каталог на комманду (коллективные проекты)
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Templates and patterns
От: Qbit86 Кипр
Дата: 24.05.17 13:27
Оценка: 18 (2) +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Не шаблон программы, а паттерны кода. Без привязки к языку.

LVV>Я так понимаю, что "ноги растут" от паттернов циклов Ткачева?

Я так понимаю, именно шаблон-template, а не шаблон-pattern. Просто код с плейсхолдерами, который подготавливает «церемонии» namespace-public-static-void-main-bla-bla-bla, неинтересные на начальном этапе обучения.

LVV>Github.

LVV>Мы использовали в паре курсов — неплохо получилось.
LVV>Надо только организационно продумать — один каталог на группу и все внутри, или каждый индивидуально, или один каталог на комманду (коллективные проекты)

Один репозиторий на задание по курсу. Если есть группы, то тимлид группы форкает, участники группы клонируют этот форк. Если нет групп, то каждый форкает индивидуально. Преподаватель watch'ит форки и отслеживает прогресс.
Глаза у меня добрые, но рубашка — смирительная!
Re[3]: Templates and patterns
От: Nikolay_Ch Россия  
Дата: 24.05.17 13:58
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Я так понимаю, именно шаблон-template, а не шаблон-pattern. Просто код с плейсхолдерами, который подготавливает «церемонии» namespace-public-static-void-main-bla-bla-bla, неинтересные на начальном этапе обучения.

Именно! И именно эти "церемонии" на начальном этапе вызывают очень много временных потерь.
Re: Обучение студентов
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 24.05.17 15:02
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>Это позволит быстро "стартануть" в условиях ограниченного времени на семинаре, а главное — успеть дойти до финиша к концу семинара.

Я сам практически никогда не практиковал написание кода студентами на практических занятиях — всё выносил на самостоятельное решение.
Т.е. на лекции (или "в теоретической части") я показываю "как начать", а затем уже студенты воспроизводят это сами.
Но, во-первых, я вел у достаточно высоких курсов (там разобраться в среде и начать — не проблема). А во-вторых, сейчас я считаю уже не в рамках ВУЗа и всегда есть запись лекций.

Однако из своего студенчества могу вспомнить довольно успешный пример одного из преподавателей.
По сути, он предложил что-то вроде майкросовтовских пошаговых лабораторных — т.е. пошаговую инструкцию, которая включала:

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

P.S. единственное что не помню, мы только создавали проект с 0 или был еще уже слегка доработанный вариант, который мы и дополняли. Вроде были оба — и просто начать, и сделать что-то посложнее.
Re: Обучение студентов
От: vsb Казахстан  
Дата: 24.05.17 15:08
Оценка:
Вообще такой функционал есть на hackerrank, с точки зрения пользователя. Выбираешь задачу, выбираешь язык программирования и тебе там сразу заполненая рыба показывается. И тесты тоже есть. Возможно для вас тоже подойдёт.
Re[2]: HackerRank
От: Qbit86 Кипр
Дата: 24.05.17 15:11
Оценка:
Здравствуйте, vsb, Вы писали:

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


HackerRank хороший, всем советую. Но там вроде только зааппрувленные задачи, не произвольные.
Глаза у меня добрые, но рубашка — смирительная!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.