История, которую вы собираетесь увидеть, правдива; имена были изменены, чтобы защитить невиновных.

Перед началом курса

Не определяйте свою целевую аудиторию

Отправьте страницу регистрации каждому подписчику под солнцем, который когда-либо давал вам свой адрес электронной почты. Не знаете об их происхождении или интересах? Кому интересно, ваш курс СУПЕР ВАЖНО. Было бы совершенно упущением с вашей стороны не сообщить об этом сотням людей, которые когда-либо вводили свой адрес электронной почты на ваш веб-сайт.

Не упоминайте содержание курса

Кто не любит загадки?

Не давайте подсказок о необходимых навыках

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

Не говорите ничего о том, какими программистами следовало заниматься.

Должны ли они уметь писать функции? Если да, то насколько сложно? Какая разница?

Не сообщайте информацию о выделенном времени

Опять же, не надо портить тайну! У каждого, кто записывается на буткемп, есть уйма свободного времени. Поэтому эта информация совершенно неактуальна.

Как только курс начнется

Печать на консоль

В первый день необходимо, чтобы исходный код выводил сообщение на консоль. Будь новым! Заставьте их напечатать что-нибудь кроме «Hello world».

Программистам чрезвычайно важно знать, как печатать только текст, который они предоставили в команде печати. ​​

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

Скрыть ключевую информацию о синтаксисе

Есть несколько фрагментов информации, которые можно похоронить!

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

Вместо этого закройте эту информацию на полпути к уроку 1. Синтаксис гораздо менее важен, чем научиться печатать «Hello world» на консоли. Это также гораздо менее важно, чем изучение того, что + является оператором сложения.

Разместите свои уроки и упражнения на двух отдельных экранах

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

Заголовки, шмиды

Обучая людей программированию, не используйте заголовки для каждого подраздела урока. Учебный опыт улучшается за счет того, что учащиеся выполняют прокрутку вперед и назад. Чем длиннее страница уроков, тем лучше! В их браузере всегда есть опция «Найти»!

Бонусные баллы: иногда используйте заголовки, а иногда нет.

Подсказки и решения

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

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

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

Наказывать студентов за творчество

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

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

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

Позвольте их коду безупречно работать на их страницах уроков. Затем, после того, как ученик зафиксирует код и станет общедоступным, допустит огромные ошибки.

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

Получите отзывы о курсе в первый день

Всем известно, что первый урок - идеальное время, чтобы получить отзывы учеников. Первый урок самый сложный. Сколько учеников могут правильно написать «Hello world»? Кроме того, базовая алгебра очень сложна для программистов, переходящих на новый язык.

Поворот тайны

Я сдался на второй день.