Рубрики
Без рубрики

Как преподавать ваш язык программирования (или что-то еще)

Три совета по обучению программирования. Теги с Python, программированием, обучением.

При объяснении, следует следовать простому принципу:

  • Одна вещь за раз.

Это совершенно очевидно, не так ли?

Позвольте мне продемонстрировать, как можно легко сломать правило. Рассмотрим следующий текст:

Теперь мы напишем рекурсивную функцию для расчета факториала, используя уменьшение и лямбда.

Соответствующий код в Python выглядит так:

from functools import reduce

def factorial(x):
    return reduce (lambda y,z:y*z, range(1, x+1))

assert factorial(3) == 6, "3! = 2*3 = 6"

Чтобы бросить такой код на Newbies – это пуленепробиваемый метод, как заставить их убежать. На самом деле, есть несколько тем для обсуждения здесь:

  • Математическое определение факториала,
  • Оператор импорта,
  • Уменьшить функцию,
  • лямбда,
  • спектр,
  • Ключевые слова, такие как
    • заправлять
    • утверждать,
    • и вернуться.

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

Учителя часто предполагают, что знающие их студенты не обладают. Теоретически, реальные проблемы для продвинутого новичка пребывания с уменьшением и лямбдами. На практике вопрос в том, есть ли наши ученики, хотя и хорошо разбираются в основах Python, имеют подобную фирму по математике. Что если они не имеют абсолютно никакого представления о том, что может быть факториалом или Икс! Обозначение?

Таким образом, мой второй совет для учителей будет:

  • Никогда не принимайте ничего.

Но вернемся к Python. Я считаю, что ни при каких обстоятельствах следует научить вместе довольно сложные концепции, как, например, лямбда и уменьшают. Почему? Потому что оба они заслуживают разлученного объяснения и занять некоторое время, чтобы поглотить их правильно.

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

Но что если некоторые инструкторы объекты, она уже объяснила все раньше, в том числе факториал и лямбдас, поэтому функция уменьшения остается единственным предметом для уточнения?

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

Таким образом, мой третий и последний совет:

  • Упростить и повторять.

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

lambda x,y: x+y

# changed to
def add(x,y):
    return x+y

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

Заключить:

  • Одна вещь за раз.
  • Никогда не принимайте ничего.
  • Упростить и повторять.

Оригинал: “https://dev.to/hanpari/how-to-teach-your-programming-language-or-anything-else-5cpe”