Методика изучения языка программирования Python в углубленном курсе информатики с применением дистанционных курсов Coursera

Исторические аспекты развития линии "Алгоритмизация и программирование" в старшей школе. Изучение языка программирования Python с применением дистанционных курсов Coursera. Методическая система обучения программированию с использованием Coursera.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.12.2017
Размер файла 808,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Методика изучения языка программирования python в углубленном курсе информатики с применением дистанционных курсов coursera

Оглавление

Введение

Глава 1. Научно-методические основы изучения программирования в средней школе

1.1 Исторические аспекты развития линии «Алгоритмизация и программирование»

1.2 Авторские подходы к изучению линии «Алгоритмизация и программирование» в старшей школе

1.3 Python - язык программирования для изучения в школе

Выводы к первой главе

Глава 2. Изучение языка программирования Python в углубленном курсе информатики с применением дистанционных курсов Coursera

2.1 Возможности дистанционных курсов Coursera для изучения языка программирования Python

2.2 Раскрытие методической системы обучения программированию с использованием Coursera

2.3 Практическая реализация предлагаемой методики изучения программированию в углубленном курсе информатики старшей школы

2.4 Результаты апробации в старшей школе

Заключение

Список литературы

Введение

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

Адаптация к изменениям в современном обществе сопровождается изменениями в системе образования. Одним из положительных изменений для школьников является включение языка Python, с 2011 года в школьные олимпиады, а с 2015 - в ЕГЭ по информатике.

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

«Каким образом применить дистанционные курсы в традиционной школе?». Ответом возможно станет новаторская модель обучения «перевернутый класс».

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

Актуальность темы исследования обусловлена множеством факторов, важнейшими из которых являются:

· требования ФГОС СОО к предметным результатам освоения углубленного курса информатики, где владение универсальным языком программирования высокого уровня (по выбору) выступает как один из компонентов;

· формирование готовности обучающегося к осознанному выбору профессии в сфере IT-технологий;

· формирование готовности обучающихся к саморазвитию и непрерывному образованию, которое согласно ФГОС СОО является одной из важнейших целей современного образования;

· требования ФГОС ОО к формированию новой образовательной среды, одним из компонентов которой является дистанционное обучение;

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

Поэтому целью исследования является разработка методики изучения языка программирования Python в углубленном курсе информатики с применением дистанционных курсов courserа.

Объектом исследования является процесс обучения информатике в общеобразовательной школе.

Предметом исследования является изучение программирования в углубленном курсе информатики старшей школы.

В соответствии с целью были поставлены следующие задачи:

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

· Провести анализ документов и учебников по информатике на тему: "Развитие линии "Алгоритмизация и программирование" на протяжении 30 лет"

· Провести анализ существующих авторских подходов к изучению программирования в старшей школе

· Провести сравнительный анализ языков программирования, используемых в школе и выделить преимущества языка программирования Python при его использовании в школе

· Провести анализ образовательной MOOK-платформы Coursera, как методической системы обучения в общеобразовательной школе

2. Разработать методику изучения языка программирования Python в углубленном курсе информатики с применением дистанционных курсов Coursera.

3. Апробировать разработанную методику

4. Провести анализ полученных данных и сделать выводы.

Поставленные задачи обуславливают определенную структуру исследования, которая состоит из введения, двух глав, заключения и списка литературы.

Используемые методы исследования:

1. Теоретические:

· анализ научной, методической, исторической, специализированной литературы по теме исследования;

· анализ ФГОС СОО, учебных программ, учебников и методических пособий по информатике;

· изучение, систематизация и обобщение опыта обучения информатике.

2. Эмпирические:

· наблюдение;

· тестирование;

· педагогический эксперимент, его анализ.

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

Глава 1. Научно-методические основы изучения программирования в средней школе

1.1 Исторические аспекты развития линии «Алгоритмизация и программирование»

Становление информатики как полноценного общеобразовательного предмета в школе претерпело множество изменений. В данном параграфе мы проследим этапы эволюции информатики в школе на протяжении 30 лет (в частности - содержательной линии «Алгоритмизация и программирование»).

I. «Программирование - вторая грамотность». 1985 - 1991 гг.

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

Основоположником информатики в школе принято считать Ершова Андрея Петровича, выдающегося советского ученого, программиста. В 1981 году на 3-й Всемирной конференции Международной федерации по обработке информации и ЮНЕСКО по применению ЭВМ в обучении он делает доклад под названием «Программирование - вторая грамотность» [30].

В своем докладе Ершов сравнивает грамотность и программирование:

· в основе обоих лежит изобретение: печатный станок и ЭВМ;

· оба являются «выражением органической способности человека»;

· «дополняют друг друга, формируя новое представление о гармонии человеческого ума».

А также книги и вычислительные машины:

· оба элемента - носители информационной модели внешнего мира.

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

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

«Программирование - вторая грамотность» вскоре становится лозунгом, а с 1 сентября 1985 года в учебные планы школ включен обязательный курс для 9-10 классов.

1986 год: издано первое пробное учебное пособие для средних учебных заведений «Основы информатики и вычислительной техники» в двух частях под редакцией А.П. Ершова и В.М. Монахова [2928]. Основные понятия курса:

«компьютер», «программа», «исполнитель», «алгоритм».

Первая проблема, с которой столкнулось большинство школ - отсутствие компьютерной техники. Интерес молодежи к использованию ЭВМ рос, однако знакомства с машинами пока были ограничены и информатику изучать приходилось без практики на вычислительной машине. Однако к концу 80-х годов в образовательные учреждения начала массово поставляться отечественная компьютерная техника и последовала следующая задача: разработать единое программно-методическое обеспечение курса информатики по причине разнородности вычислительной техники. Как результат, с 1986 года в педагогических ВУЗах началась подготовка учителей информатики.

Появляются еще три учебника рекомендованные к изучению информатики как альтернативные и равноправные [6], [14], [5]:

Название учебника

Авторы

Особенности

1

«Основы информатики

В.А. Каймин,

Формирование

компьютерной

и вычислительной

А.Г. Щеголев,

грамотности, логического

техники»

Е.А. Ерохина,

мышления,

(1989 г.)

Д.П. Федюшин.

информационной

культуры школьников.

2

«Основы информатики и вычислительной техники»

(1990 г.)

А.Г. Кушниренко, Г.В. Лебедева, Р.А. Свореня.

Формирование алгоритмического мышления школьников.

3

«Основы информатики и вычислительной техники»

(1991 г.)

А.Г. Гейн,

В.Г. Житомирский, Е.В. Линецкий, М.В. Сапир,

В.Ф. Шолохович.

Формирование способности школьников к моделированию.

В 1990 году была опубликована одна из основных работ в области фундаментальных проблем информатики заслуженного научного деятеля Российской Федерации - Константина Константиновича Колина под названием

«О структуре научных исследований по комплексной проблеме «Информатика» [13].

Одними из главных особенностей информатики, по мнению К.К. Колина

– востребованность её методов предметными областями науки, а также инновационность и возможность использования многими сферами научного познания.

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

Таким образом, он впервые рассмотрел информатику как «комплексную междисциплинарную проблему» и тем самым заложил зерно революционно-

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

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

II. «Компьютерная грамотность - каждому школьнику». 1992 - 1999гг.

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

После принятия в 1992 году закона «Об образовании», курс становится рекомендованным с 7 класса. Название предмета также меняется с «Основы информатики и вычислительной техники» на «Информатика».

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

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

«Алгоритмы и исполнители», «Формализация и моделирование»,

«Информационные технологии».

На данном этапе выделяют пропедевтический (1-6 классы), базовый (7-9 классы), профильный (10-11 классы) курсы информатики в школе.

III. ФК ГОС 2004

2004 год: следующий устойчивый уровень обучения информатики в школе - Федеральный компонент государственного образовательного стандарта. Разработкой учебников, соответствующих новому обязательному минимуму содержания обучения информатике занимались следующие преподаватели: Гейн А.Г., Семакин И.Г., Горячев А.В. (начальная школа). После анализа данных учебников были утверждены содержательные линии курса информатики: «Информация и информационные процессы»,

«Представление информации», «Компьютер», «Моделирование»,

«Алгоритмизация и программирование», «Информационные технологии».

В преподавании курса «Информатики и ИКТ» по образовательному стандарту ГОС-2004 реализуется важнейшее требование модернизации школьного образования - переход от знаниевой к развивающей модели обучения, к деятельностным формам организации учебного процесса. На это направлена система формирования разнообразных умений, навыков и способов познавательной деятельности учащихся в процессе обучения как информатики, так и других предметов. Появляется множество различных учебников по данному курсу, однако в силу различий авторских подходов к преподаванию курса «Информатика и ИКТ» педагог свободен в выборе учебника.

УМК. Горячев А.В., Матвеева Н.В., и др. - основные учебники пропедевтического курса, Гейн А.Г., Семакин И.Г., Угринович Н.Д., Макарова Н.В. Босова Л.Л. и др. - основные учебники базового и профильного обучения. Основные идеи, реализованные во всех учебниках данного поколения это личностно-ориентированное обучение, дифференциация на старшей ступени, выход на компетенции средствами одного предмета.

Однако, проанализировав несколько УМК по преподаванию линии программирования, можно увидеть, что авторская свобода слишком существенная: многие авторы не уделяют достаточного внимания линии

«Алгоритмизация и программирование».

IV. ФГОС (НОО-2009, ООО-2010, СОО-2012)

Появление таких документов, как ФГОС начального общего образования (2009) [1], ФГОС основного общего образования (2010) [2], ФГОС среднего (полного) общего образования (2012) [3] сильно повлияло на усиление содержательной части предмета «Информатика», особенно в линии

«Алгоритмизация и программирование». В соответствии с ФГОС реализуется системно-деятельностный подход к образованию и выход на компетенции средствами всех предметов.

В документе нет фиксированного содержания по предмету, только требования к результатам освоения ООП. Особенностью введения ФГОС является возможность свободного конструирования содержания предмета, опираясь на личностные, метапредметные и предметные требования, описанные в документе.

Новые предметные требования ФГОС старшей школы к результатам освоения объектно-ориентированного программирования повлияли на написание еще нескольких УМК для старшей школы: УМК авторов И.А. Калинина, Н.Н. Самылкиной, К.Ю. Полякова, Е.А. Еремина.

Цель изучения линии "Алгоритмизация и программирование" определяется двумя взаимосвязанными аспектами: первый - развивающий, под которым подразумевают развитие алгоритмического стиля мышления, второй - программистский, т.к. составление программ начинается с построения алгоритма, отсюда важнейшее качество программиста - развитое алгоритмическое мышление, позволяющее сформировать умение средствами языка программирования решить типовую задачу.

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

некоторых авторов учебников (В.А. Каймин, Ю.А. Первин, А.Л. Семенов, С.К. Ландо и др.) алгоритмическое мышление является частью логического и формируется оно уже с начальной школы.

1.2 Авторские подходы к изучению линии «Алгоритмизация и программирование» в старшей школе

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

Авторский коллектив: И.А. Калинин, Н.Н. Самылкина.

В состав учебно-методического комплекта входит:

· «Информатика. Углубленный уровень: учебник для 10 класса» [9];

· «Информатика. Углубленный уровень: учебник для 11 класса» [10];

· Задачник-практикум с диском [11];

· Сборник проверочных тестов;

· Методическое пособие для учителя [7].

Учебник для 10 класса.

§16. Алгоритм и его свойства.

· Строгое определение алгоритма. Машина Тьюринга

· Алгоритмически неразрешимые проблемы

· Сравнение алгоритмов

алгоритм; свойства алгоритма: результативность, детерминированность, понятность и дискретность, эффективность, массовость; машина Тьюринга; вычислимая функция; алгоритмически неразрешимые

проблемы; сложность алгоритма; классы сложности;

§17.

Программирование.

· Языки программирования, трансляторы

· Разработка программного обеспечения

язык программирования; языки низкого, аппаратного и высокого уровней; трансляторы; интерпретаторы; компиляторы; компоновка; библиотека функций; принципы структурного программирования; разработка программного обеспечения.

§18. Структуры данных.

· Списки

· Деревья

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

§19. Типовые алгоритмы.

· Поиск

· Сортировка

задача поиска; поиск в отсортированной последовательности; хэшированная таблица; коллизия; задача сортировки; сортировка простыми обменами или «алгоритм пузырька»; быстрая сортировка;

Авторский коллектив: И.Г.Семакин, Т.Ю. Шейна, Л.В. Шестакова.

В состав учебно-методического комплекта входит:

· «Информатика. Углубленный уровень: учебник для 10 класса: в 2 частях» [22];

· «Информатика. Углубленный уровень: учебник для 11 класса: в 2 частях» [23];

· Компьютерный практикум;

· Методическое пособие для учителя.

Учебник для 10 класса. Часть 1.

§1.7.1. Определение, свойства и описание алгоритма.

алгоритм; алгоритм обработки информации; алгоритмические машины; система команд исполнителя (СКИ); «команда исполнителя», «шаг или действие исполнителя»; свойства алгоритма: понятность, дискретность, конечность, точность, массовость (универсальность); способы описания алгоритмов: следование, ветвление, цикл (с предусловием, с постусловием, с параметром); языки описания алгоритмов: язык блок-схем, учебный Алгоритмический язык, языки программирования.

§1.7.2.

Алгоритмическая машина Тьюринга.

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

§1.7.3.

Алгоритмическая машина Поста.

устройство машины Поста; отличие от машины Тьюринга; программирование машины Поста; нормальные алгоритмы Маркова; теорема об эквивалентности алгоритмических моделей.

§1.7.4. Этапы алгоритмического

программа управления компьютером; система команд: простые (ввод, вывод), присваивание, структурные

решения задачи.

(ветвление, цикл); этапы решения задачи: постановка, формализация, построение алгоритма, программирование, тестирование; план тестирования; синтаксическая ошибка; отладка.

§1.7.5. Алгоритмы поиска данных.

атрибуты поиска: набор данных, ключ поиска, критерий поиска (условие поиска); организация набора данных: неструктурированный набор данных, структура данных; алгоритмы поиска: случайный перебор, последовательный перебор, поиск половинным делением, блочно-последовательный поиск, поиск методом спуска по дереву.

§1.7.6.

Программирование поиска

организация данных; программа последовательного поиска; программа бинарного поиска: интервал поиска, верхняя и нижняя границы.

§1.7.7. Алгоритмы сортировки данных.

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

Учебник для 11 класса. Часть 1.

§2.1. Эволюция программирования.

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

§2.2. Структурное программирование

§2.2.1. Паскаль - язык структурного программирования.

история Паскаля; Паскаль; структура процедурных языков программирования высокого уровня; основные составляющие языков программирования: алфавит, синтаксис, семантика.

§2.2.2. Элементы

языка и типы данных.

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

§2.2.3. Операции, функции, выражения.

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

§2.2.4. Оператор присваивания, ввод и вывод данных.

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

§2.2.5. Структуры алгоритмов и

базовые алгоритмические структуры: следование, ветвление, цикл (с предусловием, с постусловием);

программ.

комбинации базовый структур: последовательность, вложенность; структурный алгоритм (программа); структурирование текста программы.

§2.2.6.

Программирование ветвлений.

программирование ветвлений: условный оператор, оператор выбора.

§2.2.7.

Программирование циклов.

разновидности циклических алгоритмов: циклы с заданным числом повторений, итерационные циклы; операторы цикла: цикл-пока, цикл с параметром, цикл- до.

§2.2.8.

Вспомогательные алгоритмы и подпрограммы.

подпрограммы: процедуры, функции; параметры подпрограмм: параметры-переменные, параметры- значения.

§2.2.9. Массивы.

массив; регулярный тип; описание массивов; идентификация элементов массива; одномерный и многомерный массивы; ввод/вывод массивов.

§2.2.10. Типовые

задачи обработки массивов.

задачи обработки массива: заполнение массива, поиск в массиве, сортировка массива; датчик случайных равномерно распределенных чисел;

§2.2.11. Метод последовательной детализации.

метод последовательной программирование «сверху подпрограммы.

вниз»;

детализации; интерфейс

§2.2.12. Символьный тип данных.

величины символьного типа; функции Ord(x) и Chr(x); принцип последовательного кодирования.

§2.2.13. Строки символов.

строка; строковая константа; описание строковой переменной; обозначение символа в строке; операции над строками; стандартные функции и процедуры.

§2.2.14.

Комбинированный тип данных.

комбинированный тип данных; тип поля; запись; идентификация поля записи.

§2.3.Рекурсивные методы программирования

§2.3.1. Рекурсивные подпрограммы.

n-шаговая рекуррентная последовательность; рекуррентная формула; рекурсивная подпрограмма (функция, процедура); примеры рекурсивного программирования: задача о Ханойской башне, быстрая сортировка (Э.Хоар)

§2.3.2. Задача о Ханойской башне.

§2.3.3. Алгоритм быстрой сортировки.

§2.4. Объектно-ориентированное программирование

§2.4.1. Базовые понятия объектно- ориентированного программирования.

класс; объект; базовые принципы ООП: инкапсуляция, наследование, полиморфизм.

§2.4.2. Система программирования Delphi.

Delphi; среда системы программирования Delphi; форма; элементы управления; методы; событийно- управляемое программирование.

§2.4.3. Этапы программирования Delphi.

создание консольного приложения; создание оконного приложения: проектирование и конструирование интерфейса, реализация обработки событий.

§2.4.4.

Программирование метода статически испытаний.

метод статических испытаний (метод Монте-Карло); вычисление числа , статистическая оценка , причины погрешности результата.

§2.4.5. Построение графика функций.

холст; свойства холста; рисование на холсте; рисование графика функции.

Авторский коллектив: К.Ю. Поляков, Е.А. Еремин.

В состав учебно-методического комплекта входит:

· «Информатика. Углубленный уровень: учебник для 10 класса: в 2 частях» [20];

· «Информатика. Углубленный уровень: учебник для 11 класса: в 2 частях» [21];

· Задачник-практикум с диском;

· Сборник проверочных тестов;

· Методическое пособие для учителя.

Учебник для 10 класса. Часть 2.

Глава 8. Алгоритмизация и программирование.

§54. Алгоритм и его свойства.

алгоритм; исполнитель; формальный исполнитель; свойства алгоритма: дискретность, детерминированность, понятность, конечность, корректность; способы записи алгоритма: на естественном языке, на псевдокоде, в виде блок-схем, в виде программы; язык Паскаль; язык КуМир (школьный алгоритмический язык).

§55. Простейшие программы.

Пустая программа; вывод текста На экран;

переменная: тип, имя, значение; оператор присваивания; список вывода.

§56. Вычисления.

типы данных; арифметические выражения и операции; вещественные значения; стандартные функции; псевдослучайные и случайные числа.

§57. Ветвления.

линейные программы; условные операторы: в полной и неполной форме; сложные условия; множественный выбор.

§58. Циклические алгоритмы.

цикл; цикл с предусловием и постусловием; цикл с переменной; вложенный цикл.

§59. Процедуры.

процедура; процедура с параметрами; параметр; аргумент; локальная переменная; изменяемые параметры; передача параметра по значению: параметры: аргументы и результаты (в школьном алгоритмическом зыке).

§60. Функции.

функция; логические функции: логические переменные и значения.

§61. Рекурсия

рекурсия; числа Фибоначчи; фракталы; Треугольник Серпинского; Ханойские башни; рекурсивная процедура (функция); примеры; алгоритм Евклида; стек; итерационный алгоритм.

§62. Массивы.

массив; перебор элементов.

§63. Алгоритмы обработки массива.

поиск в массиве; максимальный элемент массива; реверс массива; сдвиг элементов массива: циклический сдвиг; отбор нужных элементов массива.

§64. Сортировка.

сортировки: простые и сложные; метод пузырька (сортировка обменами); «быстрая сортировка»: медиана массива.

§65. Двоичный поиск.

линейный и двоичный поиск.

§66. Символьные строки.

символьная строка; операции со строками: конкатенация, поиск в строках; пример обработки строк; преобразование число - строка; рекурсивный перебор; сравнение и сортировка строк.

§67. Матрицы.

двумерный массив (матрица); обработка элементов матрицы: квадратная матрица, главная диагональ, элементы побочной диагонали;

§68. Работа с файлами.

файлы: текстовые и двоичные; принцип работы: открыть файл - работа с файлом - закрыть файл; подсчет количества данных в файле; обработка массивов;

Учебник для 11 класса. Часть 2.

Глава 5. Элементы теории алгоритмов.

§34. Уточнение понятия алгоритма.

алгоритмические неразрешимые задачи; теория алгоритмов; эквивалентные алгоритмы; универсальный исполнитель; алгоритм; машина Тьюринга; автомат: состояния, программа; тезис Чёрча-Тьюринга; машина Поста; нормальные алгорифмы Маркова.

§35. Алгоритмически неразрешимые

вычислимые и невычислимые функции; алгоритмически разрешимая и неразрешимая задача;

задачи.

проблема останова; проблема эквивалентности;

§36. Сложность вычислений.

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

§37. Доказательство правильности программ.

тестирование; доказательство программирования; алгоритм Евклида; инвариант цикла; спецификация; корректная программа; верификация программ.

Глава 6. Алгоритмизация и программирование.

§38. Целочисленные алгоритмы.

решето Эратосфена; «длинные» числа.

§39. Структуры (записи).

структура; объявление структур; обращение к полю структуры; работа с файлами: типизированные файлы; сортировка массива структур: указатель.

§40. Динамические массивы.

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

§41. Списки.

список; использование динамического массива; модульность; связные списки.

§42. Стек, очередь, дек.

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

§43. Деревья.

дерево: узлы, дуги, корень дерева, листья; потомок,

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

§44. Графы.

граф: вершины, ребра, петля; связный граф; ориентированный граф; взвешенный граф: вер ребра, весовая матрица; «жадные» алгоритмы; задача построения минимального остовного дерева; кратчайшие маршруты; алгоритм Дейкстры; алгоритм Флойда-Уоршелла; задача Комивояжёра; задача о минимальном потоке; задача о наибольше паросочетании.

§45. Динамическое программирование

динамическое программирование; поиск оптимального решения; задача о куче; задача (размен монет)

Глава 7. Объектно-ориентированное программирование.

§46. Что такое ООП?

абстракция; объектная модель задачи.

§47. Объекты и классы.

объект; объектно-ориентированный анализ (ООА); класс; метод; интерфейс.

§48. Создание объектов в

программе.

поле; конструктор; экземпляр класса.

§49. Скрытие внутреннего устройства.

инкапсуляция; свойство.

§50. Иерархия классов.

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

§51. Программы с графическим интерфейсом.

сообщение; широковещательное сообщение; событие; событийно-ориентированный стиль программирования; среды быстрой разработки приложений - RAD-среды.

§52. Основы программирования в RAD-средах.

общий подход; простейшая программа; свойства объектов; обработчики событий.

§53. Использование компонентов.

программа с компонентами; ввод и вывод данных; обработка ошибок.

§54.

Совершенствование компонентов.

§55. Модель и представление.

модель; представление; вычисление арифметических выражений: модель; вычисление арифметических выражений: представление;

На основе изученных УМК можно сделать следующие выводы:

Авторский подход

Выводы

1

И.А. Калинин, Н.Н. Самылкина

1.1. Изучение линии «Алгоритмизация и программирование» предполагается в 10 классе;

Материал четко структурирован и скомпонован, занимает 4 параграфа в основном учебнике;

Авторы считают нужным знакомить учащихся с различными языками программирования, чему свидетельствует наличие приложения в конце учебника, где рассмотрены понятия о псевдокоде и процедурных языках программирования, таких как Паскаль и язык С;

Практическая часть изучения программирования представлена в практикуме, где:

· приводится информация, дополняющая основные аспекты, изложенные в учебнике;

· происходит знакомство со средой программирования;

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

2

И.Г.Семакин, Т.Ю. Шейна, Л.В. Шестакова

Изучение линии «Алгоритмизация и программирование» предполагается в 10 и 11 классах;

Материал изложен в большом количестве, с хорошим окончанием каждого параграфа - обобщающей таблицей;

Авторы отдают предпочтение одному языку программирования - Паскаль, выстраивают параграфы учебника в соответствии с изучением

отдельных тем языка;

Практически после каждого параграфа предлагается выполнить работу из практикума:

· для практических работ, опирающихся на изучение линии по учебнику 10 класса - реализовать программы, представленные в основном учебнике или чуть усовершенствовать их;

· для практических работ, опирающихся на изучение линии по учебнику 11 класса - большое количество задач для отработки или индивидуальных заданий по программированию на языке Паскаль;

3

К.Ю. Поляков, Е.А. Еремин

Изучение линии «Алгоритмизация и программирование» предполагается в 10 и 11 классах;

Материал изложен в большом количестве и сложным языком;

Авторы не ограничиваются знакомством с двумя языками программирования (Паскаль, КуМир): практически после каждого параграфа предлагается подготовить сообщение по теме параграфа с использованием не изучаемых в учебнике языков (в том числе Python);

Практические задания отдельно по каждой теме нарастающей сложности;

Общий вывод:

1. Из пунктов 1.1, 2.1, 3.1 следует, что авторские коллективы под номерами

2 и 3 уделяют большее количество времени в старшей школе при

изучении линии «Алгоритмизация и программирование» на профильном уровне;

2. Из пунктов 1.2, 2.2, 3.2 следует, что авторский коллектив под номером 1 считает нужным давать основные аспекты программирования, в то время как 2 и 3 предлагает большее количество дополнительной информации;

3. Из пунктов 1.3, 2.3, 3.3 следует, что авторы под номером 1 предполагают изучение программирования при помощи языков программирования С, Паскаль и Псевдокода, 2 - только Паскаля, 3 - Паскаля и КуМира (школьный алгоритмический язык);

4. Из пунктов 1.4, 2.4, 3.4 следует, что:

· авторский коллектив под номер 1 предлагает социально-значимые практические задания нарастающей сложности;

· 2 коллектив практикует задачи, предложенные в учебнике для учащихся 10 класса и дает возможность использовать большое количество типовых задач различной сложности для отработки тем изучения языка программирования Паскаль в 11 классе;

· 3 авторский коллектив предлагает выполнять практические задания по определенным темам изучения языка программирования разной сложности.

1.3 Python - язык программирования для изучения в школе

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

Приведем некоторые критерии, которые важно учитывать при выборе языка программирования в общеобразовательной школе:

· Простота изучения;

· Понятность программного кода;

· Высокая скорость разработки;

· Современность;

· Интерактивность.

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

Естественным образом возникают вопросы «В чем причина популярности Python?» и «Почему именно Python нужно использовать в школе?».

Для многих основное преимущество языка Python заключается в удобочитаемости программного кода, который в большинстве случаев более компактен, чем на других языках программирования. На различных форумах включение данного языка в ЕГЭ считают «правильным сдвигом», поскольку код на нем выглядит меньше, читается легче и не содержит в себе «лишней» информации в виде инструкций, которые не имеют непосредственного отношения к алгоритму (например, int main() в C++) и таким образом экономит время учащегося на решение задачи.

Объем программного кода на языке Python обычно составляет треть или даже пятую часть эквивалентного программного кода на языке С++ или Java. Это означает меньший объем ввода с клавиатуры, меньшее количество времени на отладку и меньший объем трудозатрат на сопровождение. На уроках информатики учителю необходимо охватить в среднем 10-15 человек. Лаконичность и простота кода при возникновении ошибок у учащихся здесь как нельзя кстати.

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

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

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

Современность языка трактуется его использованием многочисленными компаниями, которые даже у детей сегодня на слуху [16]:

· Компания Google широко использует Python в своей поисковой системе и оплачивает труд создателя Python;

· Служба коллективного использования видеоматериалов YouTube в значительной степени реализована на языке Python;

· Популярная программа BitTorrent для обмена файлами в пиринговых (основанных на равноправии участников) сетях написана на Python;

· Такие компании, как Intel, Hewlett-Packard используют Python для тестирования программного обеспечения;

· NSA используют Python для шифрования и анализа разведданных.

Важный аспект в пользу данного языка программирования - простота в изучении. «Каждому по плечу» - философия языка Python в одном лозунге. Марк Лутц, ведущий специалист в области обучения Python за рубежом и автор самых ранних, наиболее популярных публикаций, выделяет удовольствие, как один из факторов популярности языка программирования Python: «Благодаря непринужденности языка Python и наличию встроенных инструментальных средств процесс программирования может приносить удовольствие. На первый взгляд это трудно назвать преимуществом, тем не менее, удовольствие, получаемое от работы, напрямую влияет на производительность труда» [16].

С 2011 года Python включен в список рекомендуемых языков программирования для Всероссийских олимпиад, а с 2015 - во всех вариантах КИМ ЕГЭ по информатике появились примеры программ с его использованием. Углубленный уровень изучения программирования показывает возможность выбора дальнейшей профессии в IT-отрасли - отрасли, которая является скоплением не одного десятка общемировых востребованных профессий будущего.

Для обучения, подготовки к олимпиадам и ЕГЭ по программированию на языке Python масса возможностей. Согласно ФГОС ОО, новая информационная среда школ (ИОС) позволяет использовать комплекс информационных образовательных ресурсов, в том числе цифровые образовательные ресурсы (ЦОР), электронно-образовательные ресурсы (ЭОР), электронные учебники, различные дистанционные варианты обучения. Приведем некоторые из них:

http://fcior.edu.ru/ - Федеральный центр информационно-образовательных ресурсов (ФЦИОР).

Проект представляет собой каталог программ для обучения на всех ступенях образования. На данный момент каталог сайта ФЦИОР объединяет более 12 000 электронных учебных модулей, созданных для общего образования, и более 5 000 - ориентированных на профессиональное образование. Учебные программы можно скачивать себе на компьютер или работать прямо в браузере [35].

http://school-collection.edu.ru/ - Единая коллекция цифровых образовательных ресурсов (ЕКЦОР).

В настоящее время в Коллекции размещено более 111 000 цифровых образовательных ресурсов практически по всем предметам базисного учебного плана. В Коллекции представлены наборы цифровых ресурсов к большому количеству учебников, рекомендованных Минобрнауки РФ к использованию в школах России, инновационные учебно-методические разработки, разнообразные тематические и предметные коллекции, а также другие учебные, культурно-просветительские и познавательные материалы [28].

https://www.coursera.org/ - проект, созданный в сфере массового онлайн- образования.

Данная МООК-платформа сотрудничает с университетами, которые публикуют и ведут в системе курсы по различным отраслям знаний. Слушатели проходят курсы, общаются с сокурсниками, сдают тесты и экзамены непосредственно на сайте Coursera [32].

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

На ноябрь 2014 года в Coursera зарегистрировано 10 млн пользователей и 844 курса от 108 образовательных учреждений.

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

Выводы к первой главе

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

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

3. ИОС школы позволяет использовать общемировые информационные ресурсы, в число которых входит Coursera.

Глава 2. Изучение языка программирования Python в углубленном курсе информатики с применением дистанционных курсов Coursera

2.1 Возможности дистанционных курсов Coursera для изучения языка программирования Python

Дистанционное обучение.

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

Преимущества дистанционного обучения для обуч ающихся в формате

домашнего задания:

· повышение качества обучения за счет применения современных средств;

· гибкость (обучающиеся могут выбирать время и место обучения самостоятельно);

· образование доступно всем желающим вне зависимости от возраста или состояния здоровья;

· объективная и независимая от преподавателя методика оценки знаний;

· самодисциплина.

Преимущества дистанционного обучения для преподавателей:

· снижение затрат на проведение обучения (обучение не требует затрат на аренду помещений, поездок к месту учебы);

· проведение обучения большого количества человек;

· сокращение времени подготовки к уроку.

Недостатки дистанционного обучения:

· самодисциплина;

· доступность обучения только через сеть.

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

Для организации учебного процесса с применением дистанционного обучения учителю важно научиться осуществлять поиск и отбор ЭОР в соответствии с имеющимися условиями.

Что такое MOOK?

МООС (англ. massive open online course) - массовый открытый онлайн курс (МООК). Это лишь недавно появившаяся, но уже завоевавшая признание по всему миру форма организации дистанционного обучения посредством Интернета.

Массовые открытые онлайн-курсы, названные в числе 30 наиболее перспективных тенденций в развитии образования до 2028 г., открыли новые возможности в сфере дистанционного образования [15].

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

ь Авторами курсов являются преподаватели ведущих университетов.

ь МООК устраняют территориальные и временные барьеры, они носят глобальный характер и выходят за рамки одного университета;

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

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

Платформ для МООКов сейчас, из-за большой популярности, появилось великое множество. Из лидеров (по популярности и престижу университетов, размещающих там свои курсы), можно назвать такие ресурсы, как Coursera, Udacity, Khan Academy и edX. Первыми на таких ресурсах появляются курсы по математике, информатике и программированию, и они же наиболее многочисленные.

MOOK-платформа Coursera.

Coursera по праву можно считать «лицом» МООК-движения. Это организация основана профессорами компьютерных наук Стэнфордского университета Эндрю Ыном и Дафной Коллер.

Проект сотрудничает с университетами, которые публикуют и ведут в системе курсы по различным отраслям знаний. Слушатели проходят курсы, общаются с сокурсниками, сдают тесты и экзамены непосредственно на сайте Coursera.

От других MOOK-платформ Coursera отличается своим разнообразием тематик курсов:

· физика;

· инженерные дисциплины;

· гуманитарные науки;

· искусство;

· медицина;

· биология;

· математика;

· информатика;

· экономика;

· бизнес.

Дафна Коллер:

«Университет берет на себя своеобразную кураторскую функцию. Можно, конечно, превратить Coursera в Youtube, но в итоге у вас и контент будет как в Youtube: отличные ролики, плохие ролики, масса никому не известных лекторов и т.д. Университеты нам нужны как гаранты качества. Студенты пользуются Coursera, потому что знают, что могут получить доступ к курсам ведущих преподавателей лучших университетов. Работодателям важно видеть, что у вас сертификат университета, а не сертификат о том, что вы прослушали курс `уважаемого преподавателя'..


Подобные документы

  • Отличительные особенности языка программирования Python: низкий порог вхождения, минималистичный язык, краткий код, поддержка математических вычислений, большое количество развитых web-фреймворков. Традиционная модель выполнения программ на языке Python.

    реферат [51,9 K], добавлен 18.01.2015

  • Разработка теории и методики преподавания раздела "Алгоритмизация и программирование" в школьном курсе информатики. Методические проблемы изучения алгоритмов работы с величинами. Требования к знаниям учащихся по линии алгоритмизации и программирования.

    курсовая работа [70,2 K], добавлен 09.07.2012

  • Этапы развития, особенности и возможности языка программирования Java; происхождение названия. Приложения Sun Microsystems: идеи, примитивные типы. Python - высокоуровневый язык программирования общего назначения: структуры данных, синтаксис и семантика.

    реферат [79,0 K], добавлен 23.06.2012

  • Понятие и характеристики облачных технологий, модели их развертывания, технологические процессы, аспекты экономики и критика. Язык программирования Python, оценка функциональности, сравнение с аналогами. Управление облаком в Python на примере libcloud.

    курсовая работа [43,0 K], добавлен 08.06.2014

  • Программное обеспечение Python и ее основные характеристики, как программной среды. Общие сведения о языке программирования Python. Особенности применения ППП Python (x,y) с использованием его различных вычислительных модулей в учебном процессе.

    дипломная работа [2,9 M], добавлен 07.04.2019

  • Анализ основ ООП, изучение языка программирования Python, применение полученных знаний на практике для реализации предметной области. Понятие и механизм инкапсуляции. Фиксирование информационной работы отеля. Диаграмма классов. Реализация на языке Python.

    курсовая работа [227,6 K], добавлен 14.05.2017

  • Особенности программирования аркадных игр в среде Python. Краткая характеристика языка программирования Python, его особенности и синтаксис. Описание компьютерной игры "Танчики" - правила игры, пояснение ключевых строк кода. Демонстрация работы программы.

    курсовая работа [160,3 K], добавлен 03.12.2014

  • Разработка структуры базы данных для хранения дипломных проектов в среде объектно-ориентированного программирования Python. Создание внешнего вида окон ввода-вывода информации, технологии переходов. Листинг программы с пояснениями; направления улучшения.

    курсовая работа [3,1 M], добавлен 27.02.2015

  • Сравнительная характеристика, возможности и функции языков программирования JavaScript и PHP. Основные области их использования. Разработка интерактивного Web-приложения с применением JavaScript на примере теста по теме "Программирование на языке Delphi".

    курсовая работа [19,3 K], добавлен 01.07.2014

  • Use case-диаграмма. Оценка трудоёмкости и сроков разработки проекта с использованием языка Python по методикам CETIN И COCOMO-II. Проектирование информационной системы. Разработка приложения с использованием Django: создание шаблонов, моделей и пр.

    дипломная работа [1,3 M], добавлен 10.07.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.