Online-uroki.ru

Онлайн уроки и курсы
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Программирование в начальной школе

ОБУЧЕНИЕ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЮ В НАЧАЛЬНОЙ ШКОЛЕ Текст научной статьи по специальности «Науки об образовании»

Аннотация научной статьи по наукам об образовании, автор научной работы — Устюжанина Н.В.

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

Похожие темы научных работ по наукам об образовании , автор научной работы — Устюжанина Н.В.

TRAINING ALGORITHMS AND PROGRAMMING IN PRIMARY SCHOOL

The article considers topical issues of introducing new learning processes using interactive network technologies in the field of education. Features of the circle of Code .org for formation of algorithmic thinking of pupils of younger school age are revealed, experience among Code .org is presented.

Текст научной работы на тему «ОБУЧЕНИЕ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЮ В НАЧАЛЬНОЙ ШКОЛЕ»

МАОУ гимназия №18 г. Нижний Тагил, Россия

ОБУЧЕНИЕ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЮ В

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

Ключевые слова: информатика, программирование, начальная школа, Code.

Ustyuzhanina N. V.,

gymnasium № 18 Nizhny Tagil, Russia

TRAINING ALGORITHMS AND PROGRAMMING IN PRIMARY

The article considers topical issues of introducing new learning processes using interactive network technologies in the field of education. Features of the circle of Code.org for formation of algorithmic thinking of pupils of younger school age are revealed, experience among Code.org is presented.

Keywords: Informatics, programming, Primary School, Code.

Согласно Федеральному образовательному стандарту начального общего образования важными целями математического образования являются: формирование у обучающихся основ логического и алгоритмического мышления, умений записи и выполнения алгоритмов; умений действовать в соответствии с алгоритмом и строить простейшие алгоритмы; исследовать, распознавать и изображать геометрические фигуры; работать со схемами, представлять, анализировать и интерпретировать данные [6].

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

информатика сегодня в начальной школе разделена на технологический компонент, который изучается в рамках дисциплины «Технология», и теоретический компонент, вынесенный на уроки математики [3, 154]. Мы придерживаемся мнения, что информатика не должна ни сводиться к технологии, ни преподаваться как один из разделов математики. Это означает, что помимо информационных технологий, информационного моделирования и математических основ теории информации должно изучаться и программирование. Ввести курс «Информатики» можно при поддержке администрации школы за счет вариативной части стандартов второго поколения.

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

В 80-е годы прошлого века одни из основоположников теории искусственного интеллекта, создатели языка Logo Сеймур Пейперт и Алан Кей указывали, что средства, которые существенно меняют способы мышления, должны быть доступны ребенку как можно раньше [5].

С осенью 2014 года основы программирования начали изучать в школах Великобритании. Учащиеся начальных классов британских школ с помощью таких программных обеспечений, как MIT’s Scratch, Kodu, Logo учатся создавать простые программы по блокам, а в одиннадцать лет учащиеся должны иметь представление о базовых алгоритмических структурах и использовать их при создании учебных программ [2]. Финский проект Koodi 2016, учебные планы ряда таких стран, как Южная Корея, Эстония, Франция, Австралия также предполагают обучение детей основам программирования с начальных классов.

Следует отметить, что тенденцию раннего обучения программированию в школе поддерживают многочисленные ведущие компании в области информационных технологий, предоставляя доступные инструменты для программирования, но и также повсеместно поддерживают идею обучения программированию в школе. Огромное количество пользователей таких ресурсов, как MIT’s Scratch и AppInventor, Codecademy, Code.org и др. показывают растущий интерес современного общества людей к знанию и пониманию искусства программирования.

В таких средах процессе изучения программирования формируются специфические «функциональные мозговые органы». И очень важно, что эти «органы» формируются в общении и предметной деятельности ребенка [4]. Среда программирования — представляет переходные объекты, который служат метафорами, с помощью которых учащиеся превращают опыт телесных

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

Рассмотрим некоторые элементы методики обучения программирования учащихся младшего школьного возраста в среде Code.org. В процессе обучения информатики в начальной школе необходимо учитывать, что учащийся не может проводить за компьютером на уроке более 15 минут. Как следствие, урок необходимо делить на два взаимосвязанных этапа: на первом этапе учащиеся изучают новый материал по теоретической части информатики (например, кодирование информации), а на втором этапе — работают на компьютерах.

Можно выделить следующие особенности среды Code.org для формирования алгоритмического мышления учащихся младшего школьного возраста.

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

Другая особенность среды — двойное представление алгоритма — в виде блочного визуального языка и на языке javascript. Программирование исключает написание текста и производится простым перетаскиванием элементов из палитры. Чтобы программа заработала, достаточно написать несколько строчек кода, которые должны быть выполнены после нажатия на кнопку «выполнить». Наглядное отображение и интерактивное исполнение позволяет ученику видеть поэтапное выполнение алгоритма, дает возможность анализировать и корректировать алгоритм.

Третья характеристика среды — последовательность и системность в освоении возможностей языка программирования. Данный сайт содержит несколько курсов рассчитанных на разные возрастные группы: от изучения простых команд для детей четырех лет, до работы с циклами, переменными процедурами и функциями, ориентированных на учащихся 16-18 лет и старше.

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

Раздел Оценка Курс $ Ученики Login Info

23 S Курс 1 27 SQLSVZ V

2Б S Курс 1 11 QVWVZQ V

Рис. 1 Классы с указанием курса и количества учащихся

В качестве пароля для учащихся начальной школы можно использовать картинку (рис. 2), для более старшего возраста — кодовое слово. 2Б

Пршр^с: I Теисшыые ишшы I Т^: I ы/Си^сы I Рто)ес1ь I Пиима1р^1Ь си иник.у

Добавить несюпью учеников

Рис. 2 Данные об учениках класса

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

На уроках во 2 классе рекомендуется использовать первый курс. Желательно выполнять предлагаемые задания в начале учебного года, когда учащиеся только начинают знакомиться с компьютером. Задания третьего этапа направлены на работу с мышкой и составление картинок (Рис. 3).

Рис. 3. Пример задания начального курса.

На следующих этапах дети знакомятся с составлением алгоритмов для различных персонажей (Рис. 43).

Рис 4. Пример задания 1 курса.

В 3 и 4 классе можно переходить ко 2 и 3 курсам. На данном этапе команды в виде стрелок заменяются на команды, написанные на русском языке (Рис. 5). Выполняя задания на данных курсах учащиеся изучают линейные алгоритмические структуры, структуры ветвления и циклические структуры. При освоении этих курсов в средней школе можно рассмотреть функции и процедуры.

Место сбора блоков: О Начать заново

прыгнуть СШтаСТ на И»1 пиксели

переместить ГШЯРп на ИЯ»1 пиксели

повернуть 1И|ШАЛ на Л градусов

прыгнуть на ИД пиксели

Рис. 5. Пример выполнения линейного алгоритма.

Каждый курс состоит из нескольких этапов. Например, курс 2 состоит из 19 этапов. На каждом этапе задания можно условно разделить на 4 фазы формирования алгоритмического стиля мышления:

Читать еще:  Какое направление программирования выбрать

1. Введение алгоритма: актуализация знаний, открытие алгоритма учащимися, освоение основных шагов алгоритма (рис. 6).

Рис. 6. Знакомство с командами исполнителя.

2. Усвоение алгоритма: отработка отдельных операций, входящих в

алгоритм и усвоение их последовательности (рис. 7).

Рис.7. Отработка операций

3. Применение алгоритма: отработка алгоритма в знакомой и незнакомой

Рис.8. Составление алгоритма в новой усложненной ситуации

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

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

1. Code.org — Учится в студии кода [Электронный ресурс]. URL:https://studio.code.org (дата обращения: 27.11.20157)

2. Computing in the national curriculum. A guide for primary teachers. [Электронный ресурс]. URL: https://www.tes.co.uk/teachmg-resource/primary-computmg-guide6436709?s_cid%2FNNCR_C0_newprim (дата обращения: 27.11.2017)

3. Дженжер В. О. Место программирования в курсе информатики начальной школы // Вестник ОГУ. 2010. №9 (115), стр. 154-159

4. Леонтьев А.Н., Проблемы развития психики, М., Изд-во МГУ, 1981 г., с.214-218

5. Пейперт С. Переворот в сознаний: Дети, компьютеры плодотворные идеи: Пер. с англ./под. ред. А.В. Беляевой, В.В. Леонаса. — М.: Педагогика, 1989. -224с.

6. Федеральный государственный образовательный стандарт основного общего образования от 17.12.2010 г. № 1897. 50 с.

Программирование для школьников: руководство к действию

Марк Цукерберг считает, что «Программирование – это основной навык как чтение. В каждой школе должны учить писать код». C 11-и лет основатель Facebook изучал основы программирования под руководством личного наставника. Позже Цукерберг поступил в школу‑пансион, где продолжил усиленно заниматься программированием, результатом чего стало создание программы Synapse для запоминания музыкальных вкусов. Вовсе не обязательно посещать репетитора или профильную школу, чтобы научиться программировать. Родители могут обеспечить детям менее затратное обучение, для этого есть возможности, которых не было в юношеский период Цукерберга.

Младшая школа

Практика показывает, что основы программирования доступны для детей с 5-и лет. В Китае ребят обучают программированию уже в детском саду. Уроки по программированию с первого класса преподают в Эстонии с 2012 года. В AppStore можно найти приложение Bustin Jeiber, созданное разработчиком Томасом Суарезом в 12 лет, мальчик увлёкся написанием кода в 6. Для детей программирование может стать забавой, которая перерастаёт в профессиональное увлечение.

Учиться и играть одновременно

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

Если ребёнок увлекается компьютерными играми, его заинтересует создание программы для управления персонажем в Minecraft. Написание кода происходит с помощью визуального интерфейса: играючи, дети изучают операторы условия и циклы – важные концепции программирования.

С основами робототехники познакомят конструкторы, к которым прилагаются программируемые блоки, датчики и двигатели. Подобные продукты разрабатывает Lego. Компания выпускает наборы WeDo для детей от 7-и лет и Mindstorms для ребят от 10-и лет.

Программировать без компьютера

Занятия программированием настораживают родителей младших школьников: кажется, что у разработчиков рано развиваются проблемы со здоровьем. Привычный образ – человек с испорченными зрением и осанкой из‑за многочасовых сидений за компьютером. Обучение программированию не обязательно должно проходить постоянно за экраном. Существует образовательный подход без подключения (CS unplugged) к компьютеру. С помощью настольных игр детей учат неизменным концепциям в области компьютерных наук: алгоритмам, человеко‑компьютерному взаимодействию, искусственному интеллекту, теории информации, языкам программирования. Такое обучение развивает программистское мышление, а не приучает к использованию определённого программного обеспечения. Например, изучение двоичной системы счисления проходит с помощью карточек.

Средняя школа

В средней школе дети уже привыкли высиживать 45 минут на уроках, вызывающих тоску. Формальное изучение информатики может быть скучным, далёким от решения практических задач. Но не стоит ограничиваться школьной программой: программирование можно изучать на очных и онлайн курсах. Школьникам от 10-ти лет стоит попробовать создать прототипы реальных продуктов: сайтов, приложений, программ. «В средней школе можно приступить к изучению основ и языков программирования, подходов к разработке программного обеспечения», – отмечает Сергей Николаевич Цымбалов, преподаватель курсов по программированию на языке Java для школьников Учебного центра «Специалист».

Выбор языка программирования

При подборе направления обучения в первую очередь необходимо выяснить интересы ребёнка. Школьник увлекается компьютерными играми, ему следует взяться за язык, используемый при их разработке. Для начала подойдут Java или JavaScript. Любителям роботов стоит изучать Lua и Scala. Если ребёнку нравится, как выглядят сайты, направьте его в сторону разработки интерфейсов. Создавать сайты с нуля можно, используя простые технологии: язык разметки HTML и стилизации CSS. Школьник скачивает кучу приложений на свой и родительский смартфон, стоит подыскать ему курсы по разработке на JavaScript и Swift.

Занятия должны быть ориентированы на практику, с хорошего курса ребёнок вернётся со словами: «Посмотрите, чему я научился!».

Подготовка к олимпиадам

Если в 7-8-х классах понятно, что ребёнок увлечён программированием, есть смысл начать готовиться к олимпиадам: это длительный процесс, который займёт не менее года. Преподаватель курсов по программированию для школьников Учебного центра «Специалист» Сергей Цымбалов считает, что школьникам полезно участвовать в олимпиадах по программированию: «Чем больше практики, тем лучше. Участие в олимпиадах позволяет развить самостоятельность мышления, а также сравнить свой уровень знаний для дальнейшего развития».

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

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

Старшая школа

В последних классах одна из главных задач для будущего программиста – поступить в Высшее учебное заведение. Для этого нужно сдать ЕГЭ по информатике более чем на 80 баллов или выиграть олимпиаду. К экзамену возможно подготовиться за 10-11-й классы, заниматься олимпиадными заданиями лучше, начиная со средней школы.

Подготовка к ЕГЭ

В ЕГЭ по информатике представлены фрагменты программ на языках Паскаль, Бейсик, алгоритмическом языке, Python, С++. Как правило, на уроках информатики ограничиваются изучением первых трёх. Со школы стоит изучать язык программирования, используемый в практической деятельности. Из списка для ЕГЭ будущему программисту полезно знать Python, С++. «Школьнику достаточно изучить один или два языка программирования. Желательно тот, который является объектно‑ориентированным языком программирования высокого уровня. Можно выбирать из этого списка: JavaScript, Java, Python, C», – рекомендует Сергей Цымбалов, преподаватель курсов по программированию для школьников.

Подготовиться к ЕГЭ по информатике можно с репетитором или на курсах. Онлайн‑курсы по подготовке к ЕГЭ позволят учиться у лучших преподавателей вне зависимости от местонахождения ученика.

Знание информационных технологий даёт возможность работать в проектах, которые меняют мир. Зарплаты разработчиков в России на высоком уровне: средний заработок Java программиста в России 135 тыс.рублей, системного администратора 62 тыс.рублей. В 2016 году средняя зарплата в сфере информационных технологий поднялась на 8%, больше ни в одной отрасли такого роста не случилось. Программирование – один из главных навыков будущего, обладая им можно не беспокоиться о трудоустройстве в ближайшие 20 лет. Несмотря на карьерные перспективы в 2017 году ЕГЭ по информатике сдали только 7% всех выпускников, по данным «Федерального институт педагогических измерений». Программирование – сложный, но увлекательный предмет. Полюбить его можно, создавая собственными руками код, значимый не только на школьной лабораторной, но и в реальном мире.

10 игр, которые научат ребёнка программированию

«Я думаю, что в будущем все, а не только программисты будут связаны с элементами программирования», — считает Марк Цукерберг. Поскольку в этом будущем придётся жить нашим детям, пора подготовить их к трудностям, то есть научить программировать.

Читать еще:  Колледж программирования при правительстве рф

Зачем учить ребёнка программированию? Тем более если у вас растёт будущая балерина или футболист? Ответ простой: для того, чтобы научить логически мыслить и планировать свои действия. Родители хвастаются, что современные дети почти с пелёнок умеют включать планшеты и компьютеры. Интерес к технике и тягу к развлечениям можно совместить с обучением и развитием, предложив ребёнку игры, которые научат составлять алгоритмы и даже писать код.

Kodable

Как думаете, с какого возраста нужно начинать обучение программированию? Создатели Kodable утверждают, что их игра доступна двухлетним детям. Учиться коду можно раньше, чем учить буквы. Гонять по лабиринтам весёлые рожицы действительно могут даже малыши, а заодно осваивать составление программ, указывая последовательность действий. Подсказки и рекомендации выполнены при помощи графики, так что читать ребёнку ничего не придётся.

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

Code.org

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

Lightbot

В игре, доступной на смартфоне или планшете, маленький робот, подчиняясь командам, должен зажечь в нужных местах лампочки. Главная задача, которая при этом будет стоять перед ребёнком, — спроектировать путь игрушки при помощи простых команд. Задача родителя — объяснить малышам, что означают картинки.

Не факт, что ребёнок, играющий в Lightbot, вырастет гениальным разработчиком, но зато точно научится планировать действия и составлять простейшие алгоритмы. Это приложение тоже можно рекомендовать как одно из стартовых даже для дошкольников 4–6 лет. Разработчики предлагают и более сложную версию, которая подойдёт для детей старше девяти лет.

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

ПиктоМир

«ПиктоМир», разработанный НИИСИ РАН по заказу Российской академии наук, — наш ответ зарубежным аналогам. В НИИСИ РАН уже разработали систему «КуМир», в которой с программированием знакомятся старшие школьники, но игрового элемента в ней нет. «ПиктоМир», рассчитанный на дошкольников, получился увлекательным и очень доступным.

Робот раскрашивает поля, а ребёнок учится составлять алгоритмы. Все подсказки выполнены с помощью графики, поэтому «ПиктоМир» можно спокойно давать детям, не умеющим читать, начиная с пяти лет: заметно, что учёные постарались сделать действия понятными даже для малышей. Если родители не знают английского языка и ничего сами не понимают в программах, но очень хотят развивать логическое мышление у детей, «ПиктоМир» будет настоящим спасением. Мобильные версии доступны для iOS, Android и Windows Phone, но скачивать последние две придётся с сайта разработчика.

Robozzle

Выполнить задания и составить алгоритм движения стрелки по пазлу — такой смысл у игры, в которую могут сыграть уже младшие школьники. Правда, обыкновенная стрелка вряд ли увлечёт семилеток надолго, тем более если это будет первая из подобных игр. Зато может всерьёз заинтересовать школьников с десяти лет, уже знакомых с алгоритмизацией, потому что самые интересные головоломки, конечно, встречаются на более сложных уровнях. Robozzle предоставляет почти неограниченные возможности по созданию и поиску новых заданий, поэтому больше всего подходит не для изучения азов, а для постоянного повторения и практики.

Cargo-Bot

Ещё одна простая для освоения игра, на начальных уровнях которой комфортно будут себя чувствовать дошкольники. Поскольку текста в ней мало, детям достаточно различать отдельные буквы, чтобы выполнить первые задания и переложить ящики за меньшее число ходов с места на место. Над сложными комбинациями даже взрослые смогут задуматься надолго. Среди других обучающих и развлекательных приложений Cargo-Bot выделяется очень приятной картинкой. Кстати, Cargo-Bot был полностью спрограммирован на iPad.

CodeMonkey

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

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

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

Scratch

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

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

СeeBot

Нельзя забывать про классику, даже изрядно запылившуюся. Обучающие игры CeeBot появились в 2003 году как специальная разработка для образовательных учреждений. Изначально разработчики создали Colobot — игру о колонизации новой планеты, главная фишка которой была в том, что для управления персонажами нужно было писать свои программы.

CeeBot — игровой обучающий курс из нескольких заданий с подробными инструкциями. История про программируемых роботов на новой планете, уничтожающих местную фауну, конечно, для малышей не подойдёт, но для подростков, которые уже успели увлечься информатикой и представляют себе, что такое алгоритм, станет неплохим пособием. Выглядит CeeBot на фоне современных игр бледновато, но где ещё ребёнок будет управлять персонажами, создавая собственные программы, максимально приближённые к синтаксису С++?

CodeCombat

CodeCombat — это уже серьёзно, потому что в этой игре учат настоящий код и из победителя получится готовый программист. Вы выбираете язык программирования, на котором придётся писать команды для своего персонажа (игра предлагает Python, JavaScript, Lua или несколько экспериментальных вроде CoffeScript), и отправляетесь в путешествие за кристаллами.

Сажать за игру можно мальчишек и девчонок от восьми лет. Обучение и подсказки на русском языке, за $9,99 можно каждый месяц получать новые уровни для прохождения (первые 70 бесплатны). Игра может использоваться в школах, есть отдельные бонусы для учителей.

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

Программирование

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

Недавно я был на ежегодном Московском международном салоне образования (ММСО). Там одна из площадок была посвящена профориентации. Мне было очень отрадно услышать, что выступая перед учащимися один из приглашенных экспертов ( не из ИТ сферы, а из арт-дизайнеров) сказала, что одно из самых важных областей изучения для современного выпускника должны быть языки. Причем это не только иностранные языки, как английский или китайский, но и также важно знать языки программирования. Потому, что в ближайшем будущем все мы станем участниками взаимодействия между роботами, искусственным интеллектом, автоматизированными системами, занимающими все больше места в нашем обществе и человеком. Человек должен уметь общаться и управлять новыми автоматизированными системами. А это невозможно без знания базовых основ программирования и современных языков. Языки программирования это удобный компромисс между человеком и компьютером. То что понимает и компьютер и человек (точнее люди, использующие этот язык)

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

Компетенцию программирование можно разложить на две основные составляющие:

Первое это алгоритмическое мышление, формализация задачи, включая методы математического моделирования. Это требует соответственного склада ума и мышления, которые вырабатывается прежде всего практикой. Конечно есть здесь теоретические основы реализации некоторых алгоритмов, такие как «численные методы», и другие специализированные методы решения задач определенных, практических спектров, которые специалист должен знать. Однако чем больше человек практикует, решает каких-то задач, проектных заданий, тем больше у него развиваются алгоритмические способности. Алгоритмическое мышление начинает формироваться еще в начальной школе на уроках математики, информатики и затем главный этап формирования это средняя школа. Например интересны учебные пособия для начальных классов А.Г. Горячева серия «Информатика в играх и задачах» и О. Холодновой серия «Умники и умницы». Как учитель информатики в средней школе, могу сказать, что у современных школьников в 60-70% случаев эта компетенция развита слабо. Интересно что сами школьники подтверждают эту проблему. Недавно мы встречались с одним 9 классником, который написал приложение машинного обучения по тренировке памяти и логического мышления у школьников. В 7-8 классе у школьника вызывает затруднение описать, разложить по полочкам достаточно простой алгоритм действий. В этом и заключается главная проблема обучения современных школьников программированию. ( а не сложности и синтаксис языков) Поэтому главная задача это практика и практика…Составление действий, практических задач, различных игр и т.д. Очень хорошая практика здесь это игра в шахматы, где игрок должен планировать вперед алгоритм своих действий, учитывая возможные действия соперника. Можно практиковаться с раннего детства.

Читать еще:  Высшая школа экономики программирование

Второе это знание и умение применять современные языки программирования, для реализации алгоритмов и моделей. Знания синтаксиса языке, основных функций и библиотек реализующих различные возможности. Однако если у человека в голове не складывается алгоритм решения задачи, никакие современные языки не помогут. Опять же, здесь прежде всего помогает практика. В одном курсе по программированию эксперт высказал мнение, что для того чтобы получить начальную квалификацию программиста достаточную, чтобы быть принятым в команду программистов на младших ролях, необходимо написать как минимум 10000 строк кода. Кстати 10000 это такая магическая цифра. Помню мой тренер по борьбе говорил, что для того чтобы прием у борца стал коронным, он его должен повторить 10000 раз. На современных курсах профориентации говорят — чтобы стать хорошим специалистом надо посветить своему делу по крайне мере 10000 часов. Чем раньше начнешь, тем лучше. Отсюда главная задача — это практика и практика.

Главная проблема, возникающая у школьника, начинающего изучать программирования это вопрос: с какого языка начинать? на каком языке учиться программировать?

И это вопрос не простой. Языков, используемых в современном программировании огромное количество. В Интернете большое количество материала по классификации и критериям выбора языков. Я бы прежде всего порекомендовал большой обзор на ресурсе habr.com (очень полезный ресурс для ИТ специалистов) от преподавателя ВШЭ и Яндекса — Михаила Густокашина (довольно известный человек в этой сфере, по основной теме первые 35 мин, дальше там идут детали. которые можно пропустить), кроме того есть хорошие обзоры от ИТ Школы Samsung. Если вам интересны более короткие обзоры, могу предложить обзор от #SimpleCode — Какой язык программирования учить в 2018 году. Очень интересная схема выбора языка предложена — Какой язык программирования изучать новичку. Если хотите несколько запутаться, а потом все же распутаться предлагаю посмотреть.

Одним из важной особенностью современных языков программирования является использования парадигмы объектно-ориентированного программирования(ООП), где программа представляется как совокупность взаимодействующих объектов, как это и происходит в нашем реальном мире. Это в корне отличается от первоначальной парадигмы процедурного программирования, где программа представляется как совокупность процедур(частей программы) и структур данных. Больше узнать о ООП можно в небольшом видео от #SimpleCode — Что такое ООП простыми словами

Современные тенденции в использовании языков. Разные рейтинги (TIOBE, PYPL..) — формируется на основе частоты запросов о языках программирования в разных поисковиках.

По хорошему профессиональный программист должен знать по крайне мере 3 языка программирования. (и конечно же английский язык :- см. видео) Хорошо сказал Михаил — сейчас многое проекты используют сразу несколько языков для различных целей. Например Си для быстрых дисковых операций с данными, Java для интерфейса с пользователем и Javascript для скриптов. Или прототип пишется на Python, проверяется, а потом начисто переписывается на Java или С#. Наиболее ключевыми являются языки С++, Python и Java. (и кроме того последний HTML5/CSS) Эти языки покрывают основные направления: системное программирование, мобильные приложения и WEB и современную обработку данных. Михаил показывает, как в университете курс программирования охватывает все эти языки. Таким образом надо быть готовым, что вам придется программировать не на том языке на котором вы учились. Поэтому вы должны знать базовые основы программирования, которые позволят вам быстро освоить любой нужный язык и иметь хороший кругозор возможностей современных языков.

По мнению работодателей программист должен уметь 3 вещи:

  • Писать свой код и исправлять свои баги
  • Читать чужой код и его править
  • Работать в команде; программист — это не одиночка, а член большой проектной команды.

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

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

Большинство современных преподавателей (в том числе и Я) предлагают сейчас начинать с Python. Наиболее простой язык для начального уровня, легко пишутся программы, большое количество библиотек под реальные приложения по обработке данных, искусственного интеллекта, сетевого взаимодействия, 3D позволяют новичку писать реальные полезные программы с минимальными затратами. Начинать писать на этом языке уже можно с 7 класса. Более подробно о изучении Python можно найти на следующей странице.

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

Однако Scratch не единственная платформа для обучению детей программированию. Еще есть очень интересная платформа созданная компанией Microsoft Kodu Game Lab. С ее помощью ребенок может создать для себя виртуальный мир, населить его объектами и с помощью визуального логического программирования запрограммировать различные действия и игры в своем мире. Когда мой ребенок 3го класса увидел эту игру, я надолго лишился своего компьютера Загрузить ее можно с официального сайта Microsoft. Канал Kudu Game Lab на Youtube. Как обычно на Youtube можно найти большое количество примеров создания игр. Еще хороший начальный набор видеоуроков дает Creator.ru.

Другой важный ресурс для детей это Code.org Ресурс предлагает набор практических заданий по программированию игр различной сложности для детей от 4 до 18 лет. Попробуйте!

Если вам понравиться программирование и вы захотите связать с ним свою жизнь, то в 9-11 классах уже можно попробовать С++. (в результате всех обзоров понимаешь, что языкам C в ближайшем будущем нет серьезной альтернативы как универсальным языкам) Как говорит Михаил, для того чтобы выигрывать современные олимпиады, знание Python недостаточно. По сравнению с C++, Python работает медленней, и даже если вы будете использовать более продвинутые алгоритмы, ваши программы могут проигрывать. Кроме того язык С стоит ближе всего к hardware. Если вы хотите лучше всего понять как работает компьютер внутри и может быть в будущем стать «железячником» (ИТ инженером, а не программистом), то вам надо пробовать осваивать C. Для тех, кто хотел бы начать изучать C++ есть интересный начальный курс на Stepik. (от ВШЭ и Академии Яндекса). Еще на Stepik есть курсы и по другим языкам. Например базовый курс по Java от Yandex.

Однако если изучать один из наиболее востребованных для бизнес приложения язык Java, наверно его лучше изучать у современного разработчика Java — компании Oracle, которая в своей Oracle Academy предоставляет различные бесплатные варианты обучения. В частности это можно изучить самостоятельно с помощью технологии Alice.

Очень хорошая возможность для школьников, которые мечтают стать программистами — это поступление и окончание очной бесплатной годичной школы программистов Samsung. Сейчас она доступна в 20 городах России и школьники 9-11 классов могут подать заявку и пройти тесты в школу. Изучают здесь основы программирования на языке Java, объектно-ориентированное программирование, алгоритмы и структуры данных, основы программирования Android приложений, основы разработки серверной части мобильных приложений.

Интересны прогнозы, которые специалисты дают по развитию языков. Этот прогноз был дан в 2015 году экспертом Samsung и он подтверждается.. Например Python уже потеснил Java в рейтинге…

Ссылка на основную публикацию
Adblock
detector
×
×