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

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

Существующие пропедевтического курса ("Ступеньки к информатике", "Сокровищница знаний") имеют в своем составе средства для развития операционного и алгоритмического мышления - исполнители "Ракушка", "Осьминожка", "кенгуренка", использование которых целесообразно в 2-4 классах младшей школы. Вместе с тем не существует программ пропедевтики программирования в 5-6 классах. Применение в этих классах "взрослых" языков программирования не является целесообразным, поскольку у детей еще слабые навыки абстрактного мышления, необходимые для полноценного программирования, т.е. необходимо использовать языки и среды программирования, специально разработанные для обучения, с учетом психофизиологического и интеллектуального развития детей - учебные языки программирования, большинство из которых являются начальным или промежуточным звеном перед работой в средах программирования профессионального уровня. У старших классах в изучении программирования преобладает Паскаль. Это обусловлено, прежде всего, существующими пособиями по информатике, которые направлены на использование определенного типа программы - Free Pascal, ABC Pascal, ALGO, средства объектно-ориентированного программирования Delphi.

Детский научный лагерь

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

Переходим от компьютерных игр к помощи в учёбе в школе

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

Языки программирования для школьников для детей

  • LightBot - игрушечное среду для самых маленьких (можно использовать с 5-6 лет). Необходимо запрограммировать движение "виртуального" робота. Несмотря на простоту, с помощью LightBot можно не только формировать операционное мышление ребенка, но и изучать такие понятия программирования, как подпрограммы-процедуры.
  • RoboMind - простое среда программирования, которая позволяет начинающим программировать поведение "машинки"-работа. Здесь в доступной форме изучаются популярные методы программирования и основы "искусственного интеллекта". Робот может программироваться на разных языках.
  • Karel, Karel + +, Karel J. Robot - языка для начинающих, они используются для составления программ управления "роботом". Karel использует собственный язык программирования, Karel + + - язык программирования C++, Karel J. Robot - версия Karel на Java.
  • Guido van Robot - роботом управляют с помощью программы (как в Karel J. Robot), за синтаксисом похожим на Python. Это свободно расширенная программа, работа с которой может быть началом к изучению любого языка программирования.
  • Greenfoot - учебная, объектно-ориентированное Java-среду, разработанное прежде всего в учебных целях. Greenfoot позволяет разрабатывать программы для моделирования и диалоговые игры.
  • Little Wizzard - среда программирования для детей, предназначенное для изучения основных элементов программирования в начальной школе. Используя только мышку, дети получают возможность составлять программы и изучать такие понятия, как переменные, выражения, ветвления, условия и логические блоки. Каждый элемент языка программирования представляет собой интуитивно понятный символ.
  • Peter - средство визуального программирования, предназначенный для простого и быстрого создания приложений для Windows 95/98/NT/ME/2000/XP. Принцип работы похож на разработку графической презентации с созданием программной структуры для управления объектами. Составление программы несколько напоминает составление головоломки из отдельных частиц.
  • Стрелка - программа - тренажер для развития алгоритмического мышления и формирования навыков составления управляющих алгоритмов.
  • Ступеньки к информатике - пропедевтический курс, предназначенный для учеников 2 - 4 классов. При его изучении учащиеся овладевают основными навыками работы с компьютером, развивают логическое мышление, путем работы с обучающими программами получают компьютерную поддержку знаний и навыков, приобретенных на других уроках, учатся использовать компьютер для составления текстов и рисования, знакомятся с понятием алгоритма, основными алгоритмическими структурами и учатся составлять алгоритмы различных действий, развивают свои способности.
  • Logo - язык, который был специально разработан с целью обучить детей программированию. В современных реализациях Logo виртуальный агент под названием «ракушка», перемещением которого можно программно управлять, используется для того, чтобы сделать программирование привлекательным для детей, сосредотачивая их внимание на построении изображений с его ("ракушки") помощью. Logo разрабатывался как для того, чтобы помочь детям выучить основные понятия программирования, так и для их интеллектуального развития в мире, где все более доминируют информационные и коммуникационные технологии. На сегодня Logo успешно применяются в различных сферах - от начального знакомства с компьютером и программированием в школе к изучению проблем искусственного интеллекта и моделирования экологических систем в университетах.
    Logo широко распространен - как вильнопоширювани, так и коммерческие версии среды программирования является практически для любой операционной системы.
  • Scratch - визуальный язык программирования, которая была разработана Lifelong Kindergarten Group из MIT Media Lab, для обучения программированию детей, т.е. обучение в смысле "садишься и начинаешь делать что-то интересное". Scratch основан на традициях языков программирования Squeak и Logo. Основная цель этого проекта - научить детей основным понятиям программирования путем создания программ-проектов, содержащих программируемые объекты. Scratch позволяет создавать интерактивные приложения путем комбинирования блоков-команд, привлекая различные графические объекты, изображения, звуки и музыку. Благодаря простоте и достаточно мощным возможностям даже начинающие могут создавать собственные разработки, тем самым получая мотивацию для дальнейшего изучения программирования. Вокруг Scratch сложилась международное сообщество, членами которого может быть каждый, кто программирует в этой среде.
  • Etoys основан на идее программируемых виртуальных объектов, которые существуют и взаимодействуют в "мире", размещенном на экране монитора компьютера.Основные идеи учебно-развивающих сред таких как Etoys и Scratch: "все окружающее являются объектами"; программа - это уже не текст, который компилируется, а лишь потом "выполняется", а "живое море объектов, с каждым из которых возможно общаться ". Работа в среде можете "общения" с этим "живым морем" - есть возможность рассмотреть и изменить любой объект; процесс разработки и процесс выполнения является нераздельным. Etoys обеспечивает простое и одновременно мощное среду разработки с идеологией "объектной модели "для различных объектов, созданных пользователями, которые могут включать 2D и 3D-графику, изображения, текст, веб-страницы, видео, звук и MIDI, возможность совместно работать с другими пользователями Etoys в реальном масштабе времени, как в локальной сети, так и через Интернет. Графическая среда используются не только для изучения детьми понятий программирования, но и может быть использовано для моделирования физических явлений, решения математических упражнений и т.д.. Etoys многоязычное, оно успешно используется в США, Европе, Южной Америке, Японии, Кореи, Индии, Непале и многих других странах для работы с детьми 9-12 лет.
  • Squeak - современная, открытая, полнофункциональная реализация среды и объектно-ориентированного языка программирования Smalltalk. Squeak используется как средство для создания чрезвычайно широкого диапазона проектов - от мультимедийных приложений и разнообразных образовательных платформ (таких как Scratch и Etoys) к разработке веб-серверов. Программные средства, разработанные с помощью Squeak, чрезвычайно легко переносятся в среду любой операционной системы, поскольку код программы выполняется (интерпретируется) "виртуальной машиной" Squeak - эта технология была заимствована при разработке языка программирования Java.
  • BASIC - язык, который был разработан 1964 для обеспечения работы с компьютерами студентов-неспециалистов. Он стал довольно популярным с конца шестидесятых годов, а в конце семидесятых и начале восьмидесятых годов - стандартным языком программирования для персональных компьютеров. BASIC была направлена именно на потребности изучения программирования: речь должна была быть чрезвычайно простым для использования начинающими, иметь возможность разработки диалоговых программ, обеспечивать достаточно быстрое выполнение программ и понятные сообщения об ошибках в них, не требовать знаний аппаратной строения компьютера или вызовов операционной системы. На сегодня BASIC продолжает быть языком, который довольно часто применяют для обучения программированию, несмотря на определенную критику со стороны специалистов-программистов.
  • Visual Basic.NET является свободно доступным для загрузки средой программирования.
  • SmallBASIC - ограниченная версия Visual Basic, которая была разработана как "первую" язык программирования, с целью легкого ее изучения, в этом языке есть всего лишь 15 команд-операторов. С помощью специфических библиотек объектов можно создавать различные приложения - от игр до сетевых. Система использует Microsoft Visual Studio IDE, чтобы обеспечить авто-завершение команд и контекстночутливу справку.
  • Gambas - свободно расширенный аналог Visual Basic. Его используют для программирования и изучения BASIC в среде операционной системы Linux.
  • BASIC-256 - легкий вариант BASIC, разработанный именно для изучения детьми основ компьютерного программирования. Для обеспечения понимания программного управления он использует традиционные управляющие BASIC-структуры (gosub, циклы, goto). BASIC-256 имеет встроенный графический режим, который позволяет учащимся создавать изображения на экране за несколько минут.
  • SiMPLE - система разработки программ которая была создана чтобы обеспечить возможностями простого программирования для каждого, особенно для непрофессионалов. SiMPLE несколько похожа на AppleSoft BASIC. SiMPLE имеет встроенный компилятор, кроме того SiMPLE позволяет пользователям создавать собственные библиотеки функций. "SiMPLE" - общее название трех несколько различных языков програмуванння: Micro-SiMPLE, в которой используются только 4 команды-операторы, и Pro-SiMPLE и Ultra-SiMPLE, имеющие по 23 операторы.
  • Baltie - учебное графическая среда и средство программирования для детей и молодежи. Baltie не делает никаких особых требований к знаниям детей, благодаря чему эта среда используется во многих странах для изучения программирования в основной школе. Новая версия Baltie 4 полностью поддерживает программирование в C#.
  • Kid"s Programming Language (Phrogram) - язык программирования и интегрированное развивающую среду разработанное 2006 года. Имеет развитые средства для работы с графикой и звуком, используя их для разработки игр и учебного программного обеспечения. KPL является упрощенной структурной языке программирования, в которой есть такие компоненты, как классы и методы. Средство разработки приложений похож на современные IDE, такие как Eclipse или Visual Studio.NET.
  • Pascal - самый известный язык, который был разработан именно с учебной целью. От конца семидесятых до восьмидесятых годов Pascal был основным языком при изучении информатики (программирование) как в Соединенных Штатах, так и в Европе. Его использования для обучения программированию и на сегодня очень большая, несмотря на исключительно образовательное направление этого языка программирования, и на растущую конкуренцию со стороны C, Java и Python.
  • AgentSheets - среда для программирования, разработки игр и моделирования явлений, инструмент, достаточно простой для понимания учащимися общеобразовательной школы, и достаточно мощный, чтобы позволить учеными космического агентства НАСА создать модель полезной нагрузки корабля "Шаттл". С помощью AgentSheets можно создавать как игры (анимация, взаимодействие, звук, синтез и распознавание речи (на компьютерах Mac)) и научные приложения (построение изображений и графиков, распечатка электронных таблиц, построение 3D-изображений (Mac)).
  • Alice - бесплатное среда программирования в котором программируется поведение управляемого объекта. Среда имеет современный интерфейс IDE и возможность работать с 3D-объектами. Потенциальные пользователи - ученики, однако специалисты признают его учебное и развивающее значение.
  • Stagecast Creator - визуальная система программирования. Пользователи размещают объекты на экране и формируют для них правила поведения. Таким образом можно создавать презентации, динамические модели явлений, игры, диалоговые истории.

Применение учебных языков программирования не является альтернативой изучению традиционных языков программирования в старшей школе - они являются лишь средством пропедевтики, средством формирования алгоритмического стиля мышления учащихся (по А. П. Ершовым).

43-летний мужчина отправил своих двух дочерей в возрасте восьми и десяти лет для занятий по кодированию праздников в прошлом году. Уроки программирования обучают их логическому и четкому мышлению. Это ценный навык, который помогает в повседневной жизни и в любой отрасли, которая занимается компьютерами; они не обязательно должны стать программистами, чтобы извлечь пользу из занятий, - сказал он.

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

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

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

Кратко о дальнейшем обучении

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

Но еще интереснее оказалась часть проекта, ориентированная на работу со школьниками. Я принимаю непосредственное участие именно в этой части, поэтому хочу рассказать о ней.

Проблема школьного обучения программированию

Почему нужно работать именно со школьниками? Мне кажется, что наибольшего успеха можно достичь, начиная обучать учеников 8-9 класса - в дальнейшем обучаемость снижается. Детей успевают «научить плохому» школьные учителя информатики, в том числе они часто отбивают интерес к программированию, в результате остаются только те, кто готов учиться «не благодаря, но вопреки» - те, кто в любом случае будут стремиться стать программистами, «технарями». Имеющие же меньшую тягу к этой области, но весьма способные ребята, к сожалению, отсеиваются уже на этом этапе.

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

Многие школы, которые обслуживают маленьких детей, учат Царату. Может ли ваш ребенок быть будущим программистом? Это может показаться маловероятным, но обучение детей кодированию становится все более распространенным - да, даже в начальных школах. Итак, что вам нужно знать о том, как помочь вашему начинающему Биллу Гейтсу понять этот сложный навык?

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

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

Могут ли дети начальной школы действительно справиться с кодированием?

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

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

Методика И. Р. Дединского
Поиск методик преподавания, отличных от современных школьных шаблонов, вывел нас на замечательного, увлеченнейшего человека - Илью Рудольфовича Дединского. Он работает старшим преподавателем в московском Физтехе (МФТИ) плюс учителем в физматшколе, и добивается со школьниками потрясающих успехов - его ученики уже в 9-11 классе пишут программы, по сложности соответствующие 3-4 курсу технического вуза (!) - компиляторы, трехмерные движки, моделируют физические процессы, осознанно работая с проектами значительно большего объема, чем можно ожидать даже от студентов. Причем, что важно, Илья Рудольфович добивается таких результатов регулярно. Это не звезды, это обычные ученики (правда, из физматшколы). Как говорит он сам, «методику нужно судить по середнякам». «Звезды» будут всегда, отстающие, увы - тоже. Уровень же, достигнутый основной частью группы - вот истинный показатель качества применяемой методики и работы учителя. Примеры достижений его учеников приведены на сайте Ильи Рудольфовича, в частности, это работа десятиклассника Ивана Шаповалова Платформа для машинно-независимого исполнения программного кода с возможностью JIT-компиляции и коллективная работа Леонида Столярова (9 класс), Федора Петряйкина (9 класс) и Никиты Уварова (7 класс) Платформа для автоматной многоагентной системы в стиле 3D-Action .

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

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

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

Ищете одну из самых горячих программ после школы? У вас есть программа «Кодирование для детей», наши инновационные курсы для начальных и средних школьников, которые обучают навыкам компьютерного программирования через интерактивные и захватывающие проекты. Эти классные занятия идеально подходят для детей, у которых отличное воображение, например, выяснение того, как все работает или просто нравится технология.

  1. «Учить только хорошему». Дети должны сразу, с первого занятия видеть перед собой правильные, хорошие цели и правильные, хорошие примеры. Если не обратить внимания на какие-то вещи (например, форматирование кода), пустить их на самотек, дети сделают это так, как «поймут» сами. Впоследствии их придется переучивать, а это всегда намного менее продуктивно, чем учить правильно с самого начала. Поэтому на первом же занятии дети узнают, как правильно пользоваться пробелами и отступами, и почему важны пустые строки, разбивающие программу на логические фрагменты. С первых же занятий вводится понятие качества имен, и от детей требуется использовать понятные имена для переменных и функций.
  2. «Учить программированию, а не языку». Все понятия, даваемые детям, выводятся как инструмент решения проблемы. Даже не совсем так: сначала формулируется проблема, дается возможность её «пощупать», попробовать решить имеющимися средствами (в качестве домашнего задания или вместе с преподавателем в классе). Например, мы умеем рисовать на экране домик (у нас уже есть такая функция). Давайте нарисуем на экране 5 домиков друг за другом. Задачу, безусловно, можно решить, вызвав функцию 5 раз. Но, проверяя технологию, мы задаем вопросы: а если надо будет 10 домиков? 50? 100? А если 4? А если столько, сколько поместится на экране? Или столько, сколько введет пользователь программы? Затем детям предлагается обсудить, как можно было бы решить эту проблему, и обычно они сами, с некоторой помощью преподавателя, формулируют с той или иной степенью приближения идею цикла. Лишь только затем рассказывается синтаксис оператора цикла в выбранном для обучения языке программирования.

Последовательность задач

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

Одна из проблем современного школьника, даже математически образованного, иллюзия компетентности в работе с компьютером (все знают, как скачать музыку или установить Skype) и одновременно страх и неуверенность перед программированием («это сложно, мне никогда не понять»). Поэтому для снятия этого страха на первом же занятии детям предлагается поиграть в деловую игру, которая на первый взгляд не имеет отношения ни к компьютерам, ни к программированию . В ходе игры участники воображают себя владельцами рекламного агентства, в которое приходит некий заказчик (преподаватель) и хочет заказать рекламный баннер. Но какой именно, не объясняет, ссылаясь на усталость, и предлагает задавать ему вопросы, из ответов на которые и будет составлен контракт. Такое вот завуалированное обсуждение ТЗ. На все вопросы о деньгах, установке баннера, разрешениях на установку и прочем успокаивает: «Это не проблема. Деньги есть, разрешения есть, не первый раз такую рекламу вешаем, рабочие уже вызваны». Подвох в том, что баннер нужен завтра , а его размер - 100 на 400 метров . Что же он с ним таким огромным будет делать?

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

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

Зачем нужен баннер (монолог вредного заказчика)
«Понимаете, я владелец крупной торговой сети «Чайник анлимитед». Мы продаем любую посуду - от коллекционных чашечек тончайшего фарфора до металлических чайничков. Вот недавно продали в Эмираты сервиз… миллионов за 50, из платины. Сейчас переговоры с Китаем на крупные поставки недорогой посуды. Так вот, я открываю магазин в вашем городе, и так получилось, что совершенно забыл про рекламу. Помощник заболел, а у меня из головы вылетело. Дату открытия сдвинуть не могу - все распланировано, заказано, будет ущерб для репутации… Я, честно говоря, сегодня с этим вопросом был у ваших конкурентов, мы много говорили, пили чай, все было очень мило, но… в последний момент они сказали, что у них какие-то сложности, и заказ они не возьмут. И я пришел к вам. В общем, нужен баннер. Хотя бы один. Я немного устал от разговора у ваших конкурентов, поэтому не хотел бы снова излагать детали заказа, и поэтому давайте так - если вы что-то хотите спросить или уточнить, то спрашивайте, и это и составит текст нашего договора.»

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

Где мы предлагаем кодирование для детей

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

Только для этого ей, вероятно, позавидуют многие преподаватели: После того, как Надин Штюбер коротко объяснила ученикам, что им делать дальше, в комнате становится тихо. С полной концентрацией дети работают на своих компьютерах - в своей первой собственной игре.

Кто же это сделает?
После неожиданных ответов о размерах и сроках этого у ребят наступает легкий шок. Это важный момент: они узнают, как существенно выяснить все детали до начала работы, даже если их не было в явном виде в задании. Фактически, это игровой тренинг на составление ТЗ. Когда эта фаза закончена, преподаватель «выкатывает на сцену» «секретное оружие» - выясняется, что у дизайнерской фирмы есть знакомый художник, который-таки может нарисовать требуемый баннер в срок. Но живет этот художник в дальней глуши, и единственный способ с ним связаться - позвонить по телефону. Тип он вредный, разговаривать с ним нужно аккуратно и точно, а то чуть услышит незнакомое слово - бросит трубку и придется звонить снова. Дальше идет список фраз, которыми с ним нужно разговаривать: установи холст, установи цвет, нарисуй линию и т.д. Фактически, так вводится абстрактный исполнитель («Тупой художник») и его система команд. Но не лишь формально, а с привязкой к ситуации, что воспринимается учениками гораздо более естественно.

Далее дети сообща «звонят» «тупому художнику» (роль которого играет преподаватель) и команда за командой управляют «художником», который выполняет их действия - ну или «обижается» на синтаксическую ошибку и бросает трубку, и тогда диалог начинается снова. По сути это исполнение первой программы на псевдокоде исполнителем в режиме интерпретации. После 4-5 неудачных попыток программа написана.

Десять девочек и четверо мальчиков - класс из Вангена возле Олтена - делают первые шаги в программировании этим утром. Чтобы решить эту довольно простую задачу - игровое программирование - студенты используют среду программирования, специально разработанную компьютерным ученым Александром Репеннинг. Здесь дети получают лишь несколько объяснений, чтобы справиться со сравнительно сложными задачами.

Учитесь у себя дома

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

Языки программирования для детей

Языки программирования - это искусственные языки для общения между человеком и компьютером.

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

Программа на псевдокоде

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

Программирование семинаров и хакатонов

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

Включи библиотеку (включи в свою голову знания из нее о том как рисовать) Главная работа Начало Установи холст 100 400 Установи цвет красный Линия 25 300 75 300 Линия 25 300 50 100 Линия 50 100 75 300 Установи цвет зеленый Окружность 65 200 40 Установи цвет синий Линия 40 180 20 80 Вернуть результат Конец
Система команд подобрана так, что псевдокод максимально соответствует программе на Си.

Программирование обучения с детьми - советы для родителей и учителей

Молодежные хаки: на веб-сайте вы найдете не только много полезных ссылок и советов по различным инициативам, событиям и онлайн-программам, но также датам для так называемых «хакатонов», которые размещаются по всей Германии. Здесь молодые люди в возрасте от 12 до 18 лет встречаются и работают над своими идеями и проектами под руководством наставников. Там дети учатся в мастерских по-разному, например, роботу или игре для программирования. Они помогают найти доступ к материи, добраться до Конгресса и ответить на вопросы. Они организуют всемирные семинары по программированию и технике. . Хотели бы вы разрабатывать и реализовывать свои собственные программные или технологические проекты и идеи со своими детьми или учениками?


Программа на C++

#include "TXLib.h" int main() { txCreateWindow(100, 400); txSetColor(TX_RED); txLine(25, 300, 75, 300); txLine(25, 300, 50, 100); txLine(50, 100, 75, 300); txSetColor(TX_GREEN); txCircle(65, 200, 40); txSetColor(TX_BLUE); txLine(40, 180, 20, 80); return 0; }
Библиотека TXLib.h (TX означает «тупой художник») разработана Ильей Рудольфовичем и предоставляет простой API для рисования различных рисунков, работающий под Win32. Подробнее с ней можно ознакомиться на его сайте .

Программа на псевдокоде

На стороне ассоциации «Образование, инновации, миграция, социальное совершенство» есть вдохновляющее и понятное руководство: осуществление деятельности с детьми и молодежью. Справочник по творческому цифровому дизайну. Больше советов по воспитанию и мысли о компетенции СМИ в отношении детей.

Почему программирование вообще важно для детей?

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


Как уже говорилось, при записи этой программы особое внимание уделяется форматированию - пустым строкам, делящим программу на логические фрагменты, отступам и пробелам, позволяющим легко читать программу. В дальнейшем преподаватель придает этому очень большое значение и ворчит, пока ученик не оформит код должным образом: «Спрашиваешь, почему вот этот твой код не работает? Да кто ж его знает -в нем сходу не разберешься. Имена все однобуквенные, пробелов нет, отступы поставлены случайно… Сделай, чтобы программу было легко читать, тогда помогу найти ошибку».
Кратко о дальнейшем обучении
Домашним заданием после этого занятия является написание программы, рисующую несколько героев будущего мультфильма. Функция main сразу распухает до 50-100 строк, а у некоторых увлеченных учеников и больше. Поэтому на втором же занятии вводим понятие «функция» - пока без параметров, вида void DrawMan(),- и таким образом разбиваем программу на части. Для часто использующихся цветов вводим понятие «константа» и называем появляющиеся в программе константы понятным образом. Упор делается именно на понятность имен функций и констант. Фактически, это занятие о группировке кода и именовании.

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

После этого пробуем сделать анимацию - движущиеся объекты, простейший «мультик». Вводим понятие «цикл» (и здесь же локальные переменные). Опять упор на понятные имена переменных, на отступы в цикле. Пишем цикл, в котором рисуются персонажи мультика. Уже на этом этапе дети начинают рисовать достаточно сложные и эффектные сцены: например, у одного из моих учеников был нарисован домик, над которым «пролетало» солнце от восхода до заката, затем луна. Цвет всего рисунка менялся в зависимости от положения солнца (луны) на небе. Словами это описать непросто, но выглядело весьма эффектно.

Когда у функций становится ну очень много параметров, вводится понятие «структура», и объекты мультфильма описываются в виде структур. Снова делается упор на понятность имен структур и их полей, на логичность группировки данных в структуры.

Затем обсуждается возможность использовать написанный код повторно, для создания другого мультика с теми же персонажами. Вводится понятие «библиотека» (на этом этапе все складывается в один.h файл, раздельной компиляции не вводим, так как это весьма трудно для понимания всеми начинающими). Предлагается оформить функции в библиотеку, использовать её самим в программе, документировать, снабдить примерами работы с ней и дать пользоваться товарищам. Товарищи же, получив чужую библиотеку, пробуют её использовать и пишут рецензию, по итогам которой выпускается новая версия библиотеки (фактически, это выпуск SDK и peer review).

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

В процессе написания игры возникает необходимость обработать нажатия клавиш пользователем - появляется такая конструкция как «ветвление». В принципе, ветвление может появиться и раньше, но у меня необходимость в нем возникла только в этом месте. Сравните с классическим курсом, где if дается чуть ли не первым же оператором, а о функциях говорят ближе к концу, отчего ими пользуются мало, «развивая» в себе умение писать «макаронный» код. Позднее появление if вызвано спецификой выбранного проекта - «мультфильм», при другой последовательности учебных задач, оно может быть введено даже раньше цикла. Но в этом проекте движение (цикл) более актуально чем вариативность (ветвление) и работа условия в цикле более наглядна.

Что характерно, детям весь первый год не рассказывается о глобальных переменных. Наоборот, везде подчеркивается локальность переменных и параметров функций. Что «вот этот „икс“ в этой функции и вот тот „икс“ в другой функции - совершенно разные, никак не связанные между собой».

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

Итог

Я занимаюсь со школьниками по этой программе примерно один учебный год (с прошлого октября). Режим занятий - 2 раза в неделю, одно занятие - 3 академических часа (120 минут, включая десятиминутный перерыв). Группа разновозрастная, от 8 до 11 класса. Но результатом я могу гордиться - дети действительно научились решать задачи самостоятельно. Уверен, что мои ученики 8-9 класса школьные разделы по программированию 10-11 класса пройдут с легкостью. Последний раз, когда было дано задание написать программу «Угадай число» (компьютер загадывает, игрок угадывает по принципу «больше-меньше» - двоичный поиск) все справились с ней самостоятельно. Я просто ходил и наблюдал, как дети итеративно накручивают функционал - почти все начали с главной проверки (if на совпадение/больше/меньше), потом «обернули» её в цикл, потом начали добавлять «украшения». В результате, после нескольких замечаний, получился код, за который мне никак не стыдно. Разумеется, это далеко не самая сложная задача, которую ученики способны решить, но этот пример оказался для меня очень показательным, поскольку дал возможность увидеть самостоятельную работу с начала и до конца за один урок.

Могу сказать, что, по моему мнению, взятая нами за основу методика обучения И. Р. Дединского, - это большой прогресс в области обучения детей программированию. Она подводит базу под процесс обучения, позволяет систематизировать его, заинтересовать детей, показать им, что программирование - это очень интересно, позволяет дать детям больше знаний и навыков в области программирования, чем традиционная школьная программа. Но хочу отметить, что эта методика предъявляет немалые требования к преподавателю. Многие не всегда осознаваемые нюансы (например, выбор преподавателем чересчур абстрактного имени для функции или переменной ради сокращения записей, или введение глобальных переменных для «упрощения» объяснения работы функций) имеют далеко идущие неприятные последствия, которые нужно хорошо осознавать. Преподаватель должен обладать опытом практического программирования, чтобы внятно объяснить, почему нужно делать именно так, а не иначе, и очень желательно на примерах из практики (а не через запреты без объяснений). Он должен уметь быстро разбираться в коде учеников, оценить его состояние и последствия его развития, представить себе, мог ли подобный фрагмент кода быть использован в реальном проекте. Допустим, оставленная неинициализированной переменная: на учебной машине она не всегда приводит к ошибке, но при смене компилятора/версии компилятора/версии ОС/фазы луны может приводить к неопределенному поведению программы. Неудачные имена переменных, нарушение стиля: почему здесь все с большой буквы, а тут с маленькой? почему здесь «верблюжий» стиль, а здесь через подчеркивание? -вот некоторые из «мелочей», из которых складывается не только функционально рабочий, но и чистый, правильный, профессиональный код, и на это преподаватель должен обращать особое внимание. К сожалению, без практического опыта этот навык приобрести довольно сложно. Практический опыт, кроме того, хороший аргумент. При объяснениях я часто использую пример «… и улетели вы в отпуск на Таити. А тут - бац, ошибка в вашем модуле! Коллеги в панике, разобраться в вашем коде быстро не могут, вас срочно отзывают из отпуска -и вот вы прямо в пляжных шортах оказываетесь на рабочем месте». Немного преувеличено, конечно, но суть передает.
Назад к тексту)

Метки: Добавить метки