«Карандашное» программирование в пропедевтическом курсе информатики
методическая разработка по информатике

Нестеров Максим Викторович

В работе представлена система заданий среды карандашного программирования Pencil Code, которая может выступать дополнительным ресурсом для обучения программированию наряду с ЛогоМирами и Scratch. В работе сделан акцент на возможность использования данной среды в как пропедевтическом курсе информатики, так и на возможность включения в курс подготовки в области методики обучения информатике студентов педагогических специальностей, дисциплин компьютерной подготовки будущих воспитателей и учителей начальной школы.

 

Скачать:


Предварительный просмотр:

УДК 37.372.8.372.851

«Карандашное» программирование в пропедевтическом курсе информатики

©Нестеров М. В.

Студент

Саратовский государственный

университет им. Н.Г.Чернышевского

г. Саратов, Россия. nesteroffmaksim@gmail.com

©Храмова М. В.

к.п.н., доцент кафедры информационных

систем и технологий в обучении

Саратовский государственный

университет им. Н.Г.Чернышевского

г. Саратов, Россия. mhramova@gmail.com

Аннотация. В работе представлена система заданий среды карандашного программирования Pencil Code, которая может выступать дополнительным ресурсом для обучения программированию наряду с ЛогоМирами и Scratch. В работе сделан акцент на возможность использования данной среды в как пропедевтическом курсе информатики, так и на возможность включения в курс подготовки в области методики обучения информатике студентов педагогических специальностей, дисциплин компьютерной подготовки будущих воспитателей и учителей начальной школы.

Ключевые слова: карандашное программирование, Pencil Code, обучение программированию, пропедевтический курс информатики, информатика в начальной школе

        Основным трендом современного десятилетия стала “цифровизация”.  Рассуждая о цифровом поколении, цифровой экономике, цифровой педагогике, цифровой школе, обучении людей различных возрастных групп в современную эпоху, исследователи задают направления исследований. Среди которых одним из важных вопросов представляется вопрос о содержании понятия “цифровая грамотность”, а также вопрос о том, когда и каким образом начинать обучение подрастающего поколения соответствующим навыкам. Популяризатор терминов “цифровые аборигены” и “цифровые иммигранты” пересмотрел взгляды и предложил другие [1, 2].

Несмотря на рождение в “цифровую эпоху”, умение пользоваться современными технологиями не всегда переходит из количественных характеристик в качественные [3]. Это говорит о том, что этим учащимся, как и всем  остальным, необходимо обучаться “информационным” навыкам, чтобы в полной мере использовать имеющиеся в их распоряжении инструменты и технологии.  И если ряд авторов предлагает обращать внимание на утрату, прежде всего, социальных навыков, то в данной статье мы предлагаем остановиться именно на технической составляющей: формированию алгоритмический умений и пропедевтике программирования.

В Российской Федерации, несмотря на более чем тридцатилетнюю историю обучения информатике в школе, пропедевтический курс информатики по-прежнему, занимает неустойчивое положение: остается “дополнительным” к другого рода предметам. Например, согласно государственным образовательным стандартам 2004 года [4] в начальной школе  предмет информатика и ИКТ мог преподаваться  как часть дисциплины “Технология” (федеральный компонент). В соответствии с ФГОС начального общего образования [5], информатика является частью предметной области “математика и информатика”. Это зачастую приводило к тому, что в силу различных причин акцент делается на “технологической” составляющей курса. Однако, даже анализируя ФГОС дошкольного образования [6], можно сделать вывод,  что основы алгоритмического мышления должны закладываться уже даже в таком юном возрасте (до 6 лет).

Линия алгоритмизации и  программирования всегда остается сложной  для понимания учащимися любого возраста и трудоемкой для педагога. “По вопросам преподавания данной линии разработано большое количество методических рекомендаций. Однако большинство учебно–методических разработок предназначено для базового и профильного курса…” [7].

Сложности возникают для выбора  языка в пропедевтическом курсе. Сложилась определенная практика по  использованию Лого, ПервоЛого, КуМир, Алгоритмика или таких сред, как Сквик, Alice, Scratch - все они  позволяют реализовать обучение с учетом возрастных особенностей школьников.

        По нашему мнению, в пропедевтическом курсе самое сложное - это “не отбить” желание у ребенка изучать этот школьный предмет дальше, поэтому, помимо простой подачи информации, необходимо представлять информацию наглядной и красочной.  Поэтому в  данной статье нам бы хотелось рассмотреть возможности среды  блочного и текстового программирования PencilCode.

        “Pencil Code – это среда блочного программирования, имеющая свои особенности и преимущества. Это – привлекательный для детей сервис для рисования, проигрывания музыки, создания игр и экспериментирования с математическими функциями, геометрией, графиками, веб-страницами, для моделирования и алгоритмов. Обучение построено на графических блоках с кодом” [8].

        К сожалению, на сегодняшний момент сложно найти качественную литературу по обучению программирования в среде Pencil Code. В Интернете представлено большое количество статей, но при этом полномасштабных (бесплатных) самоучителей мало, но всё же найти их можно. Одним из таких самоучителей является книга Дэвида Бау “Pencil Code. Букварь программирования” (оригинальное название: “Pencil Code. A Programming Primer” David Bau) [9]. К сожалению, данная книга на английском языке. Принцип работы с данной книгой очень простой, Д. Бау назвал его так: “100 маленьких проектов” (оригинальный текст: “100 Little Project”). Суть  принципа заключается в следующем: весь курс обучения состоит из 26 частей, начиная с простых проектов, в которых нужно просто нарисовать линию или домик, и заканчивая проектами, в которых нужно написать код игры “Крестики-нолики”. После 100 маленьких проектов есть дополнение, в котором автор предлагает более сложные программы. По словам Д. Бау, комментарии для кода не нужны, ученику просто нужно попробовать перенести этот код в компилятор и подумать, как это всё работает. При этом сложность данной книги в том, что Д.Бау использует возможность текстового программирования на языке CoffeScript, не обращая внимания на возможности блочного программирования. Это делает книгу сложной для восприятия детям, не знакомым с программированием.

        Помимо самоучителей, которых, как мы уже отметили, мало, в Интернете можно найти большое количество бесплатных курсов, которые шаг за шагом позволяют изучить Pencil Code. Мы рассмотрели курсы Шувикиной Евгении [10], Марины Краюшкиной [11] и Екатерины Кравцовой [12] и примеры проектов  на сайте Екатерины Кравцовой на русском языке. На основе этих идей выполнили и разработали систему заданий для освоения карандашного программирования младшими школьниками.

        Задание 1.

        Изобразим разноцветные круги/квадраты друг на друге по следующему принципу: каждый последующий меньше предыдущего. Цвет кругов/квадратов: на усмотрение ученика.

        Примечание: задание для детей начальной и средней школы.

        Решение: для выполнения данного задания нам потребуется использование инструментов dot/box. У первого инструмента 2 входных параметра - цвет точки и диаметр, у второго — цвет квадрата и длина стороны. Код с решение и результатом для кругов представлен на (рис. 1а, 1б), для квадратов — (рис. 2а, 2б).

Рис. 1а. Решение  Задания 1: «Круги». Блочное программирование

        Рис. 1б. Решение Задания 1: «Круги». Текстовое программирование

Рис. 2а. Решение Задания 1: «Квадраты». Блочное программирование

Рис. 2б. Решение Задания 2: «Квадраты». Текстовое программирование

        

Задание 2.

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

        Примечание: задание подойдёт, как для начальной школы (задание повышенной сложности), средней школы (задание средней сложности), так и старшей школы (задание легкой сложности).

        Решение: для выполнения данного задания нам необходимо познакомиться с командами блока Move:

  • moveto(x, y) – переход в точку с координатами (х; у)
  • movexy(x, y) – смещение на (х; у) относительно текущего местоположения
  • jumpto(x, y) – «прыгнуть» в точку с координатами (х; у)
  • jumpxy(х; у) - «прыгнуть» на (х; у) относительно текущего местоположения

        Также необходимо познакомиться с инструментом pen из блока Art, который позволяет менять цвет линии и её толщину. С инструментами dot и box знакомы с предыдущего задания.

        Код с решением и результатом представлен на (рис. 3а, 3б)

Рис. 3а. Решение Задания 2. Блочное программированием

Рис. 3б. Решение Задания 2. Текстовое программирование. Для экономии места скрыта строка 1: «speed 5»

        Задание 3

        Создадим геометрические фигуры с помощью команд движения/поворота (fw, bk, rt, lt), пера (pen), прыжка (jumpto), поворота (turnto) и заливки (fill)

        Примечание: задание подойдёт как для начальной школы (задание повышенной сложности, на усмотрение педагога), средней школы (задание повышенной сложности), старшей школы (задание средней сложности).

        Решение: алгоритм выполнения данного задания весьма прост.

  1. Создадим несколько геометрических фигур, для каждой из которых на холсте определим своё место. К вершине фигуры будем перемещаться с помощью команды jumpto(x; y), где х, у — координаты точки на холсте. Прорисовывать фигуры будет с помощью пера (pen) и команды движения moveto(x; y), где х, у — координаты точки на холсте.
  2. Для того, чтобы после прорисовки фигуры черепашка смотрела вверх, используем команду turnto 0
  3. Зальём каждую фигуру определённым цветом fill (заливка)

        Код [13] с решение и результатом представлен на (рис. 4а, 4б)

Рис. 4а. Решение Задания 3. Блочное программирование

Рис. 4б. Решение Задания 3. Текстовое программирование

        Задание 4

        Необходимо загрузить картинку и написать, что на ней изображено. Для примера возьмём фотографию с котом и напишем слово «КоТ». Важно! Чтобы загрузить изображение в проект, необходимо вставить URL-адрес, поэтому, если изображение хранится на компьютере, необходимо предварительно загрузить его на любой хостинг.

        Примечание: задание подойдёт как для средней школы (повышенная сложность), так и для старшей школы (средняя сложность)

        Решение: для выполнения данного задания нам необходимы команды pen из блока Art, moveto и jumpto из блока Move.

        Код [14] с решение и результатом представлен на (рис. 5а, 5б)

Рис. 5а. Решение Задания 4. Блочное программирование

Рис. 5б. Решение Задания 5. Текстовое программирование

        Задание 5

        Необходимо построить любой рисунок, используя циклы. Мы в своей статье приведем пример из общедоступной папки guide [15].

        Примечание: задание вариативное, поэтому его уровень сложности зависит от рисунка. Не рекомендуется задания для младшей возрастной категории.

        Решение: ко всем командам, изученным в прошлых заданиях, добавляем блок циклов (control)*. В нашем примере мы рисуем одуванчик, лепестки которого создаются с помощью повторяющейся группы операторов: движения вперед, потом назад и поворота на определенный градус, вычисляемый по формуле 360/n, где n - количество лепестков одуванчика.

        Код с решением и результатом представлен на (рис. 6а, 6б)

Рис. 6а. Решение Задания 5. Блочное программирование

Рис. 6б. Решение Задания 5. Текстовое программирование

        Задание 6

        Pencil Code поддерживает использование вспомогательных алгоритмов (функций). Для закрепления данной темы необходимо создать пейзаж, используя вспомогательные алгоритмы и циклы.

        Примечание: задание рекомендуется давать после объяснения теоретического материала по теме функций и процедур.

        Решение: для описания вспомогательного алгоритма, выберем соответствующую конструкцию в Operators и отредактируем его в текстовом режиме.

        Код [16] с решением и результатом приведен на (рис. 7а, 7б).

Рис. 7а. Решение Задания 6. Блочное программирование

Рис. 7б. Решение Задания 6. Текстовое программирование.

        Протестировав ресурс, можно сказать, что Pencil Code стоит внимания каждого педагога, желающего привить любовь его учеников к программированию. Разные игры, представленные на данном сервисе тренируют не только навыки программирования, а также развивают фантазию ребёнка. Огромным плюсом является работа не только с играми, но и со звуком и графикой. Единственная проблема — отсутствие заданий, поэтому педагогу необходимо заранее продумать, чем занять детей на данном ресурсе.

        Думаем, все согласятся, что современным детям повезло, ведь для них талантливейшие программисты разрабатывают среды для комфортного знакомства с программированием, отодвигая сложный и пугающий синтаксис Pascal и тем более Бейсика. И всё это благотворно влияет на то, чтобы мир пополнялся ещё более талантливейшими специалистами, но для этого нам, педагогам, необходимо самим подружиться с детскими сервисами.

По-нашему мнению, изучение “карандашного” программирования может быть включено в курс теории и методики обучения информатике студентов педагогических специальностей [17], дисциплины компьютерной подготовки будущих воспитателей и учителей начальной школы [18], а также курсы повышения квалификации педагогов. Сам язык может быть успешно применим как на урочных, так и на внеурочных занятиях.


Список литературы:

  1. Prensky, Marc. «Digital Natives, Digital Immigrants, Part II: Do They Really Think Differently?» // On the Horizon (NCB University Press, Vol. № 6, December 2001.
  2. Prensky, M. H. Sapiens Digital: From Digital Immigrants and Digital Natives to Digital Wisdom // Innovate: Journal of Online Education, v5 № 3 Feb-Mar 2009. 
  3. Valtonen,T; Dillon, P; Hacklin, S & Väisänen,  Net generation at social software: Challenging assumptions, clarifying relationships and raising implications for learning // International Journal of Educational Research 49 (2010) 210–219
  4. Федеральный компонент государственных образовательных стандартов начального общего, основного общего и среднего (полного) общего образования, 2004 год  [Электронный ресурс] http://www.edu.ru/documents/view/61154/ (дата обращения: 10.03.2019)
  5. Приказ Минобрнауки России от 06.10.2009 №373 (ред. от 22.09.2011) “Об утверждении и введении в действие федерального государственного образовательного стандарта начального общего образования” [Электронный ресурс] / URL: https://fgos.ru (дата обращения: 10.03.2019)  
  6. Приказ Минобрнауки России от 17.10.2013 N 1155 “Об утверждении и введении в действие федерального государственного образовательного стандарта дошкольного образования” [Электронный ресурс] / URL: https://fgos.ru (дата обращения: 10.03.2019)
  7. Храмова М.В., Феоктистова О.А. Использование языка Scratch в курсе теории и методики обучения информатики // Вестник Московского городского педагогического университета. Серия: Информатика и информатизация образования. 2008. № 16. С. 179-181.
  8. Владимир Завертайлов [Электронный ресурс] // Сибирикс [Электронный ресурс]:scrum-студия.- URL: https://blog.sibirix.ru/2018/04/18/children-code/ (дата обращения: 11.03.2019). - Загл. с экрана. -  Яз. рус.
  9. David Bau Pencil Code. «A Programming Primer» [Электронное издание] / Bau David // 2013. - С. 56  
  10. Персональный сайт -  Шувикиной Евгении Игоревны Карандашное программирование [Электронный ресурс]. - URL: http://shyvikina.my1.ru/index/karandashnoe_programmirovanie/0-74 (дата обращения: 15.03.2019). - Загл. с экрана. - Яз. рус.
  11. Сайт Марины Краюшкиной, учителя информатики МБОУ “Лицей №16”. Занятия в PencilCode [Электронный ресурс]. URL : http://top16bit.ru/index.php?razdel=Uchenikam&subrazdel=Kursi469&subcat=Zanyatiya_PencilCode (дата обращения: 15.03.2019). - Загл. с экрана. - Яз. рус.
  12. Блог Екатерины Кравцовой. Мастер класс «Pencilcode или карандашное программирование» [Электронный ресурс]. - URL : http://mk76pc.blogspot.com (дата обращения: 23.03.2019). - Загл. с экрана. - Яз. рус.
  13. Проект из папки открытого доступа Шелухиной Анастасии Львовны [Электронный ресурс]. - URL: http://sheluhina91.pencilcode.net/edit/ (дата обращения 23.03.2019)
  14. Открытый проект Кравцовой Екатерины [Электронный ресурс]. - URL:  http://rina87.pencilcode.net/edit/slovo (дата обращение: 23.03.2019)
  15. Открытый проект среды разработки PencilCode [Электронный ресурс]. - URL: http://guide.pencilcode.net/edit/loops/dandelion (дата обращения: 23.03.2019)
  16. Открытый проект Кравцовой Екатерины [Электронный ресурс]. - URL:  http://rina87.pencilcode.net/edit/flouwers (дата обращения: 23.03.2019)
  17. Голубцов В.Н., Храмова М.В. Подготовка будущих учителей начальных классов по дополнительной специальности "информатика" // Начальная школа. 2011. № 4. С. 90-93.
  18. Фирсова Т.Г. Из опыта Использования компьютерных технологий в подготовке бакалавров и магистров по профилю “Начальное образование” // В сборнике: Информационные технологии в образовании Саратовский государственный университет. 2015. С. 338-341.

По теме: методические разработки, презентации и конспекты

Интерактивное пособие к курсу "Информатика в играх и задачах"

Интерактивное пособие к курсу "Информатика в играх и задачах"  по программе Горячева А.В.В ресурсе представлены презентации к 13 урокам с типовыми упражнениями из 4-х разделов курса....

Внеурочное занятие по курсу "Информатика в играх и задачах", 1 класс

Занятие разработано для внеурочной деятельности по программе А.В. Горячева "Информатика в играх и задачах", 1 классВ ходе всего занятия используется интерактивная доска....

Пропедевтический курс естествознания в начальной школе как способ развития одарённости личности

В связи с происходящими социально-экономическими преобразованиями в государстве, приоритетностью инновационных форм развития производства, общества, личности проблема одаренности и организации р...

Программа пропедевтического курса начальной школы "Информационная азбука"

Данную авторскую программу можно использовать для проведения кружка по внеурочной деятельности с 1 по 4 класс. Цель программы:овладение младшими школьниками навыками работы на компьютере, умением рабо...

Программа интегрированного курса информатики и английского языка «В мире информатики на английском языке»

Программа интегрированного курса информатики и английского языка «В мире информатики на  английском языке» предназначена для работы с учащимися начальной школы. Рабочая программа рассчитана на 34...

Пропедевтический курс химии для младших школьников

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