[Закрываются] вводные присвоения Информатики

8
задан Jon Stevens 20 February 2010 в 06:59
поделиться

6 ответов

В качестве вдохновения я использовал следующие страницы:

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

1
ответ дан 5 December 2019 в 20:16
поделиться

Проблема с "веселыми" заданиями заключается в том, что они часто оказываются для студентов более сложными, чем вы предполагали. Особенно это касается студентов с плохим английским и студентов, которые оставляют задания на последнюю минуту. [А потом приходят на SO с вопросами "пожалуйста, сделайте мою домашнюю работу"]. Многие из них будут испытывать трудности с любыми заданиями, которые вы зададите, но вам не нужно, чтобы куча студентов жаловалась на то, что упражнения слишком трудные или не освещены в ваших конспектах лекций.

Мой совет (из собственного опыта) - старайтесь, чтобы объем фоновых знаний и "сложность" заданий по программированию были невысокими.

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

4
ответ дан 5 December 2019 в 20:16
поделиться

SICP имеет несколько очень хороших заданий.

2
ответ дан 5 December 2019 в 20:16
поделиться

Это то, что вы ищете?

setTimeout('JsFunction1(val);', 0); 
setTimeout('JsFunction2(val);', 0);
-121--3594892-

Вам придется преобразовать sWorkingLine в UTF-8, а затем записать его в файл.

WeyCharToMultiByte может преобразовывать строки Юникода в UTF-8, если выбрана кодовая страница CP _ UTF8 . MultiByteToWeyChar может преобразовывать символы ASCII в Юникод.

-121--2387508-

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

Аналогичная идея состоит в том, чтобы иметь последовательность лабораторий, используя (успешно завершенный) код из предыдущей лаборатории в качестве отправной точки. Когда я делал вводный курс программирования (PINK - программирование в инкрементных системах) в LiU, так много лет назад, был один сегмент лабораторной работы, который (по существу) сводился к реализации календаря, используя абстрактные типы и accessors, а затем менял реализацию абстрактного типа впоследствии. Довольно ценный для иллюстрации необходимости предусматривать хорошего интерфейса вам не нужно побочный шаг, если ничего другого (из памяти, я в итоге провел день или два размышляя над «реализацией изменений», то 15-20 минут фактически изменить мои абстрактные типы данных, так как я сделал тяжелую работу вперед и просто нужно было убедить себя в этом).

0
ответ дан 5 December 2019 в 20:16
поделиться

Свинья на латыни.

Попросите ваших учеников написать код, который переводит текстовый поток с английского на свиную латынь. Правила довольно просты, но они потребуют некоторых интересных особых случаев, особенно когда дело доходит до пунктуации и заглавных букв, требующих от них написания базового сканера / токенизатора.

С типичным предложением вроде этого:

Quietly, Anne walked into the forest.

Вы должны получить следующее:

ietly-quay, Anne-ay alked-way into-ay e-thay orest-fay.

но вы, вероятно, получите:

uietly,-Qay Anne-ay alked-way into-ay e-thay orest.-fay

с неправильной пунктуацией, неправильным расположением Qu и неправильным написанием заглавных букв.

0
ответ дан 5 December 2019 в 20:16
поделиться

Пара идей, которые находят отклик у студентов:

  1. Фрактальное искусство - отличный способ научить рекурсии, потому что студенты могут визуализировать процесс (например, треугольник Серпинского, L-системы ] для амбициозных студентов). Вы можете увидеть довольно впечатляющую графику, созданную с помощью контекстно-свободных грамматик, на context free art .
  2. Управление изображениями - обучение функциональному программированию путем сопоставления функций манипулирования пикселями по изображению (например, замена цветовых каналов, размытие по Гауссу, управление оттенком); это несколько проще, чем типичные назначения генеративного искусства на основе синтаксического дерева .

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

0
ответ дан 5 December 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: