Особенности преподавания дисциплины «основы алгоритмизации» при подготовке учителей информатики
В настоящее время возрастает потребность общества в грамотных, теоретически вооруженных педагогических кадрах, способных решать прикладные задачи в области информатики, требующих фундаментальных знаний. При решении задач по программированию данные знания необходимы на этапе построения математической модели решения задачи. Однако, практика показывает, что данному этапу уделяется неоправданно малое… Читать ещё >
Особенности преподавания дисциплины «основы алгоритмизации» при подготовке учителей информатики (реферат, курсовая, диплом, контрольная)
В статье обосновывается отбор содержания и методики обучения основам алгоритмизации будущих учителей информатики, обучающихся по направлению подготовки 44.03.05 Педагогическое образование профиля Информатика. Учет выделенных особенностей, при отборе содержания дисциплины «Основы алгоритмизации», позволяет сформировать алгоритмический стиль мышления учителя, необходимый для его успешной профессиональной деятельности в условиях информационного общества.
Ключевые слова: будущие учителя информатики, основы алгоритмизации, подготовка учителей информатики, преподавание дисциплины «Основы алгоритмизации».
учитель информатика педагогика.
Abstract.
The article explains the selection of the content and methods of teaching the basics of algorithmization future teachers enrolled in the direction of preparation 44.03.05 Teacher education profilya Informatics. Accounting for the selected features in the selection of the content of the discipline «Basics of algorithms», it allows you to create an algorithmic style teacher thinking necessary for his successful career in the information society.
Вопросам, объединенным под общим названием «Алгоритмизация и программирование», отведено значительное место в школьном курсе информатики на каждом из этапов обучения. В соответствии с требованиями Федерального государственного образовательного стандарта, итоговыми оценками освоения обучающимися основной образовательной программы начального общего образования являются такие предметные и метапредметные результаты как [1]:
использование знаково-символических средств представления информации для создания моделей изучаемых объектов и процессов, схем решения учебных и практических задач;
активное использование речевых средств и средств информационных и коммуникационных технологий для решения коммуникативных и познавательных задач;
использование начальных математических знаний для описания и объяснения окружающих предметов, процессов, явлений, а также оценки их количественных и пространственных отношений;
овладение основами логического и алгоритмического мышления, пространственного воображения и математической речи, измерения, пересчета, прикидки и оценки, наглядного представления данных и процессов, записи и выполнения алгоритмов;
приобретение начального опыта применения математических знаний для решения учебно-познавательных и учебно-практических задач.
Данные умения и навыки активно развиваются на уроках информатики при изучении темы «Алгоритмизация и программирование».
В связи с этим, одним из ключевых направлений подготовки будущего учителя начальных классов в области информатики является освоение им основ алгоритмизации и программирования, что способствует качественному становлению его профессиональных навыков.
Для достижения данной цели необходим обоснованный отбор содержания и методики обучения основам алгоритмизации учителей начальных классов, ориентированный на специфику их будущей педагогической деятельности и учитывающий уровень их предметной подготовки.
Дисциплина «Основы алгоритмизации» изучается студентами направления подготовки Педагогическое образование профилей Начальное образование и Информатика. Основными понятиями, с которым студенты сталкиваются при изучении дисциплины, являются понятия алгоритма, исполнителя алгоритма, способов записи алгоритмов. Важно отметить, что в школьном курсе информатики изучаются не определения понятия алгоритма, а его описания на основе жизненного опыта и здравого смысла — трактовки. В этой связи нам представляется актуальным рассмотрение ряда интуитивных определений данного термина с целью выявления того, которое наиболее точно соответствует вводимому понятию. Могут быть предложены следующие трактовки:
Заранее определённое, точное предписание, которое задаёт дискретный (пошаговый) процесс, начинающийся определённым образом и приводящий к результату за конечное число шагов.
Понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленной цели или на решение поставленной задачи.
Последовательность шагов (действий, операций), ведущих от исходных данных к результату.
Система правил, которая сформулирована на языке, понятном исполнителю, и определяет процесс перехода от допустимых исходных данных к некоторому результату.
Здесь важно также показать, что некоторые трактовки при описании алгоритма обращаются к его свойствам, таким как детерминированность, результативность, дискретность и т. п. А описания под номерами 2 и 4 опираются на понятие исполнителя алгоритма, которое является одним из основных в информатике. При изучении алгоритмов это понятие, как правило, вводится опосредованно через систему задач и такие понятия, как «среда» и «команда» («действие»). Важным вопросом при изучении данного раздела является рассмотрение исключительных ситуаций в работе исполнителя, в частности отличие ситуаций «не понимаю» и «не могу». Приведем пример таких ситуаций, рассматриваемых на занятиях:
1. Исполнитель не понимает команду.
Допустим, что человек остановился и не знает, куда ему идти дальше: вперёд или назад. Если ему в этот момент передать записку со словом «впирёт», то человек удивится, улыбнется, но всё равно поймёт, что ему делать дальше.
Допустим теперь, что исполнителем является некое устройство, которое может перемещаться внутри определённого замкнутого пространства в заданном направлении. В систему команд этого устройства входит команда ВПЕРЁД. Если мы напишем это слово как ВПИРЁТ, то исполнитель не поймёт команду. Что произошло? Исполнитель сравнил написание команды с написанием всех команд, входящих в его систему команд. Сходства обнаружить не удалось.
Таким образом, исполнитель не понимает команду, если она не входит в его систему команд.
Ошибки такого рода относятся к синтаксическим ошибкам, т.к. связаны с правилами написания команд.
2. Исполнитель не может выполнить команду.
Допустим, что исполнителем является Водолей, который может выполнить команду «ПЕРЕЛИТЬ ВОДУ ИЗ КУВШИНА № 1 В БОЧКУ». Но пусть к моменту выполнения команды кувшин № 1 является пустым. Возникает ситуация, при которой исполнитель не может выполнить команду. Что произошло? Начальное состояние среды (первый кувшин пуст) не соответствует параметрам команды (перелить воду из кувшина). Такая же ситуация может возникнуть, если параметры команды не соответствуют начальному состоянию самого исполнителя (например, подана команда ВВЕРХ, когда исполнитель находится в самой верхней точке своего рабочего поля).
Таким образом, исполнитель не может выполнить команду, если по какой-либо причине возникла ситуация, когда команда не выполнима.
Рассмотрение еще одной исключительной ситуации в работе исполнителя — «не хочу», — позволяет разбить всех исполнителей на два класса: формальные и неформальные. Осознание того, что неформальный исполнитель обладает волей и сам отвечает за свои поступки, лежит в плоскости морально-нравственных основ поведения человека. Кроме того, здесь очень важен разговор о том, что за действия формального исполнителя (машины) всегда отвечает тот, кто составил для него алгоритм, т. е. человек.
При изучении темы «Способы записи алгоритмов» целесообразным является рассмотрение таких наиболее распространенных способов как вербальные, графические, псевдокоды и программные. Каждый из данных способов может активно применяться на уроках информатики в школе. Их изучение способствует формированию у студентов основ логического и алгоритмического мышления, развитию навыков использования знаково-символических средств представления информации, речевых средств и средств информационных и коммуникационных технологий для решения коммуникативных и познавательных задач.
Для закрепления теоретического материала студентам предлагались, например, такие задачи:
1. Определите значение переменной s после выполнения фрагмента алгоритма:
2. Постройте и опишите каким-либо способом алгоритм решения следующей задачи:
Имеются два кувшина вместимостью8 литрови5 литров. Необходимо отмерить 4 литра из бочки ёмкостью20 литров. Возможными операциями являются:
- — наполнение кувшина жидкостью из бочки;
- — выливание содержимого кувшина в бочку;
- — переливание из одного кувшина в другой до полного опустошения первого;
- — переливание из одного кувшина в другой до полного заполнения второго.
- 3. Составьте и запишите на алгоритмическом языке алгоритм решения следующей задачи: Даны два целых числа. Замените меньшее из этих чисел суммой их квадратов.
Так как любая человеческая деятельность, направленная на получение, обработку и накопление информации, непосредственно связана с реализацией соответствующего алгоритма, особый акцент при изучении дисциплины делался на этапы построения алгоритма. При этом рассматривались следующие этапы построения алгоритма:
- 1) постановка задачи;
- 2) разработка модели;
- 3) построение алгоритма;
- 4) проверка правильности алгоритма;
- 5) анализ алгоритма;
- 6) программная реализация алгоритма.
Построение алгоритма невозможно без его анализа по ряду критериев, которые позволяют оценить как правильность алгоритма в целом, так и его оптимальность. Поэтому, при анализе алгоритмов важным моментом является изучение и оценка таких его характеристик как временная и ёмкостная сложности.
В настоящее время возрастает потребность общества в грамотных, теоретически вооруженных педагогических кадрах, способных решать прикладные задачи в области информатики, требующих фундаментальных знаний. При решении задач по программированию данные знания необходимы на этапе построения математической модели решения задачи. Однако, практика показывает, что данному этапу уделяется неоправданно малое внимание, что зачастую приводит к созданию громоздких, неэффективных, а порой и ошибочных алгоритмов, реализуемых затем в виде решений с теми же качествами [2]. В этой связи актуальным становится подробное рассмотрение вопросов о методах математического моделирования и этапах построения математических моделей поставленных задач.
При изучении темы «Математические модели алгоритмов» особое внимание уделяется рассмотрению не только понятий и видов математического моделирования, но и влиянию математического моделирования на эффективность алгоритма. Данный аспект был проиллюстрирован на примере задачи о простом числе.
Задача:
Составьте программу определения, является ли заданное натуральное число n>1 простым.
Постановка задачи:
- 1. Дано: натуральное число n>1.
- 2. Требуется: определить, является ли n простым?
- 3. Натуральное число является простым, если оно не имеет никаких других натуральных делителей кроме единицы и самого себя.
Построение модели:
Исследуем все числа из отрезка [1, n] с целью определения тех из них, которые являются делителями исходного числа n. Если количество таких чисел больше двух, то число n не является простым.
Уточнение № 1: отрезок можно уменьшить до [2, n-1] и сравнивать количество найденных делителей не с двойкой, а с нулем.
Уточнение № 2: т.к. на отрезке [n/2+1, n-1] нет ни одного делителя числа n, то отрезок можно еще уменьшить до [2, n/2].
Уточнение № 3: т.к. по условию задачи нам не нужно считать количество найденных делителей исходного числа, то достаточно на полученном отрезке найти хотя бы один делитель, чтобы говорить о том, что число не является простым.
Уточнение № 4: т.к. теперь в задаче речь идёт лишь о существовании хотя бы одного делителя числа на заданном отрезке, то отрезок можно ещё уменьшить до [2, ].
Уточнение № 5: т.к. среди чётных чисел есть только одно простое число — 2, то рассматривать нужно только нечётные числа и для них — нечётные делители, начиная с 3.
С учётом всех уточнений модель задачи будет выглядеть так:
Для чётного числа n, отличного от 2, задача имеет однозначное решение — число n не простое. Для нечётного числа n нужно попробовать найти хотя бы один из нечётных делителей на отрезке [3, ].
В связи с тем, что современные языки программирования, стремительно развиваются как в течение обучения специалиста в вузе, так и в процессе его практической деятельности в школе, важным качеством учителя информатики становится умение самостоятельно осваивать новые языки и методы программирования. При этом необходимо сформировать целостное представление у студентов об основных парадигмах и языках программирования. В рамках изучения дисциплины «Основы алгоритмизации» целесообразным становится рассмотрение вопросов программной реализации алгоритмов по следующим разделам:
- — Парадигмы программирования.
- — Способы реализации языков.
- — Классификация языков и подходов к программированию.
- — Требования к языкам программирования.
- — Среды разработки программных приложений.
Компетентность учителя информатики в области программирования предполагает способность отбирать наиболее оптимальные методы и средства разработки алгоритма в соответствии со спецификой рассматриваемой задачи. При этом выбор наиболее подходящих для задачи структур данных позволяет реализовать эффективный алгоритм ее решения, за счет уменьшения временной сложности и ёмкости алгоритма. В связи с этим, в рамках изучения дисциплины «Основы алгоритмизации» целесообразно рассматривать основные структуры данных для реализации алгоритмов в целом, без «привязки» их к конкретному языку программирования. Так на лекционных занятиях рассматривались такие структуры данных как: массивы, списки, стеки, очереди, множества, деревья, графы.
Учет выделенных особенностей, при отборе содержания дисциплины «Основы алгоритмизации», позволяет не только систематизировать знания студентов по основам построения алгоритмов и их программной реализации, но и закладывает фундамент для формирования алгоритмического стиля мышления учителя информатики, необходимого для его успешной профессиональной деятельности в условиях информационного общества.
Библиографический список
- 1. Приказ «О внесении изменений в приказ Министерства образования и науки Российской Федерации от 6 октября 2009 г. № 373 „Об утверждении и введении в действие федерального государственного образовательного стандарта начального общего образования“»
- 2. Мартынюк Ю. М., Использование математического моделирования при обучении программированию //Современная педагогика № 11 (24)/ Ю. М. Мартынюк, В. С. Ванькова, Б. П. Ваньков. — 2014. — С. 41−44.