Содержание к диссертации
Введение
ГЛАВА 1. ФАКТОРЫ, ВЛИЯЮЩИЕ НА СОДЕРЖАНИЕ И МЕТОДЫ ПРЕПОДАВАНИЯ КУРСА "ЯЗЫКИ И МЕТОДЫ ПРОГРАММИРОВАНИЯ" В ПЕДАГОГИЧЕСКОМ ВУЗЕ
1.1 Современные подходы к программированию 11
1.2 Изучение алгоритмизации и программирования в школьном курсе информатики 20
1.3 Роль решения задач при обучении алгоритмизации и программированию 33
1.4 Разработка компьютерных игр как средство выработкти алгоритмических навыков решения задач 39
Вывод по главе 1 , 49
ГЛАВА 2. МЕТОДИКА РЕАЛИЗАЦИИ ЛИНИИ АЛГОРИТМИЗАЦИИ В КУРСЕ "ЯЗЫКИ И МЕТОДЫ ПРОГРАММИРОВАНИЯ" ПРИ ПОДГОТОВКЕ УЧИТЕЛЯ ИНФОРМАТИКИ 50
2.1 Место курса "Языки и методы программирования" в системе подготовки учителя информатики 51
2.2 Отбор содержания и методика изложения курса Языки и методы программирования" 58
2.3 Построение системы задач, способствующих установлению межпредметных связей высшей математики и информатики при реализации линии алгоритмизации в курсе "Языки и методы программирования" 75
2,3.1. Логические игры с предметами для двух участников 77
2-3.2. Игры для одного лица 81
23.3. Задача оптимизации и алгоритмы ее решения для одномерной унимодальной функции 85
2.3.4. Оптимизационные задачи на графах 97
2.4 Результаты педагогического эксперимента
Вывод по главе 2 > 116
ЗАКЛЮЧЕНИЕ 118
ЛИТЕРАТУРА 121
ПРИЛОЖЕНИЕ 1. Рабочая программа курса "Языки и методы программирования" (Язык программирования Паскаль) для студентов физико-математического факультета специальностей "Математика и информатика", "Физика и информатика" Комсомольского-на-Амуре
государственного педагогического института 135
ПРИЛОЖЕНИЕ 2, Алгоритмы решения некоторых задач 139
ПРИЛОЖЕНИЕ 3. Данные педагогичешсого эксперимента, проходившего с сентября 1994 г. по июнь 1998 г, на физико-математическом факультете Комсомольского-на-Амуре государственного педагогического института .......148
ПРИЛОЖЕНИЕ 4, Данные педагогического эксперимента, про
ходившего с сентября 1994 г. по июнь 1998 г. в физи
ко-математической школе-гимназии № 165 г. Комсо
мольска-на-Амуре 153
- Современные подходы к программированию
- Изучение алгоритмизации и программирования в школьном курсе информатики
- Место курса "Языки и методы программирования" в системе подготовки учителя информатики
Современные подходы к программированию
Как уже отмечалось выше, одним из принципов отбора содержания курса ЯМП является принцип научности, который состоит в том, что образовательный материал должен соответствовать уровню современной науки. Рассматривая развитие языков программирования ( [118], [124], [145]), можно отметить, что за полвека они прошли путь от машинных языков, до языков, близких к человеческому.
Первым программистам требовались знания в области математики и вычислительной техники. Это связано с тем, что при составлении программы на машинном языке было необходимо знать структуру и принципы работы ЭВМ, уметь кодировать информацию. Сложность заключалась и в том, что программа решения какой либо задачи, составленная для одной машины, совершенно не подходила для ЭВМ другого типа.
Первым этапом в развитии языков программирования стало создание языка символьного кодирования (автокода). Команды, написанные на автокоде, начали переводить на машинный язык при помощи специальной программы - транслятора.
Дальнейшее развитие идеи применения укрупненных команд - операторов привело к созданию операторных языков. Оператор может задавать выполнение целой последовательности элементарных действий, В зависимости от сложности конструкций операторов различают простые и развитые оп аторные языки, а также операторные языки высокого уровня. Операторные языки высокого уровня получили наибольшее р аспр о странение.
Один из первых операторных языков программирования -Фортран, был создан в середине 50-х гг. XX в. С тех пор за исторически короткий период создано несколько сотен различных языков программирования и их версий, предназначенных для решения различных типов задач.
Первые ЭВМ использовались для решения научно-технических и инженерных задач, поэтому и первые языки программирования разрабатывались в расчете на запись алгоритмов таких задач, для которых характерно широкое использование математических методов и проведение числовых расчетов. Первым языком такого типа и был Фортран. Сейчас компьютеры применяют в самых разных областях человеческой деятельности, причем сфера применения ЭВМ продолжает расширяться. В общем объеме задач, решаемых на ЭВМ, уменьшается доля задач, связанных с обработкой числовой информации. Зато увеличивается доля задач, связанных с обработкой нечисловой информации (текстовой, графической, звуковой и т.п.). Поэтому появились языки программирования, ориентированные на новые сферы применения, в том числе, предназначенные для обучения: Паскаль, Бейсик, Лого и другие.
Необходимость разработки больших программ, в том числе программ, управляющих работой ЭВМ (системных программ), потребовала создания специального языка программирования Си. Этот язык используется не только для системного программирования, но и для написания больших вычислительных программ, программ обработки текстов, проектирования, управления оборудованием и других целей.
Изменение подхода к программированию и появление функционального программирования приведи к созданию языка Пролог.
Наряду со специальными языками, в. было предпринято несколько попыток разработать универсальный язык. Этой работой занимались параллельно несколько разных групп специалистов, В результате было создано несколько универсальных языков программирования: ПЛ/1, Алгол-68, Ада.
Но развитие систем программирования диктовалось не только расширением классов решаемых задач, оно также было связано и с изменением подходов к составлению программ.
Изучение алгоритмизации и программирования в школьном курсе информатики
Направление подготовки учителя информатики во многом зависит от современного содержания школьного курса информатики, от того, какие требования предъявляются к знаниям, умениям и навыкам школьников, поэтому проанализируем, какие аспекты школьного курса информатики выделяются в настоящее время, какое место отводится алгоритмическому (программистскому) аспекту.
Специальные школы физико-математического профиля с ориентацией профессиональной подготовки школьников на изучение основ программирования и использования вычислительной техники начали появляться с 1959 года по инициативе члена-корреспондента АПН СССР СИ. Шварцбурда.
В 60-е годы впервые был поставлен вопрос о включении основ программирования и вычислительной техники в содержание общего образования. В дальнейшем были созданы первые учебные пособия по программированию, разработаны методики обучения ([100], [42], [25], [2], [61], [62]), исследованы общеобразовательные аспекты обучения программированшо, определены пути и средства формирования алгоритмической культуры учащихся в курсах математики и проіраммирования ([63], [76]), проанализированы возможности изучения информатики в общеобразовательной средней школе ([51], [52], [53], [54], [55], [57]).
В 1985 году курс "Основы информатики и вычислительной техники" (ОИВТ) был введен как обязательный в старших классах средней школы. Первоначально он ориентировался на безмашинное изучение предмета, поэтому был призван решать проблему овладения всеми учащимися компьютерной грамотностью, общеобразовательный минимум которой включал:
- понятие об алгоритме, его свойствах, средствах описания алгоритма, программе как форме представления алгоритма для ЭВМ; первоначальные умения программирования и навыки общения с ЭВМ;
- общие принципы строения ЭВМ, принцип действия и устройство основных элементов ЭВМ;
- применение вычислительной техники в производстве и других отраслях деятельности человека, роль ЭВМ в развитии общества.
Значительное место в содержании первой группы вопросов занимало развитие алгоритмической культуры школьников. Такое содержание курса ОИВТ было, во-первых, обусловлено его профессиональной направленностью, во-вторых, необходимостью сформировать определенный комплекс практических умений и навыков. Но "обеспечить курс системой задач и упражнений, практической работой в условиях безмашинного варианта обучения было возможно, лишь шсЕЗДШШШи ШШ ное внимание в его содержании на формировании алгоритмической культуры, развитии навыков гщопзаммирования." [73, стр. 15-16]
В практике преподавания курса информатики до сих пор еще можно наблюдать подмену выработки алгоритмических навыков решения задач на преподавание яяыка программирования, поэтому конкретней , что понимается под каждым из этих понятий.
"Алгоритмизация - это не низшая, предварительная форма программирования. Это специально "выращенная" у учащегося способность, черта мышления, необходимая для решения определенного типа задач. Алгоритмизация не предполагает в общем даже существования компьютера.
Место курса "Языки и методы программирования" в системе подготовки учителя информатики
Чтобы определить место курса ЯМП в педагогическом вузе необходимо ответить на фундаментальную серию вопросов: "Зачем, чему и как следует учить будущих учителей информатики?"
Переход высшего образования на новую структуру предполагает его совершенствование в целом и, в частности, углубление и совершенствование взаимосвязи фундаментальности и профессиональной направленности подготовки специалистов в течение всего периода обучения в педвузе.
Профессиональная направленность содержания общекультурной и специальной подготовки студентов педвузов является одной из наиболее актуальных проблем методики преподавания в высшей школе.
Высшей целью в подготовке учителя информатики является социальный заказ общества, который был конкретизирован с принятием государственных стандартов. В соответствии с целью составляется учебный план, в котором учитываются все учебные предметы, входящие в систему подготовки специалистов, В настоящее время государственный стандарт для вузов ограничивается только перечнем дисциплин, которые должны включаться в учебный план подготовки специалиста того или иного профиля (в том числе и учителя информатики), и кратким пере числением вопросов, которые должны быть раскрыты в преподавании предметов. Отводимый на каждый предмет объем часов, их деление по видам занятий и порядок следования предметов по годам обучения предоставляется определять вузам. Все это надо учитывать при планировании изложения материала в каждом курсе.
Рассмотрим перечень предметов, которые включены в учебный план специальности "Информатика". Не будем останавливаться на предметах общекультурного и психолого-педагогического блоков, выделив из них только методику преподавания информатики (МПИ), зато подробно рассмотрим предметный блок. Он содержит следующие дисциплины:
1. Элементы высшей математики;
2. Теория вероятности и математическая статистика;
3. Элементы дискретной математики;
4. Исследование операций;
5. Численные методы;
6. Элементы физики;
7. Теоретические основы информатики (ТОЙ);
8. Программное обеспечение ЭВМ (ПО ЭВМ);
9. Языки и методы программирования (ЯМП);
10. Вычислительная техника;
11. Информационные системы;
12. Компьютерное моделирование;
13. Практикум по решению задач на ЭВМ;
14. Дисциплины специализации;
15. Курсы по выбору.
Первым и наиболее важным шагом в оптимизации учебного процесса является установление межпредметных связей дисциплин, определенных структурой образовательного процесса в учебных планах по специальностям. Преподаватель, ведущий ту или иную дисциплину, на момент преподавания должен знать» что студент владеет знаниями, необходимыми для усвоения изучаемой темы. Студент, в свою очередь, должен знать, какие дисциплины и их разделы помогут ему осмыслить теоретические положения курса ЯМП, приобрести навыки написания и оптимизации программ. Согласованные структурно-логические связи позволяют преподавателям рационально излагать материал, а студентам рационально учиться.
В докторской диссертации В.И. Пугач [I16] предлагает структуру курсов по кафедре информатики и вычислительной техники во взаимосвязи с другими предметами, но основной упор делает на взаимосвязь отдельных разделов курса информатики.
Нами сделана попытка выявить взаимосвязь отдельных дисциплин предметного блока и МПИ с курсом ЯМП, так как большую роль в подготовке учителя информатики в области алгоритмизации и программирования играет весь комплекс знаний, полученный не только при изучении предметов информационного цикла (ТОЙ, ПО ЭВМ, Выч. техн.; Инф. системы, Компьютерное моделирование), но и знания, получаемые при изучении дисциплин математического цикла.