Можно ли попросить профессора проверить назначение перед отправкой?

У меня есть задания, связанные с программированием. Они жесткие, и мои друзья не могут получить результаты. Я хотел попросить моего профессора запустить их, чтобы проверить, правильно ли я сделал это. (предельный срок быстро приближается). Я аспирант. Это мой первый срок.

14
Если у вас возникли проблемы с назначением, вы можете связаться с преподавателем, если таковой имеется.
добавлено автор jimeh, источник
Насколько велик курс? по моему опыту (по обеим сторонам этого), небольшие курсы резко увеличивают вероятность того, что преподаватель готов предварительно ознакомиться с вашей домашней работой и предоставить обратную связь.
добавлено автор Martha, источник
Перестань беспокоиться. Вы уже делаете лучше, чем ваши друзья, если они даже не могут получить результат. Сделайте все возможное, и вы увидите, как вы это делали, когда возвращались оценки.
добавлено автор Roland, источник
Да. Можно спросить. Спросить - это единственный способ узнать, готовы ли они это сделать (если это уже не в какой-либо документации. Не спрашивайте у своих профессоров вопросы, если вы не читали учебное пособие/учебное пособие/все)
добавлено автор Flyto, источник
Вы понимаете, что должна делать программа?
добавлено автор Patricia Shanahan, источник
Когда профессор отмечает задание, это проверяет профессор. Предварительная маркировка, чтобы вы могли «обмануть» процесс маркировки, вряд ли произойдет!
добавлено автор ceejayoz, источник
Вы аспирант в области компьютерных наук или в какой-то другой области, которая просто использует программирование. Многое из того, что здесь, не имеет большого смысла, не зная об этом.
добавлено автор T-Rex, источник
Напоминание всем: ответьте на ответы, а не на комментарии. В комментариях нет механизмов обеспечения качества, которые отвечают.
добавлено автор magnattic, источник
Я бы не ожидал, что профессор сделает это за вас, если это не политика для всех студентов. Просто спросите об этом в рабочее время.
добавлено автор TaylorAllred, источник
Ваш профессор предложил образцы ввода и соответствующие ожидаемые результаты? В моих классах мы обычно получали по крайней мере некоторые тестовые примеры для каждого задания.
добавлено автор Polygnome, источник
Я буду эхом @Buffy - как и в моем основном (IS), мы использовали Python много для математической работы, которая не ожидала ввода или вывода (просто требования и стандарты для сбора данных). Этот тип информации сильно повлияет на ответы.
добавлено автор cathy, источник
Зачем вам нужен ваш профессор для запуска программы? Разве вы не можете запустить его на своей машине и посмотреть, работает ли он так, как предполагалось?
добавлено автор Nestor, источник

9 ответы

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

Если вы в замешательстве, вы можете задать уточняющие вопросы о том, что задает домашняя работа (например, желаемое поведение в угловых случаях, форматирование вывода, обработка ошибок, другие ограничения и что-то еще, что кажется неоднозначным) и о базовом материале (например, алгоритме обсуждается в лекции, которую вы должны применить), но не о правильном ответе, или ваш ответ в порядке. Некоторые преподаватели (например, я) помогут студенту отлаживать, но обычно только помогают вам изучить навыки. Обычно они не будут отлаживать вашу программу для вас.

41
добавлено
@ nikki2, если у вас есть набор входов и набор ожидаемых выходов, тогда вы можете использовать любой онлайновый или автономный компилятор для фактического запуска вашего кода. tio.run может запускать большую часть языка и часто используется в стеке codegolf.
добавлено автор codette, источник
У меня был по крайней мере один инструктор, который явно рекомендовал этот подход к своим ученикам для оценки курса, и у меня было несколько инструкторов, которые это допускали (хотя обычно были ограничения, которые они могли бы дать ). Будучи наставником, я был готов (и разрешил) помочь ученикам с их градуированной домашней работой в разумных пределах.
добавлено автор Martha, источник
@chevybow Вопросы, которые разъясняют, что задание задает (например, желаемое поведение в угловых случаях, форматирование вывода, обработка ошибок, другие ограничения), явно рассматриваются в моем последнем предложении, как всегда разрешено. Некоторые преподаватели (например, я) помогут студенту отлаживать.
добавлено автор ibimon, источник
@ nikki2 обучение проверке действительности программы является фундаментальной частью информатики, и что-то вам нужно быстро изучить. Кроме того, вы должны посещать часы работы или организовывать встречу с вашим профессором лично, чтобы говорить о коде концептуально, если вы не понимаете, как делать домашнее задание.
добавлено автор Stella Biderman, источник
@chevybow В любом случае их профессор сможет ответить в соответствии с любыми правилами, которые существуют для заданий. Так что никакого вреда в вопросе.
добавлено автор CodeBreaker, источник
Благодарю за ваш ответ. Я немного смущен. вопросы сложны. Как я могу убедиться, что я прав?
добавлено автор hotterpop, источник
-1. У меня были преподаватели, как на уровне бакалавриата, так и на уровне выпускников, сказать студентам, что то, что они делают, является неправильным и почему. Домашнее задание не должно быть загадочной загадкой для студентов, чтобы расшифровать и быть неуверенным в том, что конечный продукт правильный или нет. Я не вижу ничего плохого в том, что OP идет к профессору, объясняя, что они сделали (может включать показ кода), и спрашивает профессора, хочет ли он это, потому что в описании задания было неясно.
добавлено автор Fabien Snauwaert, источник

Как правильно указывает Николь, инструкторы most не смогут или не желают готовить домашнее задание, но некоторые могут. Поэтому, если вы решительно настроены на это, вы можете спросить.

Тем не менее, вероятно, более полезно спросить один или несколько целенаправленных вопросов о том, о чем вы не уверены. Обратите внимание, что «пожалуйста, запустите мою программу и скажите мне, работает ли она» не заданный вопрос, а также «вот мой код, я получу все очки для этого». Целевой вопрос может включать краткое изложение вашего подхода и тех частей, о которых вы не уверены, и спрашиваете, находитесь ли вы на правильном пути. Я полагаю, что большинство инструкторов будут более чем готовы дать вам отзывы об этом.

Как правило: если вопрос будет закрыт на Stack Exchange (в частности, если он будет закрыт как недостаток предшествующих исследований или будет слишком локализован), есть хорошие шансы, что преподаватель также не будет этому рад. Кстати, это одна из основных причин, по которой я решительно поддерживаю своих учеников, работающих на Stack Exchange, - они обучают их тому, как продуктивно просить отзывы лучше, чем любой другой способ, о котором я знаю.

23
добавлено
@jrh: Тем не менее, ТАК агрессивно закрывает вопросы формы «Мой код не работает», который не содержит никакого кода.
добавлено автор Mika Vatanen, источник
Nitpicking: «слишком локализованная» была удалена в качестве близкой причины, и в МИРК никогда не было «отсутствия предшествующих исследований», что было причиной, которая всегда была причиной снижения.
добавлено автор moala, источник

Есть два случая, чтобы рассмотреть:

  1. Вы не понимаете, что должна делать программа. В этом случае уместно спросить профессора вопросы формы «Что должно произойти в этом случае?» или аналогичный.

  2. Вы понимаете, что должна делать программа. То, как вы убедитесь, что вы делаете это правильно, - это комбинация проверки и тестирования на столе. Помните о модульных тестах нетривиальных модулей, а также тестировании всей программы.

Тестирование является частью работы по программированию. Не стоит ожидать, что ваш профессор сделает это за вас.

12
добавлено
ОП является аспирантом. Я надеюсь, что студенты-градиенты подверглись единичному тестированию.
добавлено автор Sara Chipps, источник
Я надеюсь, что студенты-градиенты подверглись единичному тестированию и предположили, что OP будет знать об этом, но тестирование и отладка, по-видимому, игнорируются в некоторых программах обучения.
добавлено автор Patricia Shanahan, источник
@ Тестирование модуля Belle-Sophie не ограничивается классами, хотя класс является естественным элементом программирования OO. Это может быть функция. Это может быть структура данных и некоторые функции, которые работают на ней.
добавлено автор Patricia Shanahan, источник
Как аспирант, выбор OP, который сможет сделать, пока тестирование кажется мне минимальным требованием. Конечно, не каждый ученик CS grad приходит из CS-ступени, но бремя лежит на ученике, чтобы убедиться, что они подготовлены к их курсовой работе. Это вдвойне верно, если они исходят из нестандартного фона.
добавлено автор Stella Biderman, источник
@Buffy Я согласен. Я, и я думаю, что другие, отвечают на комментарий OP «что такое модульное тестирование»,
добавлено автор Stella Biderman, источник
@StellaBiderman, некоторые вещи сложнее тестировать, чем другие. Например, генетические алгоритмы довольно сложны. Сами проблемы могут быть недетерминированными.
добавлено автор T-Rex, источник
@StellaBiderman, у меня проблемы с этим. Мне бы хотелось узнать немного больше об ОП и параметрах ситуации. Если она (?) Находится из другого поля, было бы разумно не знать, но если бы CS, то кто-то ее подвел. Я больше сосредоточен на том, что класс вообще может быть потерян. Это заставило меня задуматься о том, как может быть различное машинное обучение, когда вы впервые попали в него. Я даже мог представить себе такое задание - бросая их в глубокий конец, чтобы немного погрязнуть. Первое задание в моем курсе компилятора было шоком для некоторых, но довольно хорошо структурировано по крайней мере.
добавлено автор T-Rex, источник
@ nikki2 Ссылка + тонны обучающих программ, которые вы можете легко найти. Вы обязательно должны попробовать, но вначале не беспокойтесь, если он не станет гладким. Даже самые примитивные тесты окажутся действительно полезными.
добавлено автор Marek, источник
Я не думаю, что модульное тестирование - это то, что студенты первого семестра должны знать или понимать. То, что именно является объектом, для них достаточно сложно.
добавлено автор Michael Parrish, источник
То есть, если предыдущие исследования содержали программирование вообще
добавлено автор Michael Parrish, источник
@PatriciaShanahan Я знаю, я просто пытаюсь сказать, что модульное тестирование - это более продвинутый этап, чем кажется.
добавлено автор Michael Parrish, источник
что такое единичное тестирование?
добавлено автор hotterpop, источник

Зависит от профессора. Моя политика всегда была примерно такой:

  • Вы хотите, чтобы я прочитал вашу статью, прокомментировал ее, выделил все места, которые она могла бы укрепить, и по существу оценила ее - ПЕРЕД Я действительно оцениваю ее?
  • (Обычно, когда студенты получают такую ​​бумагу, они ожидают, что они получат A на указанной бумаге. Как правило, они не будут, потому что, вероятно, все еще есть недостаток или таковой в бумаге. переписать документ, но оценить, что передо мной, и указать на самые большие проблемы. Эти проблемы редко являются лишь техническими исправлениями, хотя студенты рассматривают их как таковые.)

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

7
добавлено
Тоже для программирования, но здесь похоже, что OP, вероятно, падает в случае (1).
добавлено автор VolleyJosh, источник
Есть по крайней мере две возможные причины, по которым они могут это сделать. (1) Они пишут хорошо или, по крайней мере, достаточно хорошо, и хотят, чтобы они абсолютно уверены, что они получают A. (2) Они совершенно не знают, как писать и действительно нуждаются в помощи. У меня нет большой симпатии к тем ученикам, которые относятся к делу (1). Но вы действительно должны убедиться, что те ученики, которые попадают под дело (2), каким-то образом могут получить некоторую помощь. В противном случае они никогда не научатся писать, и разве это не одна из тех вещей, которые вы должны учить?
добавлено автор VolleyJosh, источник
Я не уверен, что вы имеете в виду с «несправедливым»; Конечно, если опция для того, чтобы что-то проверить заранее, это вариант для некоторых студентов, вы бы разрешили это для всех из них? Если некоторые ученики не используют такой вариант, который есть на них.
добавлено автор Inquest, источник
@Cubic Это нечестно, потому что у него нет времени, чтобы сделать это для всех. И поскольку справедливо, если он сделает это для некоторых, чтобы предложить его для всех, и он не может сделать это для всех, единственное, что нужно сделать, - это сделать это ни для кого.
добавлено автор Sawarnik, источник

Я был в вашей ситуации осенью. Я обнаружил, что если бы я пошел к моему профессору на ранней стадии задания с очень конкретными вопросами, они, как правило, более чем рады предложить некоторые рекомендации. Они не «предварительно оценили», но попытались бы указать мне в правильном направлении. Такие вопросы, как «почему это не работает», не подходят, но более заданный вопрос, например «Я сделал x, y и z. Я борюсь с этой частью. Я пробовал эти методы, и это результаты I Я знаю, что это неверно, потому что ... У вас есть предложения или какие-то места, чтобы найти какое-то руководство? Я просмотрел материалы класса, но до сих пор не смог найти удачных решений ». Это демонстрирует профессору, что вы сделали несколько действительных попыток, показывая, что вы можете понять, почему ваши попытки решения проблем не увенчались успехом. Если вы сформулируете это так, чтобы было ясно, что вы исчерпали все ресурсы, не откладывайте на последнюю минуту и ​​не просите их дать вам ответ, вы, скорее всего, получите какую-то форму помощи. Если вы и ваши одноклассники обсудили это задание и по-прежнему не можете прийти к каким-либо решениям, так как много людей обращаются к профессору, это всегда полезно. Затем профессор может видеть, что либо они должны предлагать более четкие инструкции, либо проводить больше времени в определенных областях.

6
добавлено

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

Мое мнение таково:

  • From the students' viewpoint:

    • They get time-bound specific feedback on their work.
    • If they really screwed up, they don't get penalized from a one-off mistake. Several of my students do not have English as their first language, so miscommunications do happen.
    • They have a good chance at getting 100% on all such submitted work.
  • From my viewpoint:

    • I get a larger time period to mark the assignments, because students don't wait until the last minute to submit.
    • I get to identify problems a little earlier and address them with the whole class before the due date.
    • Marking updates to assignments takes way less time than the initial marking, so the extra time is not of huge significance.
    • I see re-doing the assignment as a form of repetition on the material, which I believe is good for their learning outcomes.

Моя общая цель - научить студентов изучать материал. Принуждение к представлению «одного выстрела» может быть контрпродуктивным для этой цели.

Обратите внимание, что это предназначено специально для краткосрочных заданий и викторин. В среднем и финале не получаются ранние представления или повторные передачи.

4
добавлено

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

Любой студент, у которого есть степень бакалавра, должен иметь возможность писать практически любую программу на языке, который они уже знают . Каждый такой студент также должен быть знаком с общими методиками, такими как модульное тестирование. Однако, возможно, ваш фон несколько отличается, что затрудняет принятие этого знания.

Поскольку вы говорите, что ваши одноклассники находятся в аналогичном состоянии, я должен догадаться, что есть что-то принципиально new об этом всем.

Если ваша «программа» находится на новом языке, и предметом является машинное обучение, в котором «доказательством» успеха обучения является нечто принципиально отличное от, скажем, реализации стандартного алгоритма с четко определенным начальным и конечным состоянием, тогда я также может понять трудность.

Если это так, то может быть полезно, чтобы профессор знал, что у каждого есть трудности с этим, и искать немного больше указаний о том, чего ожидать. Однако вам не нужно запрашивать предварительный анализ, чтобы сделать это. В достаточно большом классе, возможно, у профессора есть помощник, который может оказать соответствующую помощь (конечно же, со знанием профессора). Или он/она может просто захотеть сказать немного в классе, если его спросят, это даст вам уверенность, что вы на правильном пути или сбились с пути.

Если я неверно истолковал, я извиняюсь, но было бы хорошо, если бы в ваших вопросах или в вашем профиле было бы немного больше информации о вашей реальной ситуации.

И примечание для всех здесь. Если я сделал правильные предположения, обратите внимание, что AI/MachineLearning немного отличается от других тем CS, в то время как состояние ввода может быть точно задано, конечное состояние может быть не во многих случаях. Фактически DARPA только что начал программы для создания ИИ, которые могли бы фактически объяснить их выход. Это новая вещь, по сути, и одна из традиционных трудностей в ИИ. Они могут прийти к «выводу», но не могут сказать, почему.


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

4
добавлено
Я предположил, что трудности с ML не будут применяться, потому что в вопросе говорится: «Запустите их, чтобы убедиться, что я сделал это правильно или нет», что указывает на то, что простые тесты будут работать.
добавлено автор Patricia Shanahan, источник
@PatriciaShanahan, если это утверждение не означает «запустить их и получить результаты, которые соответствуют модели». Я знаю, что в моей курсовой работе, обучение коду было намного проще (хотя я исходил из ИТ-специалиста), а затем учился интерпретировать и объяснять результаты. Пока OP не добавит некоторого фона в тип программы, трудно понять, в чем проблема (и тем самым что делать). Fyi., Я прочитал это и предположил, что это проблема выбора хороших сюжетов и проверки добросовестности. Как вопрос, который я помню, когда-то спрашивали: «Низкие значения R-квадрата плохие?» думая, что мой код был плохим.
добавлено автор cathy, источник

Единственный способ быть уверенным - отправить своего профессора по электронной почте. Мое предположение подтвердило бы то, что вам говорили другие ответы.

Удостовериться, что вы полностью понимаете назначение, также является хорошей идеей (что означает, что это присвоение выглядит/работает, как если оно сделано правильно?), Но также спросите своего профессора о том, где получить помощь. Вероятно, он знает, что это непросто. Профессор, вероятно, объяснит, насколько он или она хочет помочь, и, возможно, есть список репетиторов или ресурсов, где вы на самом деле можете получить конкретную помощь.

Еще одно замечание: будьте предельно осторожны в получении помощи по кодированию (вот почему это хорошая идея спросить у проф, где получить помощь). Будьте предельно ясны в отношении того, что ваш профессор считает плагиатом. Просить друзей об их коде, который работал и копировал его, может вызвать у вас большие неприятности.

3
добавлено

Ваш профессор (или любой из их ТП) имеет открытые рабочие часы? Я предполагаю, что если вы войдете, покажите им программу и скажите им, что вы смущены тем, что она работает по назначению, они были бы более чем рады помочь.

2
добавлено