Развитие алгоритмического мышление как условие успешного освоение курса «Алгоритмы» и «Начало программирования»

Разделы: Информатика


Свою статью я хочу начать с интересных строк из статьи академика Ершова (Академик Андрей Петрович Ершов (1931–1988) – один из зачинателей теоретического и системного программирования в СССР, создатель Сибирской школы информатики и неформальный лидер всего отечественного программистского сообщества. Его существенный вклад в становление информатики как новой отрасли науки и нового феномена общественной жизни широко признан в нашей стране и за рубежом) которая была написана в 1981 название статьи: «Программирование – вторая грамотность»: «Если развитие и распространение книгопечатания привело к всеобщей грамотности, то развитие и распространение ЭВМ приведет ко всеобщему умению программировать»

И у меня появился (возник) вопрос, спустя почти 30 лет после написания этой статьи, за которые действительно произошел огромный скачек в развитии и распространении ЭВМ присутствует ли в нашем современном обществе так называемое всеобщее умение программировать?

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

А ведь это поколение, которое мы называем поколением Z, а сейчас уже выделяют поколение Альфа, выросшее в мире цифровых технологий, в мире программ, в мире большого объема информации (big data) в мире гаджетов, в мире, где можно запрограммировать практически любое устройство, и всё же испытывают сложности при изучении раздела «Алгоритмы и программирование»

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

Поколение Альфа сегодня принято идеализировать: это они рождаются с гаджетом в руках и начинают «говорить» на цифровом языке едва ли не с пеленок;

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

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

И часто на уроках, по темам алгоритмы и исполнители (не важно это 4 класс или 8 класс) ребята не испытывают желание работать за компьютерами.

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

С каким противоречием мы сталкиваемся: с одной стороны, мы живем в мире технологий, в мире программируемых устройств, и в этом мире выросло новое поколение, но разделы алгоритмика и программирование всё также относится к трудно понимаемому разделу.

В чем же причина?

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

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

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

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

Что понимается под алгоритмическим мышлением?

Существует много определений понятия алгоритмического мышления.

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

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

Содержание и объём понятия "алгоритмическое мышление" рассматривались многими учеными и академиками: А.П.Ершовым, А.Г. Кушниренко, Г.В.Лебедевым, Ю.А.Первиным и др. оно определяется как «умение планировать структуру действии̮, необходимых для достижения цели, при помощи фиксированного набора средств»; «умение строить информационные модели для описания объектов и систем»; «умение организовывать поиск информации, необходимой для решения поставленною̮ задачи»

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

И тогда я начала изучать литературу и искать из чего же складывается алгоритмическое мышление.

Основными компонентами алгоритмического мышления являются:

  • структурный анализ задачи; умение строить информационные модели для описания объектов и систем, отображающей существующую систему отношений элементов как между собой умение организовывать поиск информации, необходимой для решения поставленной̮ задачи
  • разбиение большой задачи на малые: учение при решении сложной задачи разделить ее на более простые
  • планирование возможных ситуаций и реакций на них:
  • понимание и использование формальных способов записи решения (составление алгоритма)

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

Задачи:

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

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

1 компонент алгоритмического мышления: структурный анализ задачи

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

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

Пример 1. Тема «Компьютер – как система» (6 класс).

Пример 2: Тема «Решение задач с использованием графов».

2 компонент алгоритмического мышления разбиение большой задачи на малые

Пример 1: Тема «Системы счисления». 8 класс.

Задача: вычислите: (2589 +101002) / 2314

Вопрос: может ли мы выполнить операции с числами из разных систем счисления?

Как решить данную задачу?

1. Перевести числа в одну систему (десятичную)

2. произвести вычисления

3 компонент алгоритмического мышления планирование возможных ситуаций и реакций на них

Пример 1: 8 класс. Тема «Перевод десятичного числа в число системы счисления с основанием q».

Задание: перевести десятичное число 259 в двоичную с.с.с

При решении данной задачи учащиеся должны контролировать остатки, так как остатки это есть знаки, с помощью которых мы будем записывать число 259 в двоичной системе (в случае остатка, который не входит в нужную систему счисления, необходимо исправить ошибку)

Пример 2: 5 класс: задачи на переправы (планирование возможных ситуаций).

Пример 3: 5 класс при изучении темы «Метод координат» играем в игру «Морской бой» (стратегичсекая но

4 компонент алгоритмического мышления понимание и использование формальных способов записи решения (составление алгоритма)

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

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

Задача: 7 класс: рассчитать количество комбинаций (переписывать, строить дерево вариантов)

Пример: 8 класс: Перевод чисел из десятичной системы счисления в систему счисления с основанием q (на уроке строим блок-схему региня).

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

Я использую следующие приемы для мотивации учащихся:

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

Я стараюсь создать на уроках ситуацию успеха: при выполнении практических работ разрешаю работать парами.

Использую такие приемы как: Эпиграфы

  • к уроку по теме ветвления: На безрыбье и рак – рыба.
  • к уроку по теме вспомогательные алгоритмы: Хороша веревка длинная – программа короткая.
  • к уроку по теме цикл n раз:…упрямы вы, и все одно и то же твердить вам надобно сто раз!
  • к уроку по теме цикл «пока»: Коси, коса, пока роса;

Не даю алгоритм в чистом виде (блок схема разветвляющегося алгоритма, составить аналогичную)

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

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

Увеличения числа учащихся верно решивших задачу на составление алгоритма в школьном этапе олимпиады школьников.

Двое моих бывших учеников обучаются в Яндекс-школе.

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

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

Литература

  1. Ершов, А.П. Школьная информатика: концепции, состояния, перспективы [Текст] / А.П. Ершов, Г.А. Звенигородский, Ю.А. Первин. – препринт №152 ВЦ СО АН СССР, Новосибирск, 1979. – 51 с
  1. 2. Соклаков, Е.Н., Алгоритмическое мышление [Электронный ресурс]. URL: http://kursk-sosh41.ru/obychenie/metod-kopilka/31-biblioteka-statej/109-%20algoritmicheskoe-myshlenie.html"
  2. 3. Что такое алгоритмическое мышление [Электронный ресурс]. URL: http://algol.adept-proekt.ru/chto-takoe-algoritmicheskoe-mchlenie"
  3. Федеральный государственный образовательный стандарт
    основного общего образования
  4. Губина Т.Н. Елецкий государственныи̮ университет им. И.А.Бунина, г. Елец, Россия МЕТОДИЧЕСКИЕ ПРИЕМЫ РАЗВИТИЯ АЛГОРИТМИЧЕСКОГО МЫШЛЕНИЯ БУДУЩЕГО УЧИТЕЛЯ ИНФОРМАТИКИ
  5. Кушниренко, А.Г. 12 лекций о том, для чего нужен школьный курс информатики и как его преподавать [Текст] / А.Г.Кушниренко, Г.В.Лебедев. – Информатика. – 1999. - №1. – С.2-15.
  6. Лучко, Л.Г. Решение задач школьного курса информатики [Текст]: учебно-методическое пособие [Текст] / Л.Г.Лучко. – Омск: ОмГПУ, 2001. – 80 с.
  7. Газейкина, А.И. Стили мышления и обучение программированию студентов педагогического вуза [Электронный ресурс] / А.И.Газейкина // Информационные технологии в образовании. 2006. Режим доступа: http://ito.edu.ru/2006/Moscow/I/1/I-1-6371.html