Сапрыкин Денис. Преподаватель программирования.
Сможете определить, чему равно значение каждого фрукта? Детская загадка, которая поможет объяснить ребёнку смысл переменных и действия с ними. Даже ребёнку понятно, что в примере складываются не бананы, груши и яблоки. Складываются и вычитаются числа, которые заменили соответствующими фруктами. После такой загадки достаточно показать ребёнку аналогичный пример, где вместо картинок фруктов будут буквы, потом от букв перейти к словам. В конце можно показать код, в котором используются переменные. И ребёнок будет готов воспринимать переменные, участвующие в вычислениях.
Почему программирование в детстве учить сложно? Встретился с проблемой у родителя. Ребёнок за месяц создал десяток проектов, но они похожи друг на друга. Прогресса не наблюдается. Видимо, программирование ему не даётся... Программирование создавалось людьми для людей. А люди обладают жизненным опытом. И свой опыт они перекладывали в различные концепции программирования. Взять объектно-ориентированное программирование. Его принципы: - абстракция; - инкапсуляция; - наследование; - полиморфизм. Они очень хорошо понимаются любым человеком, который обладает богатым жизненным опытом. Разберём кратко эти принципы. Абстракция. Мы не говорим "ауди, бмв, тойоты, лады, жигули, форды, шкоды стоят в пробке". Мы говорим "машины стоят в пробке". Нам не важны в этот момент марки. Важны лишь общие параметры. Поэтому мы абстрагируемся и говорим "машины". Инкапсуляция. Вы пользуетесь, например, розетками? Думаю, ежедневно. А можете точно сказать, как проходят провода внутри стен квартиры? Скорее всего, нет. Это и есть инкапсуляция. Если бы провода не были скрыты в стенах, это было не безопасно. Наследование. Видели головастиков? Из них получаются лягушки. Из одного объекта получили второй объект. Причём, второй объект обладает некоторыми свойствами первого объекта. И превосходит его по некоторым параметрам. Вот и всё наследование. Полиморфизм. Кошки, собаки и коровы могут подавать голос. Но одинаково ли они звучат? Нет, звуки будут разными. Это и есть полиморфизм. Действие "издать звук" общее, а реализация разная. Стали ли вам ясны основы объектно-ориентированного программирования? Надеюсь, да. А теперь попробуйте прочитать этот текст детям и спросите, понятно ли им. И тогда дети ответят, что такое "головастик"? Обучение программированию - сложный и долгий процесс. Особенно у детей. Им нужно не только набираться знаний о языке программирования, но и жизненного опыта. Поэтому, если кажется, что ребёнок где-то застопорился, что у него нет прогресса, просто дайте ему время. Возможно, он просто ещё не получил необходимого опыта.
