1/12/2011
В связи с переходом российских вузов на образовательные стандарты третьего поколения в учебных планах происходит изменение соотношения аудиторной и самостоятельной работы студентов в сторону увеличения доли самостоятельной работы. Рекомендуемый объем аудиторной нагрузки на младших курсах составляет 23-25 часов, на старших курсах – 18-20 часов1. В числе основных мероприятий, направленных на усиление самостоятельной работы студентов, названы оптимизация методов обучения и широкое использование информационных технологий. Учебно-методические комплексы в новых условиях должны содержать, по крайней мере, элементы курсов в электронном виде или ссылки на ресурсы Интернет. Электронные учебные материалы могут использоваться как во время аудиторной работы студентов, так и во время самостоятельной работы в компьютерном классе и дистанционно. Новые требования к организации учебного процесса порождают новые способы взаимодействия студентов и преподавателя. Если во время традиционной лекции или практического занятия преподаватель по реакции аудитории может корректировать ход занятия (обратная связь в режиме реального времени), то при изучении электронного курса обратная связь, а, следовательно, и корректировка методов обучения будут отсроченными. Поэтому для разработки учебно-методического обеспечения в электронном формате от преподавателя потребуется не только освоение программных и технических средств, но также применение имеющегося у него педагогического (методического) мастерства для разработки новых методов, изучение опыта других педагогов, использующих информационные технологии в своей деятельности.
На наш взгляд, при изложении в виде электронных курсов дисциплин, связанных с языками программирования, эффективным приемом повышения методической ценности разработки является применение комментариев в программах и фрагментах программ. Комментарий в программе выполняет чисто информационную функцию, он служит для описания и пояснения отдельных подпрограмм, операторов, данных и т.п. Большинство специалистов сходятся во мнении, что комментарии должны объяснять намерения программиста. Так, разработчик концепции грамотного программирования Д.Кнут2 в своей ранней статье «Грамотное программирование» («Literate Programming») предлагает изменить основную парадигму: «Вместо того, чтобы полагать своей главной задачей инструктирование компьютера, давайте сконцентрируемся на объяснении того, чего мы хотим от компьютера, человеку».3 С методической точки зрения применение комментариев позволяет понять, как перейти от предложений естественного языка, на котором описывается алгоритм решения задачи, к предложениям формального языка программирования, на котором алгоритм реализуется.
Проиллюстрируем применение комментариев в учебных целях при изложении курса «Информатика и программирование», который изучают студенты-бакалавры по направлению «Прикладная информатика».
Электронный учебный курс «Информатика и программирование» разработан в свободно распространяемой среде Moodle. В состав курса входят лекции, задания, тесты и др. Лекции и задания содержат программы и фрагменты программ. Рассмотрим методику изложения темы «Рекурсия» в электронном учебном курсе «Информатика и программирование». При составлении электронных учебно-методических материалов по данной теме использовалось учебное пособие Марченко А.И. «Программирование в среде Borland Pascal 7.0».4
Использование рекурсии для реализации метода быстрой сортировки К. Хоара.
Задача: выполнить быструю сортировку одномерного массива, используя самовызывающуюся рекурсивную процедуру.
Вначале в словесной форме описывается алгоритм быстрой сортировки и приводится его графическая иллюстрация, а затем дается текст программы с подробными комментариями. В приводимом тексте программы комментарии предшествуют операторам.
ProgramSort;
UsesCrt;
Const
n = 20; { количество элементов массива }
Var
A : array [1..n] of integer;
i: word;
{ Процедура быстрой сортировки }
procedure Qsort ( L, R : word );
{ L и R – параметры-значения, }
{ L-индекс левого элемента массива, R – индекс правого элемента массива }
var
B, Tmp : integer;
{ переменная В используется для хранения центрального элемента массива }
{ переменная Tmp используется для перестановки элементов массива }
i, j : word;
begin
{ выбираем центральный элемент массива и записываем его в В }
B := A [(L+R) div 2];
{ просматриваем массив поочередно слева направо и справа налево }
i := L; j := R;
while i <= j do
begin
{если при движении слева направо найден элемент >=B, то запоминаем его позицию}
while A[i] < B do i := i+1;
{если при движении справа налево найден элемент <=B, то запоминаем его позицию}
while A[j] > B do j := j-1;
{ найденные элементы меняем местами и так далее, пока при очередной }
{ итерации встречные индексы i и j не пересекутся }
if i <= j then
begin
Tmp := A[i];
A[i] := A[j];
A[j] := Tmp;
i:= i + 1;
j := j-1;
end;
end;
{ закончен первый этап сортировки; }
{ массив разделен на две части относительно В – все элементы, которые }
{ меньше или равны В будут располагаться слева от пересечения индексов i }
{ и j, а все элементы, которые больше или равны В, будут располагаться }
{ справа от границы; таким образом, относительно В массив отсортирован,}
{ но его левая и правая части еще не упорядочены. }
{ Сортировка левой части массива }
ifL < jthenQsort ( L, j );
{ Сортировка правой части массива }
ifi < RthenQsort ( i, R );
end;
{ Главная программа }
Begin
ClrScr;
Writeln (‘Введите элементы массива:’);
For i:= 1 to n do Read ( A[i] ); Readln;
{ Вызов процедуры сортировки }
{ В процедуру передаются фактические значения левого и правого }
{ индексов массива }
Qsort ( 1,n )
{ Вывод отсортированного массива на экран }
Writeln (‘Отсортированныймассив:’);
For i := 1 to n do Write ( A[i] : 8);
Writeln;
End.
Рассмотрим еще один интересный методический прием, который можно использовать при изучении студентами языков программирования. Он также основан на комментариях, и суть его заключается в следующем. Студент получает исходный текст программы, в котором нет комментариев. Его задача – дополнить программу комментариями, сформулировать задачу, для решения которой составлена программа, и описать в словесной форме алгоритм решения. Задания такого типа могут быть реализованы в Moodle в форме эссе. Приведем небольшой пример такого задания.
Студент получает следующее задание: Дан исходный текст программы, дополните текст комментариями, сформулируйте условие задачи, для которой составлена программа и приведите словесное описание алгоритма.
Program Pr;
Uses Crt;
Const
n = 20;
Type
Tvector = array [1..n] of real;
Var
Vector : Tvector;
X : real;
L, R : integer;
i : integer;
Begin
ClrScr;
Writeln (‘’);
For i := 1 to n do read (Vector[i]); Readln;
Write (‘’);
Readln (X);
{-------------------------------------------------------------------------------------------------------------}
L := 1; R := n;
while ( L <= R ) do
begin
i := ( L+R ) div 2;
if Vector [i] = X then
Break
else
if Vector [i] < X then L := i + 1
else R := i – 1;
end;
if Vector [i] = X then
Writeln (‘’)
Else Writeln (‘’,i);
{-------------------------------------------------------------------------------------------------------------}
End.
Заметим, что текст в процедурах вывода на экран опущен сознательно.
Решение данной задачи начинается с попытки понять действия, выполняемые операторами, затем формулируем задачу и приводим словесное описание алгоритма. В данном случае решение может иметь следующий вид:
ProgramPr;
UsesCrt;
Const
n = 20; { размерность массива }
Type
Tvector = array [1..n] of real;
Var
Vector : Tvector;
X : real;
L, R : integer;
i : integer;
Begin
ClrScr;
Writeln (‘Введитеэлементымассива’);
For i := 1 to n do read (Vector[i]); Readln;
Write (‘Введите искомый элемент’);
Readln (X);
{-------------------------------------------------------------------------------------------------------------}
L := 1; R := n; {L – левый индекс, R –правый индекс }
while ( L <= R ) do
begin
i := ( L+R ) div 2; {находим индекс среднего элемента }
ifVector [i] = Xthen{если средний элемент массива равен X, }
Break{ то выход из цикла, т.к.элемент найден }
else{ иначе продолжаем поиск }
ifVector [i] < XthenL := i + 1 { в левой части массива }
elseR := i – 1; {в правой части массива }
end;
if Vector [i] = X then
Writeln (‘Искомый элемент находится на позиции’,i)
ElseWriteln (‘’);
{-------------------------------------------------------------------------------------------------------------}
End.
Данная программа выполняет поиск заданного числа в упорядоченном по возрастанию одномерном массиве.
Разумеется, что рассмотренные методические приемы можно использовать и в традиционных формах обучения, но не следует забывать, что традиционные формы обучения предполагают непосредственный контакт обучаемого и учителя. Преподаватель владеет ситуацией и может корректировать объяснение. Если же учебный материал представляется в электронном формате, то все должно быть продумано до мелочей, так как студент не может сиюминутно обратиться к преподавателю за разъяснениями.
Иногда высказывается мнение о том, современные информационные технологии вытеснят традиционные методы и методику из учебного процесса. На наш взгляд, дело обстоит не совсем так. Информационные технологии представляют собой в руках преподавателя мощный инструмент, овладев которым можно разрабатывать методики обучения, адекватные современным условиям. Сами по себе они не исключают ни методику, ни преподавателя. Так же, как когда-то компьютерные технологии заменили счеты, но не бухгалтера, в учебном процессе компьютерные технологии заменят доску и мел, но не преподавателя. Функции обучения, такие как изложение теоретического материла, формирование практических навыков, промежуточный и итоговый контроль и т.п., в условиях применения информационных технологий пусть и опосредованно, но все-таки сохраняются за преподавателем. Роль методики и педагогического мастерства, если подходить к созданию электронных учебных курсов неформально, скорее возрастает, чем снижается. Информационные технологии как средство обучения дают новый стимул для развития методики обучения.
i Шоленкова Светлана Павловна - канд. пед. наук, доцент, заведующая кафедрой прикладной информатики Регионального открытого социального института, г.Курск
Home | Copyright © 2025, Russian-American Education Forum