Мой способ знакомства учеников младших классов с Python

    В наше время большинство детей знакомится с миром программирования через создание проектов на платформе scratch.mit.edu Создание проектов происходит путем соединения разноцветных блоков без ввода кода с клавиатуры (вводим только значения переменных).

    Однако, дети взрослеют, им становится тесно в мире Scratch, и в этот момент им можно предложить несколько путей развития.

    Некоторые, как мой сын Артём, вдоволь поработав в графическом редакторе Scratch выбирают кружок изобразительного искусства.

    Другие ребята — фанаты 2D игр, продолжают делать более профессиональные игры на платформе Construct.

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

    Вот пример простейшего проекта на Scratch в котором ребенок вводит с клавиатуры только 2 числа.



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

    Почему именно к Python?
    Еще несколько лет назад с Питоном пытались конкурировать Pascal и Basic, но сейчас сайт hh.ru показывает что количество вакансий с упоминанием этих языков на порядки отстает от Python.

    Россия, IT, Телеком
    5 807 вакансий «Python»
    262 вакансии «Pascal»
    44 вакансий «VB.NET»

    И под Pascal на hh.ru подразумевается Delphi, а не PascalABC, используемый в школах.
    (На всякий случай вот фанатская подборка литературы по PascalABC для расширения кругозора pascalabc.net/rubantsevbooks )

    Пару лет назад я решил познакомить своих учеников с Python и начал искать литературу по этой теме. Книг по Питону для детей оказалось совсем немного, и ни одна из них меня полностью не удовлетворила — пришлось снова, как и истории про Scratch habr.com/ru/post/234823, изобретать все самому.

    Что же не так в этих книгах? Общая проблема — там много кода. И если для учеников старших классов это не критично, они за 20 минут смогут вколотить программу на 30-40 строк, то для учеников начальной школы это огромная проблема.

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

    Небольшой обзор литературы с моим личным рейтингом.

    Небольшой обзор литературы с моим личным рейтингом
    3 место
    Python for Kids archive.org/details/PythonForKids/mode/2up
    Вот отзыв об этой книге от vectorplus из Канады.
    Книга “Написана легким языком, с юмором, детям нравится. У неё есть недостаток, свойственный многим книгам по программированию. Как в известной шутке — как нарисовать сову. Овал — круг — сова. От простых понятий слишком резкий переход к достаточно сложным концепциям.” Подробности в статье habr.com/ru/post/485424
    Ну и список проектов: сначала проекты с черепашкой, которые подходят для начальной школы, а потом 20 страниц делаем игру теннис, и потом 60 страниц делаем игру про Стикмана (код игры на 6 страниц), а это уже для старшеклассников.

    2 место
    Python для детей Автор: Ханс-Георг Шуман
    www.litres.ru/hans-georg-shuman/python-dlya-detey-48411263
    Здесь больше коротких проектов, но в конце также мощная игра про насекомых на 40 страниц. Малыши осилят только первую часть книги.

    1 место
    Вордерман, Вудкок, Макаманус: Программирование для детей. Иллюстрированное руководство по языкам Scratch и Python www.labirint.ru/books/481230
    В этой книге есть и про создание проектов на Scratch (всего 3 проекта) и про Python (4 проекта). Проектов немного, но они хорошо пошагово расписаны с мельчайшими подробностями, но несмотря на это книга не поможет в проведении занятий на кружке. Но это хороший самоучитель для детей 10-12 лет, которые занимаются самостоятельно.

    Не обнаружив на просторах интернета подходящего учебника я придумал собственный способ знакомства детей с Python, и помогла мне в этом платформа trinket.io.

    На этой платформе есть возможность работать онлайн со следующими языками программирования:

    • Блочный язык Blockly
    • HTML
    • GlowScript
    • R
    • Java
    • и конечно Python

    причем в платной версии ($3 в месяц) можно использовать Pygame для создания игр!



    А главным открытием для меня стало то, что блочный тринкет, в три клика превращается в код на Python! Первый клик — просмотр кода.



    Ещё пара кликов — преобразование блочного тринкета в тринкет на Python.



    Готово!

    Ученик получает программу на Python, которую создал без долгого мучительного поиска символов на клавиатуре. Теперь учитель может провести аналогии с блочным языком, рассказать о синтаксисе и дать задание изменить координаты, чтобы квадратик превратился в прямоугольник.



    Также теперь ребенок может «копипастить» чтобы собрать более сложный проект, например как этот с рисованием картинки.



    Вот так и появился мой курс по Python для учеников начальной школы в котором они знакомятся с этим языком программирования. Сложные проекты не создаем, работаем в рамках 45 минутного урока. По-новому смотрим на циклы и условия, знакомые по программированию на Scratch, разбираемся с числовыми и текстовыми переменными, о которых раньше вообще не задумывались. Знакомимся со сложными типами данных, учимся работать со срезами и различными методами. Чтобы детям было интересно, кроме узоров с черепашкой создаем картинки из символов ACSII, рисуем смайлики Каомодзи и создаем картинки из символов юникода.

    Котик со списком.



    Гусеница с двумя списками.



    Картинка из символов юникода со словарем.



    Работа с объектами.



    Ну и конечно моя любимая игра «Путаница» — простая, но очень веселая!



    Платформа trinket.io — отличный помощник в деле знакомства школьников младших классов с языком Python. Но не так давно я обнаружил еще одну шикарную платформу, которая позволяет программировать на Python в мире Minecraft. Это платформа progkids.com созданная отечественными разработчиками. Платформа платная, но недавно авторы платформы разместили на Facebook промокод FREESELFCOURSE который дает две недели доступа бесплатно.

    Под эту платформу я тоже разработал кучу уроков codim.online/pythonvm которые позволяют освоить более сложные темы, такие как вложенные циклы и многомерные массивы.

    from mc import world, blocks, player
    
    for i in range(5):
    	for j in range(5):
    			for k in range(5):
    				world.buildHome(5 + (j * 5), 0 + (k * 5), 0 + (i * 10), 5, 5, 5, blocks.WOOD)
    



    Рисуем смайлики с помощью массивов.

    from mc import *
    
    heart = [ [[	0,   0, 152,   0,   0],
    			[   0, 152, 152, 152,   0],
    			[ 152, 152, 152, 152, 152],
    			[ 152, 152, 152, 152, 152],
    			[   0, 152,   0, 152,   0]] ]
    
    scull = [[  [   0, 173, 173, 173,   0], 
    			[   0, 173, 173, 173,   0],
    			[ 173, 173, 173, 173, 173],
    			[ 173,   0, 173,   0, 173],
    			[   0, 173, 173, 173,   0]] ]
    					
    world.setBlocks(0, 3, 0, sad)
    world.setBlocks(0, 3, 7, heart)
    world.setBlocks(0, 3, 14, scull)
    world.setBlocks(0, 3, -7, butterfly)



    Платформа имеет кучу встроенных функций, облегчающих создание построек, позволяет спавнить существ, управлять дронами, строить города, ~~грабить корованы~~, копать метро, строить тоннели и бункеры, обкладывать все динамитом и… и делать еще много интересного!



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



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

    И в честь дня весеннего равноденствия и наступления астрономического лета всем читателям в подарок первые 8 уроков курса знакомства с Python по промокоду PYTHON2020.

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

    В каком возрасте оптимально знакомить детей с Python?

    • 46,0%10-1140
    • 17,2%12-1315
    • 18,4%14-1516
    • 1,2%16-171
    • 1,2%после 171
    • 16,1%Вообще не надо знакомить14
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 2

      0
      Фактически реклама платных видео по 500 р штучка.
        0
        Выводы тут напрашиваются сами собой: нечего знакомить учеников младших классов с Python. Я когда-то начинал учить бейсик в 6 лет. Было очень тяжело! В 6 лет ребёнок слегка умеет читать, знает цифры, умеет складывать/отнимать. Но умножать/делить пока не умеет, английский знает плохо, в клавиатуре не ориентируется, бегло читать не умеет. В итоге перед ребёнком встаёт задача попросту выше уровня его текущего развития, что весьма демотивирует. Я в 6 лет бросил, ничего не получалось. Вернулся в 9 и дело пошло значительно бодрее. Так и тут — ученикам младших классов я бы рекомендовал таскать котов в скретче, в качестве игры. А лет с 10 уже не будет проблемой набрать пару десятков строк кода.

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

        Самое читаемое