Язык программирования Python в школе

Форумы Программирование в школе Язык программирования Python в школе

В этой теме 9 ответов, 4 участника, последнее обновление  896205 .

  • Автор
    Сообщения
  • #30404

    Уважаемые коллеги! Я — Дмитрий Михайлович Златопольский, редактор-составитель интернет-журнала для учащихся «Мир информатики». В этом разделе сайта появились 2 комментария, связанных с языком программирования Python.
    Так как к использованию Python в школе у меня отношение, которое можно выразить известной шуткой: «У меня есть мнение, но я с ним не согласен» ( 🙂 ), то мне хочется знать ваше мнение по этому языку. Есть у вас опыт преподавания? В каких классах? Насколько глубоко вы «вошли» в язык? Как его воспринимают дети?
    Пожалуйста, поделитесь своим опытом и выскажите ваше мнение.
    Спасибо.

  • #30597

    Boris
    Участник

    Опыт начала обучения языку Питон (Python)
    (гимназия № 1925, Михлин Б.С.)
    У меня довольно скромный опыт обучения Питону. Но, может быть, он сможет чем-то помочь тем, кто только приступает к изучению этого языка в школе.
    Основной целью при изучении языка было улучшение подготовки учащихся к ЕГЭ, олимпиадам и повышение их интереса к программированию.
    Несколько лет я присматривался к этому языку и к его включенности в ЕГЭ. После того как Питон прочно стал одним из пяти языков ЕГЭ и мне дали по четыре часа в неделю в 10 и 11 классах в физико-математических группах я решился начать обучать этому языку. Учился сам и одновременно учил детей.
    Основные преимущества Питона при подготовке к ЕГЭ:
    — Компактная запись алгоритма (язык более высокого уровня, чем традиционный для школ Паскаль).
    Ученик (и учитель) меньше тратит времени на написание и чтение алгоритмов. Следовательно, на уроке и дома можно успеть решить больше задач. Можно быстрее написать задачу № 27 ЕГЭ или решить олимпиадную задачу.
    — Использование отступов для выделения структур сделало ненужным операторные скобки и точку с запятой в конце строк.
    Это позволяет концентрироваться на алгоритме (внимание не рассеивается на деталях) и уменьшает количество синтаксических ошибок. Это важно для задачи № 27 ЕГЭ и олимпиадных задач.
    — Наличие мощных библиотек.
    Упрощает решение задачи № 27 ЕГЭ и других сложных задач. Например, для сортировки списка (массива) достаточно просто использовать функцию сортировки.
    — Современный и развивающийся язык программирования
    Вобрал в себя достижения других языков. Ученикам нравится освоение одного из современных языков программирования. Их привлекает возможность использования его после школы.
    — Многоплатформенность и бесплатность.
    При изучении Питона в качестве теории я использовал главу 8 «Алгоритмизация и программирование (10 класс)» для Питона К.Ю. Полякова и «Презентации к главе 8»
    (http://kpolyakov.spb.ru/school/probook/python.htm).
    В принципе этой главы достаточно для первоначального освоения языка старшеклассниками и учителем без привлечения дополнительных книг и учебников.
    В качестве задачника с автоматической проверкой я использовал сайт дистанционной подготовки по информатике (http://informatics.msk.ru) с авторским курсом Д.П. Кириенко:
    «Д.П. Кириенко. Программирование на языке Python (школа 179 г. Москва)» (http://informatics.msk.ru/course/view.php?id=156).
    В этом курсе во Введении (http://server.179.ru/wiki/?page=DenisKirienko/Python) есть ссылки на установку Питона (версии 3.4.1) и оболочки Wing IDE (версии 5.0.6).
    Дополнительно в курсе Д.П. Кириенко есть ссылки на видео лекции МФТИ.
    Есть также «Интерактивный учебник языка Python» (http://pythontutor.ru).
    Считаю, что опыт обучения языку был успешным. Планирую изучать Питон после КуМира и Исполнителей с 8 по 11 классы при 1-4 часах в неделю.

  • #30598

    Уважаемый Борис,

    спасибо за подробную статью.
    Мне интересно, рассказываете ли Вы о специфических возможностях Python. Например, одной из типовых задач программирования является задача подсчета количества элементов массива/списка, равных некоторому заданному значению.
    В большинстве языков для решения надо рассмотреть все элементы и, если элемент равен заданному, увеличить значение переменной-счетчика на 1. В Python есть стандартная функция, возвращающая искомый результат. С одной стороны, использование этой функции время сэкономит (например, на экзамене), но, с другой. — ученик не будет знать про переменную-счетчик и не сможет решить задачу подсчета количества элементов массива/списка, обладающих заданными свойствами, например, четных. Или ту же же первую задачу, но на другом языке.
    «Классический» вариант решения — универсальный и позволяет решить задачу подсчета количества как для заданного значения, так и для элементов с заданными свойствами.
    То же самой и с максимумом/минимумом.
    Например, количество максимальных элементов можно найти одной инструкцией с помощью двух встроенных функций.
    Как, по-Вашему, нужно давать «традиционные» методы решения или только Питоновские?

  • #30599

    Boris
    Участник

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

  • #30609

    Уважаемый Борис,

    спасибо — это правильно…

  • #30702

    Вот мнение, которые высказал мне в личной переписке Владимир Моровиков, г. Воронеж:

    ===================
    Python № 1 за рубежом.
    Надо его сделать № 1 у нас.
    ===================

  • #35889

    Maikos
    Участник

    рекомендую начать с онлайн курсов по питону, например этих https://imprium.ru/courses/kursy-python-online

  • #36085

    Коллеги,
    сообщаю, что в издательстве «ДМК-Пресс» вышла моя книга «Основы программирования на языке Python»

    https://dmkpress.com/catalog/computer/programming/python/978-5-97060-552-3/

  • #36185

    896205
    Участник

    Добрый день.
    Имею опыт преподавания программирования начиная с 6-7 классов. Делал это на Паскале. В этом году перешел на Питон и нисколько об этом не жалею.
    Выбрал следующую модель преподавания:
    использую Черепашку (модуль Turtle) и с её помощью в наглядно-прикладной форме решаю различные задачи. Вот некоторые из задач:
    — редактор для графических диктантов (рисунки по клеточкам)
    — визуализация колебательного процесса (груз на пружине)
    — настольные игры
    — создание геометрических чертежей
    Планирую использовать возможностей Питона (арифметика с дробями, множества, комплексные числа) при обучении математики.
    Моё мнение — Питон это персональный язык, позволяющий любому пользователю решать стоящие перед ним задачи. В корне не согласен, что вначале надо изучать «классические» методы решения задач (любых). Питон помогает развивать творческие возможности, свободу мышления.

Для ответа в этой теме необходимо авторизоваться.