УДК 377.031+377.112.4+378.147 Губина Т.Н. Елецкии государственныи университет им. И.А. Бунина, г. Елец, Россия МЕТОДИЧЕСКИЕ ПРИЕМЫ РАЗВИТИЯ АЛГОРИТМИЧЕСКОГО МЫШЛЕНИЯ БУДУЩЕГО УЧИТЕЛЯ ИНФОРМАТИКИ* АННОТАЦИЯ В статье описываются методические приемы развития алгоритмического мышления студентов, обучающихся по направлению подготовки «Педагогическое образование» (квалификация (степень) «бакалавр», профили «Информатика», «Математика и информатика»). Анализируются результаты педагогического эксперимента по определению влияния этих приёмов на уровень развития алгоритмического мышления обучающихся. КЛЮЧЕВЫЕ СЛОВА Методика обучения; алгоритмический стиль мышления; высшее профессиональное образование; мыслительные операции; уровень и индикаторы развития. Tatyana Gubina Yelets State University of Bunin, Yelets, Russia INSTRUCTIONAL TECHNIQUES OF DEVELOPING THE ALGORITHMIC THINKING OF FUTURE TEACHERS OF INFORMATICS ABSTRACT This article describes the instructional techniques of developing the algorithmic thinking of students enrolled in the programs "Pedagogical education" (qualification (degree) "bachelor", profiles, "Informatics", "Mathematics and Informatics"). It also gives the analysis of the results of the pedagogical experiment estimating the effects of these techniques on the level of development of algorithmic thinking of students. KEYWORDS Methods of teaching; algorithmic style of thinking; higher professional education; mental operations; the level and development indicators. Введение Повсеместное внедрение современных информационных и коммуникационных технологий требует от выпускников школ и вузов умений работать с большими объемами разнообразной информации, что предполагает достаточно высокий уровень развития алгоритмического мышления. Первоначально алгоритмическое мышление формируется еще в школе. Особая роль в этом процессе отводится школьным курсам математики и информатики. Значение этих предметов в формировании и развитии алгоритмического мышления определено содержанием ФГОС начального общего, среднего общего, среднего (полного) общего образования [17]. Уровень развития алгоритмического мышления учащихся во многом зависит от способности педагога организовать и управлять процессом обучения, т.е. от его личностных характеристик. Будущий учитель сам должен пройти соответствующее обучение, должен обладать необходимыми компетенциями, соответствующим уровнем алгоритмического мышления. В связи с этим актуальным является поиск методов обучения будущих учителей информатики, содержание которых направленно на формирование алгоритмического стиля мышления. В настоящей статье рассматриваются методические приемы развития алгоритмического мышления студентов, обучающихся по направлению подготовки 050100 «Педагогическое * Труды XI Международной научно-практической конференции «Современные информационные технологии и ИТ-образование» (SITITO’2016), Москва, Россия, 25-26 ноября, 2016 6 образование» (квалификация (степень) «бакалавр», профиль «Информатика»), описывается педагогический эксперимент, анализируются его результаты. Как показывает многолетняя практика преподавания автором дисциплин "информационно-технологического" цикла в Елецком государственном университете им. И.А. Бунина, студенты первого курса испытывают значительные трудности в составлении алгоритмов решения разного рода задач. Следует отметить, что они вызваны не столько незнанием конструкций, синтаксиса языков программирования, сколько неготовностью к построению компьютерно-математических (формальных) моделей решения задач, к анализу соответствия модели и моделируемого объекта (процесса), к применению различных методов познания: анализа, синтеза, индукции, дедукции и др. при построении модели решения задачи. Хотя владение этими мыслительными операциями, согласно требованиями ФГОС начального общего, среднего общего, среднего (полного) общего образования [17], должно быть уже сформировано до необходимого уровня у выпускников в школе. Анализ опыта работы учителеи информатики в школах г. Ельца позволил выделить несколько основных причин невыполнения требовании ФГОС [17]. К ним относятся следующие: во- первых, некоторые учителя информатики не могут методически грамотно выстроить процесс изучения раздела алгоритмизации и программирования, преподнести материал в доступнои, понятнои школьникам форме, используя разные методы познания; во-вторых, часто информатику в школе преподают учителя математики, физики или выпускники вузов непедагогических направлении подготовки, которые недостаточно глубоко знакомы с методикои преподавания информатики в школе. На основании этого можно сделать вывод о том, что в одном случае некоторые учителя информатики не владеют в должнои степени знаниями основ алгоритмизации, а в другом – не владеют методикои обучения информатике, не готовы к реализации учебного процесса по разделу «Алгоритмизация и программирование» школьного курса "Информатика и информационно- коммуникационные технологии" (ИКТ). В таких случаях учитель информатики не может в должнои мере развить у школьников алгоритмическое мышление. Зачастую, учитель информатики считает раздел "Алгоритмизация и программирование" слишком сложным для усвоения учащимися, поэтому не уделяет достаточного времени и усилии на изучение этого раздела в классе. В то же время необходимо отметить, что примерно 60% задании ЕГЭ по информатике и ИКТ требуют от выпускника школы наличия среднего и высокого уровня алгоритмического мышления. В следствие этои причины появляется нежелание у некоторых выпускников сдавать ЕГЭ по информатике и ИКТ. Многие из них предпочитают сдавать ЕГЭ по физике, поэтому выбирают направления подготовки, связанные с информатикои и ИКТ, на которых в качестве вступительного испытания вузом определена физика. Такое положение приводит к необходимости дополнительнои подготовки студентов первого курса, направленнои на повышение уровня их алгоритмического мышления. Однако, часто эти усилия оказываются недостаточно результативными. В вузе не удаё тся в полнои мере компенсировать недостатки школьного образования. Поэтому основным направлением решения проблемы формирования алгоритмического мышления является повышение качества профессиональнои подготовки будущих учителеи информатики и, как следствие, уровня подготовки учащихся. Цель настоящеи работы заключается в том, чтобы описать некоторые методические приё мы и проанализировать результаты их влияния на уровень развития алгоритмического мышления будущих учителеи информатики. Определение понятия «алгоритмический стиль мышления» Прежде, чем приступить к описанию методических приё мов формирования и развития "алгоритмического мышления", необходимо определиться с этим понятием, т.к. в настоящее время нет общепринятого мнения о его характеристиках и объё ме. Термин «алгоритмическии стиль мышления» широко используется в научнои и методическои литературе, посвященнои обучению информатике и ИКТ. Это связано с тем, что однои из основных задач изучения этои дисциплины является формирование и развитие алгоритмического мышления учащихся. По мнению А.В. Копаева, ключевои проблемои при выяснении целеи обучения и содержания модуля «Алгоритмизация и программирование» является уточнение понятия «алгоритмическии стиль мышления» [6]. Развивать эту идею мы будем, опираясь на мнения авторитетных учё ных, занимавшихся изучением этои и смежных с нею проблем. Так С.Л. Рубинштеин считал, что мышление есть «движение мысли, раскрывающее связь, которая ведет от отдельного к общему и от общего к отдельному» [12]. 7 Ю.П. Платонов под стилем мышления понимал открытую, постоянно пополняющуюся, «систему интеллектуальных стратегии, приемов, навыков и операции, к которои личность предрасположена в силу своих индивидуальных особенностеи» [11]. Там же автор пишет о том, что в понятии «стиль мышления» (или «интеллектуальныи стиль») отражается тот факт, что все люди думают, рассуждают по-разному об одном и том же, причем каждыи человек считает, что именно привычныи для него стиль мышления является наилучшим [11]. В этом контексте можно говорить о том, что современная школа призвана формировать и развивать у учащихся разные стили мышления, учить рассуждать разными способами, решать задачи различными методами, рассматривать проблему с разных сторон. Содержание и объё м понятия "алгоритмическое мышление" рассматривались А.П. Ершовым, А.И. Газеикинои, Г.А. Звенигородским, А.Г. Кушниренко, Т.Н. Лебедевои, Г.В. Лебедевым, Ю.А. Первиным и др. Так, например, А.П. Ершовым, Г.А. Звенигородским, Ю.А. Первиным оно определяется как «умение планировать структуру деиствии, необходимых для достижения цели, при помощи фиксированного набора средств»; «умение строить информационные модели для описания объектов и систем»; «умение организовывать поиск информации, необходимои для компьютерного решения поставленнои задачи» [5]. Следует отметить, что "сущностными характеристиками" (наиболее значимым содержанием) этого определения являются алгоритмическая (конструктивная) и операционная составляющие мышления. А.Г. Кушниренко и Г.В. Лебедев понимают алгоритмическии стиль мышления как «метод и способ, которые необходимы для перехода от непосредственного управления к программному, от умения сделать к умению записать алгоритм» [7]. Я.И. Груденов считает, что процесс формирования алгоритмического стиля мышления способствует развитию умения выбирать наилучшее из возможных решении задачи [3]. В понимании и представлении Т.Н. Лебедевои алгоритмическое мышление определяется в виде «… целесообразнои (или рациональнои) последовательности совершаемых мыслительных процессов с присущеи детализациеи и оптимизациеи укрупненных блоков, осознанным закреплением процесса получения конечного результата, представленного в формализованном виде на языке исполнителя с принятыми семантическими и синтаксическими правилами» [8]. Анализ информационных источников позволил на этои основе синтезировать содержание понятия "алгоритмическое мышление", выделив в качестве "сущностных" те его характеристики, которые отвечали бы цели данного исследования. Под алгоритмическим мышлением мы будем понимать такои стиль мышления человека, которыи представляет собои систему мыслительных приё мов, конструкции, набора способов деиствии, необходимых для решения рассматриваемои проблемы, видения проблемы в целом, выделение крупных блоков её решения, построения информационных моделеи, организации поиска необходимои информации, получения результата в алгоритмическои форме. Методология исследования Проблема развития алгоритмического мышления обучающихся изучается психологами и педагогами достаточно давно. В научнои и методическои литературе описываются разные способы развития алгоритмического мышления. Они базируются на разных теоретико-методологических основаниях. Теоретико-методологической основой данного исследования являются: - концепция модернизации современного образования (В.А. Болотов, Г.А. Бордовскии, В.В. Краевскии, Г.П. Щедровицкии и др.); - проблемно-деятельностныи подход в обучении (Л.С. Выгодскии, П.Я. Гальперин, А.Н. Леонтьев и др.); - теория поэтапного формирования умственных деиствии (П.Я. Гальперин); - структурныи подход в обучении (Т.А. Ильина, Ю.К. Бабанскии и др.); - дифференцированныи подход к содержанию и методам обучения (М.К. Акимова, Н.Д. Есипова, В.Т. Козлова и др.). Методы исследования: Теоретико-аналитический: изучение и анализ научнои и научно-методическои литературы по проблемам методики обучения, направленнои на выявление проблем развития алгоритмического стиля мышления и их решение; изучение опыта педагогов; планирование опытно-экспериментальнои работы. Опытно-экспериментальный: разработка методических приё мов развития алгоритмического стиля мышления студентов; проведение формирующего эксперимента по внедрению данных разработок в практику обучения будущих учителеи информатики; диагностика 8 полученных результатов. В качестве одного из основных методических приё мов разрешения проблемы формирования и развития алгоритмического мышления обучающихся многие ученые, например, В.Н. Исаков, В.В. Исакова, Т.Н. Лебедева, И.Н. Слинкина и др., предлагают использовать определё нную систему задач с нарастающим уровнем сложности. Мы также считаем: для того чтобы студенты в будущем смогли формировать и развивать алгоритмическое мышление учащихся на уроках информатики, они должны сами овладеть методическими приемами решения задач по теме «Алгоритмизация и программирование», научиться самостоятельно отбирать и формировать определё нную систему задании. Для оценки эффективности этои методики была организована экспериментальная работа в группах студентов, обучающихся по направлению подготовки «Педагогическое образование» (профиль «Информатика», «Математика и информатика»). Содержание эксперимента заключается в следующем: была подготовлена система задач, решение которых, по оценке экспертов из числа преподавателеи дисциплин "информационно- технологического цикла", должно способствовать развитию алгоритмического мышления. Разработана методика составления алгоритмов для их решения. Эти задачи были включены в содержание таких дисциплин учебного плана специальностеи как «Практикум по решению задач на ЭВМ», «Практикум по школьному курсу информатики». На занятиях студенты под руководством преподавателя, корректирующего ход решения задач, строили алгоритмы решения и реализовывали их на языке программирования Паскаль. Следует обратить внимание на то, что реализация, разработанного студентом алгоритма на определё нном языке программирования, является важным этапом обучения, т.к. требует выбора структуры данных, необходимых для написания программного кода. Кроме того, необходимо учитывать, что алгоритм, реализующии решение математическои задачи, не всегда совпадает с алгоритмом, заложенным в основу программного кода. Рассмотрим на примере один из методических приемов, способствующих развитию алгоритмического стиля мышления у студентов, направленныи на формирование готовности к самостоятельному поиску решения задачи, связаннои с построением общего алгоритма решения задач по теме «Умножение многочленов». Пример. Даны деиствительное число a, многочлен ( ) = + + ⋯+ . Требуется получить: ( − ) ( ); ( + 2 + 3) ( ); ( + ) ( ). Если рассматривать данную задачу с позиции математики, то для её решения достаточно вспомнить алгоритм, которыи изучается еще в школьном курсе математики в 7 классе, умножения одного многочлена на другои многочлен. Однако при разработке алгоритма решения поставленнои задачи для дальнеишеи его реализации на компьютере – все гораздо сложнее: компьютеру надо «объяснить», как производить такое умножение и как хранить «промежуточные» результаты. Большинство студентов на первом этапе обучения были не в состоянии предложить хоть какои- либо реализуемыи способ решения поставленнои задачи на языке программирования, несмотря на то, что необходимые знания и инструментарии для её решения к моменту начала обучения в вузе у них уже накоплен. Какова методика обучения студентов решению подобного типа задач? Можно преподнести ее решение в готовом виде, но такои подход не будет способствовать глубокому пониманию сути решения и не "запускает" мыслительные операции, которые позволяют глубже проникнуть в суть стоящеи перед студентом проблемы, выделить составляющие ее элементы. И, как следствие, выпускник не будет способен самостоятельно разрабатывать алгоритмы и, тем более, овладеть методикои преподавания курса алгоритмизации и программирования в школе. Студентам потребуется "запустить" такие мыслительные операции, как анализ, сравнение, абстрагирование, синтез, обобщение, чтобы суметь разбить задачу на более простые составляющие, наити решения более простых задач, сравнить простые задачи между собои, обобщить построенное решение и т.д. Для начала следует предложить студентам взять любои (конкретныи) многочлен ( ) и возвести его в квадрат известным из курса математики способом, например, так: (x-a) * (2*x^2 + 3*x – 4) =x*2*x^2 +x*3*x - 4*x - a*2*x^2 - a*3*x - a*(-4) = 2*x^3 + 3*x^2 – 4*x – 2*a*x^2 – 3*a*x +4*a = 2*x^3 +(3-2*a)*x^2 – 3*a*x -4*x +4*a. Как показывает практика, пример с умножением двучлена на трехчлен не наводит студентов на мысль о том, что делать дальше и как это реализовать на компьютере. Тогда следует предложить взять в качестве ( ) многочлен нулевои, первои степени, затем 9 уже многочлен второи степени: (x-a) * (-4*x^0) = x*(-4)*x^0-a*(-4)*x^0=-4*x+4*a (x-a) * (3*x^1-4) = x*3*x^1-x*(-4)-a*3*x^1-a*(-4)=3*x^2+(-4-3a)x+4*a. На данном этапе идет выработка стратегии решения задачи: как получаются коэффициенты результирующего многочлена и как получить суммарныи коэффициент при каждом члене многочлена нулевои, первои, второи, третьеи степени? Таким образом, переходим от общего случая к частному, расчленяя нашу задачу на более простые подзадачи. Здесь следует отметить, что работу над задачеи на данном этапе следует вести с использованием средств наглядности, что в большеи степени способствует пониманию сути происходящего: для полноценнои мыслительнои работы большинству студентов необходимо видеть или представлять ход рассуждении, поскольку у них согласно С.Л. Рубинштеину "в большеи степени развито именно наглядное, а не вербальное мышление" [15, С.296]. Подробныи разбор примеров нахождения произведения многочлена на многочлен нулевои, первои, второи, третьеи степени должен подвести студента к мысли о том, что для хранения коэффициентов потребуется задеиствовать такую структуру данных как массив и причем не один. Например, если требуется наити произведение ( − ) ( ), то как минимум таких массивов надо будет два: первыи массив будет хранить коэффициенты, полученные после умножения на ( ), а второи – коэффициенты после умножения − на ( ), причем элементы второго массива должны быть сдвинуты на 1 элемент вправо. Тогда коэффициенты результирующего многочлена могут быть получены простым сложением соответствующих элементов двух массивов. Но для дальнеиших расчетов выгоднее и коэффициенты известного многочлена тоже хранить в массиве. Для того, чтобы студенты пришли к такому выводу, можно предложить следующии методическии прием получения коэффициентов результирующего многочлена в виде таблицы (Таблица 1 - Таблица 3). Таблица 1. Расчет коэффициентов для одночлена P(x) нулевой степени -4 x -4*[x^1] -a -4*(-a)[x^0] Результирующии -4x 4a многочлен Таблица 2. Расчет коэффициентов многочлена для P(x) первой степени 3*x -4 x 3*[x^2] -4*[x^1] -a -a*3*[x^1] -4*(-a)*[x^0] Результирующии 3x^2 (-4-3a)x 4a многочлен Таблица 3. Расчет коэффициентов многочлена для P(x) второй степени 2*x^2 3*x –4 x 2*[x^3] 3*[x^2] -4*[x] -a -2*a*[x^2] -3*a*[x] -4*(-a) Результирующии 2x^3 (3-2*a)x^2 (-4-3a)x 4a многочлен Такая работа позволяет "запустить" мыслительные процессы (сравнение, синтез, обобщение) студентов, что должно способствовать выдвижению различных предположении о том, как построить алгоритм для решения поставленнои задачи. Так, например, если ( ) – многочлен нулевои степени, студентами могут быть выдвинуты следующие правильные предположения и идеи: - степень результирующего многочлена не увеличивается; - надо создать одномерныи массив, в котором сохранить коэффициенты многочлена ( − ) при каждом его члене размера 2 (q: array [0..1] of integer); - индекс элемента массива равен степени одночлена в многочлене, его значение – коэффициенту в этом одночлене; - запрашивать на ввод коэффициент ( ) нулевои степени (по сути число); - умножить каждыи элемент массива на введенное с клавиатуры значение; - вывести значения, хранящиеся в массиве Q в формате q1 x + q0. После проработки хода решения поставленнои подзадачи для многочлена нулевои степени следует предложить студентам реализовать полученныи алгоритм на языке программирования Паскаль. Возможныи вариант решения: program palindrom_0; 10 const a = 10; var i, p: integer; q: array[0..1] of integer = (-a, 1); begin writeln('Введите коэффициент при нулевом члене многочлена:'); read(p); for i := 1 downto 0 do q[i] := p * q[i]; write(q[1], 'x+', q[0]); end. Студенты тестируют реализованныи на языке Паскаль алгоритм решения подзадачи и убеждаются в его корректнои или некорректнои работе. Затем студенты выдвигают предположение о том, как нужно доработать алгоритм решения подзадачи для случая многочлена первои степени ( ) = + . Например, - необходимо вводить два коэффициента многочлена ( ), для этого возьмем две переменные p1 и p0; - для хранения коэффициентов многочленов, полученных после умножения на многочлен ( ) и после умножения − на ( ), можно взять два массива размера 3 элемента: в массиве q1 последнии элемент будет равен нулю, а в массиве q2 – первыи элемент; - для получения результирующего многочлена сложим соответственные элементы массивов q1 и q2. Возможныи вариант решения: program palindrom_1; const a = 10; var i, j, p1, p0, n: integer; q: array[0..1] of integer = (-a, 1); q1, q2, q_rez: array[0..2] of integer; begin writeln('Введите коэффициенты мнгочлена p1 и p0:'); read(p1, p0); for i := 2 downto 0 do begin q1[i] := 0;q2[i] := 0; end; q1[2] := q1[2] + p1 * q[1]; q1[1] := q1[1] + p0 * q[1]; q2[1] := q2[1] + p1 * q[0]; q2[0] := q2[0] + p0 * q[0]; for i := 2 downto 0 do begin q_rez[i]:=q1[i]+q2[i]; end; write(q_rez[2], 'x^2+', q_rez[1], 'x+', q_rez[0]); end. Затем алгоритм и программныи код дорабатываются для решения подзадачи для случая многочлена второи степени P(x)=p2 x^2 +p1 x + p0 (и в общем -ои степени). Могут быть выдвинуты следующие правильные предположения и идеи: - необходимо вводить три коэффициента многочлена ( ), лучше сделать это в цикле (для последующего обобщения задачи на многочлен -ои степени). Значит, надо запрашивать степень многочлена (переменная ); - в цикле запрашивать все коэффициенты многочлена ( ) и сохранять их в массив p; - для подсчета и сохранения коэффициентов, полученных после умножения каждого члена многочлена ( ) на и на − , в массивах q1 и q2 организовать цикл с параметром, начиная с последнего элемента до нулевого; - вычислять коэффициенты результирующего многочлена q_rez как сумму соответственных элементов массивов q1 и q2; 11 - вывод результирующего многочлена тоже производить в цикле. В результате такои работы становится понятно, как нужно модифицировать программныи код для перехода к следующеи, более сложнои задаче. Возможныи вариант решения: program palindrom_1; const a = 10; var i, j, n: integer; q: array[0..1] of integer = (-a, 1); q1, q2, p, q_rez: array[0..20] of integer; begin writeln('Введите степень многочлена p:'); read(n); writeln('Введите коэффициенты многочлена p:'); for i := n downto 0 do read(p[i]); for i := n +1 downto 0 do //степень результирующего многочлена должна быть на 1 больше чем p begin q1[i] := 0;q2[i] := 0; end; for i := n +1 downto 1 do //по индексам массивов q1, q2 begin q1[i] := q[1] * p[i-1]; q2[i-1] := q[0] * p[i-1]; end; for i := n +1 downto 0 do //нахождение результирующего многочлена begin q_rez[i] := q1[i] + q2[i]; end; for i := n +1 downto 0 do if q_rez[i]<0 then write(q_rez[i], 'x^', i) else write('+', q_rez[i], 'x^', i); end. Далее преподаватель предлагает студентам самостоятельно получить требуемое решение задачи для двух других случаев (домашняя работа). Развитию алгоритмического стиля мышления в ходе решения задач может способствовать проведение различных тренингов. Тренинг №1. «Насколько телефон испорчен?» Первыи студент описывает проблемную ситуацию второму студенту в ограниченное время (30 секунд), второи передает описание этои проблемы третьему, третии – четвертому, затем оно возвращается к первому студенту. Сравниваются первоначальныи и конечныи вариант проблемнои ситуации. Преподавателем ведется коррекционная работа. Цель тренинга — научить будущих учителеи правильно, четко и конкретно ставить задачи, приводить описание проблемных ситуации, учить переформулировать проблемную ситуацию. Тренинг №2. «Мозговои штурм» Преподаватель и студенты, участвующие в обсуждении способов построения алгоритма, предлагают как можно большее количество вариантов решения, в том числе самых фантастических. Затем, анализируя предложенные варианты, из общего их числа совместно выбирают наиболее удачныи, которыи берется в качестве ориентира для построения алгоритма. Цель тренинга – формирование умения выбирать разные методы анализа и оценки имеющихся вариантов решения поставленнои задачи, знания критериев отбора и оценки выдвигаемых гипотез. Тренинг №3. «Выбор одним глазом» Предлагается несколько возможных вариантов решения проблемнои ситуации, нескольких возможных путеи построения алгоритмов, некоторые из которых могут быть заведомо неправильными. Студентам необходимо произвести выбор наиболее оптимального, эффективно реализуемого варианта решения задачи. 12 Цель тренинга — развитие способности интуитивно принимать правильные решения. Тренинг №4. «Стань на моё место и докажи обратное» Преподаватель намеренно предлагает обучающимся неправильныи, нереализуемыи, или неэффективныи способ построения алгоритма для решения задачи, тем самым вызывая возможные «возражения» со стороны студентов. Особенно активным студентам предлагается обосновать противоположное мнение, другои способ решения, т.е. доказать, что этого делать не надо. Цель тренинга – развитие способности критически анализировать предложенные способы решения задачи, приводить контраргументы, доказывать свою точку зрения, в том числе, используя нестандартное мышление. Тренинг №5. «Предложи свои способ решения» При возникновении новои проблемнои ситуации по ходу решения задачи преподаватель предлагает студентам подумать и записать на листе бумаги тот способ (метод) решения, которыи он считает правильным и корректным и которыи поможет выити из этои ситуации. Цель тренинга – развитие способности анализировать имеющиеся данные, сопоставлять их с тем результатом, которыи необходимо получить, учитывать различные сценарии составления алгоритма. Тренинги и решение подобных задач с использованием рассмотренных выше методических приемов должно создать условия для развития алгоритмического стиля мышления обучающихся, тем самым формируя готовность к анализу данных, формализации задачи, постановке и обнаружению проблем, к анализу получаемых результатов, поиску оптимальных и эффективных способов решения. С целью экспериментальнои проверки педагогическои эффективности предлагаемои системы методических приё мов была проведена диагностика сформированности уровня развития алгоритмического мышления студентов. Нами использовались индикаторы, описанные в работах Л.Г. Лучко, И.Н. Слинкинои, Н.Н. Тулькибаевои [9, 14, 16]. Они в обобщё нном виде представлены на рис. 1. Полученные результаты В педагогическом эксперименте участвовало 48 студентов (два потока), обучающихся по направлению подготовки «Педагогическое образование» (профили «Информатика» и «Математика и информатика»). В соответствии с экспериментальнои методикои у будущих учителеи информатики формировался алгоритмическии стиль мышления в рамках дисциплины «Практикум по решению задач на ЭВМ», а также в рамках курса по выбору «Практикум по школьному курсу информатики». Так как педагогическое воздеиствие предлагаемои методики обучения осуществлялось только в течение 1 семестра (18 аудиторных часов), ожидать больших сдвигов в значениях уровня алгоритмического мышления студентов не приходилось. Поэтому для получения и обработки экспериментальных данных была использована очень чувствительная к небольшим сдвигам в значениях исследуемых характеристик методика - статистика G-критерия знаков, применение которои описано Е.В. Сидоренко [13]. На первом этапе педагогического эксперимента проводилось два тестирования группы студентов, обучающихся по профилю "Информатика" в количестве 23 человек: в начале и конце эксперимента. Экспериментальные данные для первого потока студентов приведены в Таблице 4. Таблица 4. Данные предварительного и повторного тестирования по измерению уровня развития алгоритмического мышления (профиль обучения "Информатика") Испытуемые 1 2 3 4 5 6 7 8 9 10 11 12 Значения «до» (1 32 36 37 38 36 32 37 32 30 30 28 29 тест) Значения «после» 37 39 40 36 36 35 37 39 36 30 35 38 (2 тест) Сдвиг + + + - 0 + 0 + + 0 + + («после»-«до») Испытуемые 13 14 15 16 17 18 19 20 21 22 23 Значения «до» (1 28 29 30 35 38 35 26 27 31 30 34 тест) 13 Значения «после» 28 27 35 38 40 35 32 36 31 28 40 (2 тест) Сдвиг 0 - + + + 0 + + 0 - + («после»-«до») имеется представление об алгоритме и своиствах алгоритма; знает основные операции, приемы и методы алгоритмизации; умение производить разрозненные операции; умение записывать алгоритм; способность представить решение задачи через базовые алгоритмические конструкции; Операционный владение способами составления простых алгоритмов; (низкий) уровень имеет представление об исполнителе, системе его команд; умение решать стандартные задачи по образцу; умение выполнять алгоритм, в том числе пошагово; умение понять и усвоить алгоритм для решения типовых задач Индикаторы уровня развития алгоритмического мышления владение способами сочетания операции алгоритмических конструкции; способность анализировать множество входных и выходных данных; владение способами составления сложных алгоритмов, в том числе с использованием подалгоритмов; Системный владение конкретными операциями классификации, сериации (средний) уровень алгоритмов; знание способов решения базовых классов алгоритмических задач; владеет операциями классификации; выдвигает гипотезы по решению задач; умение проводить анализ задачи, детализацию алгоритма для ее решения; способность анализировать и учитывать различные сценарии выполнения алгоритма; умение видеть логические ошибки в алгоритме; умение планировать структуру деиствии для построения Методологический алгоритма; (высокий) уровень умение использовать мыслительные схемы решения некоторых задач; умение преобразовывать известные схемы решения в нестандартных ситуациях; умение разрабатывать стратегию построения алгоритма, выдвигать и доказывать гипотезы опытным путем; умение прогнозировать результаты выполнения алгоритма, видеть возможные проблемы, которые могут возникнуть при реализации алгоритма; способность оптимизировать алгоритм; умение оценивать сложность алгоритма и выбирать эффективныи среди возможных; умение представлять алгоритм на формальном языке Рис. 1. Уровни и индикаторы развития алгоритмического мышления Из таблицы видно, что общии балл, полученныи испытуемыми после окончания эксперимента, возрос. Количество нулевых реакции n0=6, следовательно, новыи объем выборки равен n=23-6=17. Количество положительных сдвигов – 14, количество отрицательных сдвигов – 3. Значит, «+» сдвиги типичные, а «-» сдвиги – нетипичные. 14 Были приняты гипотезы: - нулевая гипотеза - H0: сдвиг показателеи в типичную сторону является случаиным; - альтернативная гипотеза - H1: сдвиг показателеи в типичную сторону является не случаиным. По таблице критических значении G-критерия знаков для n=17 Gкр(p≤0,05)=4 и Gкр (p≤0,01)=3 [13]. Преобладание «типичного» сдвига является достоверным, если Gэмп=3 ниже или равен G0,05 и тем более достоверным, если Gэмп ниже или равен G0,01. Так как Gэмп