Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке

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

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

Написание диплома за 10 дней

Оглавление

Введение

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

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

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

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

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

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

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

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

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

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

Заключение

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

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

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

III.          ФК ГОС 2004

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

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

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

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

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

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

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

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

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

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

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

 

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

 

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

 

 

Общий вывод:

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 авторский коллектив предлагает выполнять практические задания по определенным темам изучения языка программирования разной сложности.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

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

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

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

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

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

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

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

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

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

#»896582.files/image001.jpg»>

Рис.1. Интерактивный режим IDLE (среда разработки на языке Python)

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

Традиционно, первой программой является вывод строки «Hello world»(рис.2).

алгоритмизация программирование python coursera

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

Рис.2. Запуск первой программы на Python

Когда в строке приглашения к вводу >>> была введена первая ин- струкция print, результат (строка) был немедленно выведен на экран. Нам не потребовалось создавать файл с исходным текстом программы и для выполнения программного кода не понадобилось сначала компилировать и компоновать его, что является обычным делом при использовании таких языков программирования, как C или C++.

При работе в интерактивном режиме можно вводить любое число команд Python, и каждая из них будет выполняться сразу же после ввода. Более того, поскольку в интерактивном сеансе результаты выражений, которые вводятся, выводятся автоматически, поэтому необязательно явно использовать функцию «print» (рис.3):

Рис.3

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

Предположим, что вы изучаете некоторый фрагмент программы на языке Python и наталкиваетесь на выражение ‘Spam!’*8, которое вам кажется непонятным. Можно, конечно, потратить с десяток минут, пробираясь через руководства и учебники, в попытках выяснить, что же делает этот код, но можно просто выполнить его в интерактивной оболочке (рис.4):

Рис.4

Эксперимент наглядно показывает, что произошло дублирование строки: в языке Python оператор * выполняет операцию умножения над числами, но если левый операнд является строкой, он действует как оператор многократной конкатенации строки с самой собой.

Приведем список наиболее распространенных ошибок:

1.       Использование переменной, которой еще не присвоено значение (рис.5):

Рис.5

2.       Незакрытые скобки (рис.6):

Рис.6

Примечание: Если скобка открыта, но не закрыта, интерпретатор Python будет ожидать закрытой скобки (рис.7):

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

Рис.7

3.       Операции сложения, вычитания, деления (но не умножения) между строками и числами (рис.8):

Рис.8

Помимо интерактивного режима, в котором можно быстро отследить результат инструкций для Python, есть возможность писать многострочную программу в отдельном файле. Для этого нужно перейти во вкладку File — New

File (рис.9), откроется новое окно, в котором мы сможем написать первую самостоятельную программу на Python.

Рис.9

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

Синтаксис языка Python

·              Конец строки является концом инструкции (точка с запятой не требуется).

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

·              Вложенные инструкции в Python записываются в соответствии с одним и тем же шаблоном, когда основная инструкция завершается двоеточием, вслед за которым располагается вложенный блок кода, обычно с отступом под строкой основной инструкции.

Пример:

Основная инструкция:

Вложенный блок инструкций

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

Неско лько специальных случаев :

·              Иногда возможно записать несколько инструкций в одной строке, разделяя их точкой с запятой, но рекомендуется это делать, т.к. пострадает удобочитаемость программного кода.

·              Допустимо записывать одну инструкцию в нескольких строках. Достаточно ее заключить в пару круглых, квадратных или фигурных скобок:

Пример:(a == 1 and b == 2 and c == 3 and d == 4):(“Try”)

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

Пример:(x > y): print (“x”)

Видеолекции курса «Learn to Program: The Fundamentals»:

(Week 1):

·         Welcome to LTP (0:35),

·        Getting Started: Installing Python (2:46),

·        Python as a Calculator (10:33),

·        Variables (7:39),

·        Built-in Functions (5:00),

·        Defining Functions (6:41). (Week 2):

·        Type str (4:56),

·        Input/Output and str Formatting (10:14),

·        Docstrings and Function help (1:18),

·        Function Reuse (6:40);

Задача: Чему равны значения переменных P и Q после выполнения последовательности действий?

>>> P = 4 * 5 // 3 % 5

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

>>> Q = 34 % P * 5 — 29 % 5 * 2

В приведенной записи // и % операции соответственно деления нацело и получения остатка от целочисленного деления.

Пример:

// 2 = 2

% 2 = 1

Подготовка к выполнению задания:

1          Какой порядок выполнения арифметических действий при выполнении следующей строки: 7 * 2 + 5 / 12 % 5

Варианты ответа:

а) * , + , / , %

б) * , % , / , +

в) * , / , % , +

Ответ: в)

2          Дополните выражение круглыми скобками, чтобы последовательность операций была: + , — , / , %

>>> 3 + 4 / 2 — 7 % 2

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Ответ: (3 + 4) / (2 — 7) % 2

3                   Выберите варианты выражений, которые выведут ошибку при выполнении строки?

Варианты ответа:

а) 7 /(2 /(3 / 3)))

б) 5 + -3

в) 4 * *

г) 6 * (3 + 1)

Ответ: а) , в)

 Первая самостоятельная программа

Напишем программу нахождения корней квадратного уравнения (рис.10). Для записи значений, введенных с клавиатуры, используется функция input().

Рис.10

Чтобы запустить программу перейти во вкладку Run — Run Module (рис.11)

Рис.11

В интерактивной оболочке предлагается ввести коэффициенты квадратного уравнения, однако после следует ошибка (рис.12)

Рис.12

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Дело в том, что функция input() записывает введенную информацию с клавиатуры в виде строки, т.е. при введении коэффициента A в переменную x записалось не число 2, а строка, состоящая из одного символа ‘2’. Чтобы

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

Рис.13

Запустим программу снова и проверим при разных значениях коэффициентов (рис.14).

Рис.14

На рисунке видно, что при попытке посчитать положительный дискриминант выдана ошибка, в которой говорится, что «имя ‘sqrt’ не определено» (NameError: name ‘sqrt’ is not defined)

Python автоматически может осуществлять множество арифметических операций (сложение, вычитание, умножение, деление, возведение в степень и др.), однако для более сложных вычислений используется модуль math. Этот модуль предоставляет обширный функционал для работы с числами: округления, извлечение корня, модуль, факториал, тригонометрические функции и т.п. Чтобы подключить этот модуль требуется вписать в начало программы строку import math, а чтобы обратиться к этому модулю для подсчета квадратного корня — math.sqrt()(рис.15).

Рис.15

Запустим программу (рис.16).

Рис.16

Python может выявить только формальные, синтаксические ошибки. Логические ошибки, допущенные вами, в подавляющем большинстве случаев никто, кроме грамотного программиста, выявить и устранить не сможет. Это и произошло: в строке 6 есть ошибка — перепутан знак сравнения. На самом деле условие должно выглядеть как if D >= 0.

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

Видеолекции курса «Learn to Program: The Fundamentals»:

(Week 3):

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

·         Functions, Variables, and the Call Stack (4:30)

·        Type bool (8:57)

·        Converting between int, str, and float (3:16)

·        If statements (9:10)

·        No if required (4:17)

·        Structuring if statements (6:07)

(Week 4):

·           More str operators (2:16)

·        str: indexing and slicing (4:53)

·        str Methods: Functions Inside of Objects (3:41)

·        for loop over str (11:35) (Week 5):

·        while loops (12:21)

 range (3:34)

Решение задач из учебника §17.

Задача: Дано натуральное трехзначное число n, в записи которого нет нулей. По предложенной записи алгоритма в виде блок-схемы и псевдокода определите результаты его работы.

В фигурных скобках записаны пояснения (комментарии) к операторам.

Read(n) {Ввод N}

A = n mod 10 {разряд единиц} B = n div 100 {разряд сотен}

C = n div 10 mod 10 {десятки}

L = (n mod A=0) and (n mod B=0) and (n mod C=0)

Write (L) {Вывод L}

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

Read (x)

If (x-12)= -x*x

else

if (x<0)= x*x*x*x

else

Write (Y)= x-2

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

Задача: Даны записи двух алгоритмов подсчета количества нечетных цифр в натуральном числе n. Слева решение оформлено с использованием цикла с предусловием, справа — с постусловием.

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

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

Замечание: Конструкции do…while на языке Python нет.

Задача: Используя предлагаемые записи алгоритма, напишите программу нахождения первых k чисел, кратных трем.

Read(k)

P = 1 {здесь накапливаем произведение}

For I = 1 to k/3= P * I * 3

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

Write(P)

Замечание: Функция range(A,B,C) возвращает упорядоченную последовательность элементов начиная с А до В, не включая В, с периодом С. Если период отсутствует, то С принимается за 1(период без начального элемента не задается). Если отсутствует начальный элемент, то за А принимается 0.

Пример:

 

Задача: Напишите программу решения следующей задачи.

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

Идея решения. Надо вычислить количество перестановок для заданного числа объектов (3), которые выбираются из общего числа объектов (100).

Перестановка — это любое множество объектов, в котором внутренний порядок имеет значение. Формула для определения перестановок имеет следующий вид:

Следовательно, надо написать функцию, вычисляющую факториал некоторого числа  ( ) и вычислить количество перестановок.

 

Замечание:

1.0307153164296022e-06 — экспоненциальная форма записи числа:

Видеолекции курса «Learn to Program: The Fundamentals»:

(Week 5):

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

·           Comments (4:55)

·        Type list (4:23)

·        list methods (8:07)

·        Mutability and Aliasing (10:03) (Week 6):

·        for loop over indices (14:24)

·        Parallel Lists and Strings (6:03)

·        Nested Lists (4:03)

·        Nested Loops (13:56)

·        Reading Files (4:43)

·        Writing Files (5:17)

Решение задач из учебника §17.

Задача: Напишите программу заполнения массива X(N) положительными и отрицательными элементами. Из него требуется сформировать новый массив только из положительных элементов. Найти из них наибольший элемент. Распечатать новый массив и наибольший элемент.

 

Задача: Напишите программу нахождения минимального элемента главной диагонали массива K(n,n) заполненного случайными числами.

Структуры данных: списки. (Учебник §18)

Односвязные списки

1. Добавление элемента в голову списка:

 

Замечание: Функция list.append(a)добавляет в конец списка list элемент a, который может быть и числом, и строкой, и даже другим списком. Функция list.extend(a)добавляет в конец списка list элемент a, причем в случае, когда a список — добавляется не список как элемент, а все элементы этого списка.

Функция list.insert(i, b)добавляет элемент b перед i-ым элементом изначального списка list. Важно помнить, что индексация списка слева направо начинается с 0, а справа налево с -1.

2. Поиск элемента в списке:

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

 

 

Замечание: Функция list.index(a)выдает первый встретившийся элементa в списке, начиная с начала списка.

3. Удаление элемента из списка:

 

 

 

Замечание: Функция list.pop(i) удаляет элемент с i-ым индексом и выдает удаляемый элемент пользователю.

Функция list.remove(i) удаляет элемент с i-ым индексом и НЕ выдает удаляемый элемент пользователю.

Двусвязные списки

В языке Python нет стандартного объекта struct, как в языке Си. Но этот объект можно легко реализовать с помощью классов.

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

class ListItem:init (self, data=0): self.prev = None self.next = None self.data = data

Определим функцию, выводящую все значения списка:

def write(self):

#Поиск начала списка

while not self.prev == None: self=self.prev

#Выводnot self == None: print(self.data) self = self.next

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

1.       Добавление элемента в голову списка:

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

 

 

2.       Поиск элемента в списке:

 

 

 

3.       Удаление элемента из списка по индексу:

 

 

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

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

«q», т.е. выход: True:(«+ — Добавить учащегосяnl — Вывести список учащихсяns

Вывести отсортированный список учащихсяnq — Выход»)

n выступает в роли перехода на новую строку.

Структуры данных: деревья. (Учебник §18)

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Для определения двоичного дерева потребуется класс — TreeItem, в конструкторе которого будут определяться ссылки на корневой элемент, а также на его левую и правую ветвь.

class TreeItem:init (self, data = None): self.right = None.left = None self.data = data

Определим корневой узел дерева со значением 200 с первым разветвлением на узлы 50 и 250:

#Корневой элемент root = TreeItem(200)

#Список, содержащий начальные левый и правый узлы дерева tree = [TreeItem(50), TreeItem(250)]

root.left = tree[0] root.right = tree[1]

1.       Вставка элемента в дерево:

2.       Поиск элемента в дереве:

 

 

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

Решение:

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

class Book:init (self, title = », author = », count = 0, price = 0, place1 = 0, place2 = 0, place3 = 0):.title = str(title) #название self.author = str(author) #автор self.count = int(count) #количество self.price = float(price) #цена self.place1 = int(place1) #зал self.place2 = int(place2) #шкаф self.place3 = int(place3) #полка

Для вывода всех книг определим функцию itemArrayPrint, зависящую от переменных pos — «позиция», store — «книжный магазин» (объявим ее позже, после определения всех функций).

def itemArrayPrint(pos, store):

#Операторы подстановки. %s — строка, %d — десятичное число, %f

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

print(«|%s|%s|%d|%0.3f|%d|%d|%d|» % (store[pos].title, store[pos].author, store[pos].count, store[pos].price, store[pos].place1, store[pos].place2, store[pos].place3))

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

def findRecord(author, startSearchPos, store): current = startSearchPoscurrent < len(store) and store[current].author != author: += 1 return current

Для вывода книги по автору определим функцию printAuthorBooks достаточно несколько раз вызвать функцию findRecord, меня стартовую позицию и, в конечном счете, вывести на печать книгу нужного автора.

def printAuthorBooks(author, store): pos = findRecord(author, 0, store) while pos < len(store):(pos, store) print(pos)= findRecord(author, pos + 1, store)

Для удаления записи из массива на языке C++ потребовалась бы перестановка всех записей от удаляемой к началу, однако в Python списки и, значит, перемещать записи нет необходимости. Это происходит автоматическиdeleteArrayItem(pos, store): try: store[pos]

#если не вышло удалить, значит элемента нет except IndexError:

print(«Нет такой книги»)

Объявляем «книжный магазин» пустым списком и как было ранее, наладим связь с пользователем, запустив цикл while True, где и будем ссылаться на функции, определенные ранее:

store = [] while True:

#Ввод команды пользователем

inp = input(‘d — удалить книгуna — добавить книгуns — поиск книгиnp — вывод всех книгnq — выходn’)

#Удаление книги по номеру if inp == ‘d’:

deleteArrayItem(int(input(‘Введите номер книги’)), store)

#Добавление книги elif inp==’a’:

store.append(Book(input(«Название: «), input(«Автор: «), input(«Количество: «), input(«Цена: «), input(«Зал: «),

input(«Шкаф: «), input(«Полка: «))) saveArray(‘test.txt’, store) else:

print(«Не добавлено, количество книг 1000»)

#Поиск и вывод книги по автору

elif inp == ‘s’:(input(«Автор: «),store)

#Печать всех записей elif inp == ‘p’:

#Проверка, не пуст ли список if len(store):

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

for i in range(len(store)): itemArrayPrint(i, store):

print(«Список пуст»)

#Выход из диалогового окна elif inp==’q’:

break

Работа с файлами

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

Чтобы можно было сохранять или загружать файлы в программе, подключим модуль pickle. Для этого впишем «import pickle» в начало программного кода.

В коде программы, где объявлялись функции поиска, удаления записей книг, добавим функции saveArray (сохранения) и loadArray (загрузки) файла.

Предусмотрим, что файла может не оказаться. В таком случае программа создаст собственный пустой текстовый файл с названием test.txt.

def saveArray(fname, store):open(fname, «wb») as fout: for obj in store:

#встроенная функция записи в подключенном модуле pickle.dump(obj, fout)

def loadArray(fname, store): try:open(fname, «rb») as fin: while True::

#встроенная функция загрузки в подключенном модуле

a = pickle.load(fin) store.append(a) EOFError:

return store

#На случай, если файла нет, создадим собственный документ с названием test.txt

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

except FileNotFoundError: return []= []

#Загрузка файла loadArray(«test.txt», store)

Типовые алгоритмы. (Учебник §19)

1.       Поиск в отсортированной последовательности:

 

 

2.       Сортировка пузырьком

 

Улучшим алгоритм с помощью отсутствия перестановок:

 

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

 

 

4.       Бинарный поиск

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

 

 

Бинарное дерево поиска

Сначала определим класс дерева — TreeItem, встречаемый ранее и добавим поле key (значение узла).

class TreeItem:init (self, key = None): self.right = None

self.left = None self.key = key

Зададим начальные значения узлов.= TreeItem(200) root.left=TreeItem(42) root.right=TreeItem(420)

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

def insertItem(inp): global root root: = root

#Поиск нужного места и вставка нового элемента

while not curItem == None and not curItem.key == inp: if curItem.key > inp:curItem.left == None or curItem.left.key ==

None: «+str(curItem.key))(«Помещаем слева от.left = TreeItem(inp) break:

#Переход влево= curItem.left

== None:curItem.right == None:(«Помещаем справа от » + str(curItem.key)) curItem.right = TreeItem(inp) else:curItem.right == None or curItem.right.key(«Помещаем справа от » +

str(curItem.key))

else:.right = TreeItem(inp) break:

#Переход вправо= curItem.right

root = TreeItem(inp)

 Хэширование

Напишем программу, которая по значению ключа рассчитает число

«хэш». Число рассчитывается так, чтобы значения поискового ключа распределились среди всех возможных значений хэша равномерно.

#описание элемента дерева

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

numHashLen=577 #количество возможных хэшей

from sys import argv #для ручного задания имени файла class PHashNode:

def init (self, val = []): self.val = val hash_(s):#хэш-функция global numHashLen= 0i in s:= h * 61 + ord(i) return h%numHashLen

#создание списков= [0 for _ in range(numHashLen)]= [PHashNode() for _ in range(numHashLen)] try:#попытка получить имя файла из первого аргумента= argv[1] except IndexError:= ‘text1.txt’ open(fname, ‘r’) as f:#чтение из файла и добавление в список слов

for line in f:k in line.split(): searchArr[hash_(k)].val.append(k) countArr[hash_(k)] += 1(‘n’.join([str(i)+’ ‘+str(countArr[i]) for i in range(len(countArr))]))#вывод количества слов для каждого хэша

Хэш-функция для каждого символа умножает текущее значение (переменная h) хэша, которое изначально для каждой строки равно нулю, на 61 и прибавляет числовой код символа (функция ord). К примеру, числовое представление «а» — 97, «€» — 8364. Функция возвращает остаток деления итогового значения на переменную numHashLen, что ограничивает число возможных значений.

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

Так для слова «лосось» действия будут следующими:

ord(«л») = 1083= 1083(«о») = 1086= 67149(«с») = 1089= 4097178(«о») = 1086= 249928944(«с») = 1089= 15245666673(«ь») = 1100 = 929985668153

Функция вернёт остаток от деления 929985668153 на 577, который равен 441.

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

Апробация разработанной методики проводилась на базе школы ГБОУ СОШ №1253 (на педагогической практике) с учениками 10 класса и была проанализирована на контрольной и экспериментальной группах обучающихся (всего 52 человека), показав положительный результат.

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

КГ1 — Контрольная группа до начала эксперимента.

КГ2 — Контрольная группа после окончания эксперимента. ЭГ1 — Экспериментальная группа до начала эксперимента.

ЭГ2 — Экспериментальная группа после окончания эксперимента.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

«Гистограмма контрольной и экспериментальной групп до начала апробации»

 

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

 

Была выдвинута гипотеза «характеристики контрольной и экспериментальной групп совпадают с уровнем значимости 0,05» и применён критерий однородности χ2 [19].

«Эмпирические значения критерия χ2»

Критическое значение равно 5,99, а эмпирическое − 6,6, т.е. χ2крит < χ2эмп. Значит, достоверность различий характеристик сравниваемых выборок составляет 95%, что показывает положительный эффект применения экспериментальной методики обучения.

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

Заключение

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

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

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

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

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

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

Источники

1.   Приказ Минобрнауки России от 6 октября 2009 года № 373 «Об утверждении и введении в действие федерального государственного образовательного стандарта начального общего образования»: [Электронный ресурс] — Режим доступа: http://минобрнауки.рф/документы/922

2.       Приказ Минобрнауки России от 17 декабря 2010 года № 1897 «Об утверждении федерального государственного образовательного стандарта основного общего образования»: [Электронный ресурс] — Режим доступа:

h tt p:/ / www.мин обр науки .рф /до кумен ты/9 38

3.   Приказ Минобрнауки России от 17 мая 2012 года №413 «Об утверждении федерального государственного образовательного стандарта среднего общего образования»: [Электронный ресурс] — Режим доступа:

h tt p:/ / мин об рн ауки .р ф/ до кумен ты/2 365

Литература

4.   Богданова Д. Перевернутый урок. Как объяснить тему так, чтобы все поняли, и чтобы никому не было скучно? / Диана Богданова / Дети в информационном обществе. — 2012. — №11.

5.       Гейн А.Г., Житомирский В.Г., Линецкий Е.В., Сапир М.В., Шолохович В.Ф.

«Основы информатики и вычислительной техники»: пробный учебник для 10-11 классов средней школы. // М.: Просвещение. — 1991.

6.   Каймин В.А., Щеголев А.Г., Ерохина Е.А., Федюшин Д.П. «Основы информатики и вычислительной техники»: пробное учебное пособие для 10- 11 классов средней школы. // М.: Просвещение. — 1989.

7.       Калинин И. А., Самылкина Н. Н. Информатика. УМК для старшей школы: 10 — 11 классы (ФГОС). Методическое пособие для учителя. Углублённый уровень // М.: БИНОМ. Лаборатория знаний. — 2013.

8.       Калинин И. А., Самылкина Н. Н., Информатика. Программа для старшей школы: 10-11 класс. Углубленный уровень. // М.: БИНОМ. Лаборатория знаний. — 2013.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

9.       Калинин И. А., Самылкина Н. Н., Информатика. Углублённый уровень: учебник для 10 класса. // М.: БИНОМ. Лаборатория знаний. — 2013.

10.  Калинин И. А., Самылкина Н. Н., Информатика. Углублённый уровень: учебник для 11 класса. // М.: БИНОМ. Лаборатория знаний. — 2013.

11.     Калинин И. А., Самылкина Н. Н., Бочаров П. В. Информатика. Углубленный уровень: задачник-практикум для 10-11 классов // М.: БИНОМ. Лаборатория знаний. — 2014

12.     Колин К. К. Информатика как наука: история и перспективы развития. // Открытое образование. — 2011. — С. 77.

13.     Колин К. К. О структуре научных исследований по комплексной проблеме

«Информатика» // Сб. н. тр. «Социальная информатика». М.: ВКШ при ЦК ВЛКСМ. — 1990. С. 19-33

14.  Курнишенко А.Г., Лебедев Г.В., Сворень Р.А. «Основы информатики и вычислительной техники»: пробный учебник для средних учебных заведений. // М.: Просвещение. — 1990.

15.     Лебедева М.Б. Массовые открытые онлайн-курсы как тенденция развития образования. // Человек и образование. — 2015. — №. 1 (42).

.Лутц М. Изучаем Python. // СПб.: Символ-Плюс. — 2011.

17.  Лысенкова С. Н. Методом опережающего обучения. // М.: Просвещение. — 1988. — Т. 125.

18.     Монахов В. М. Тридцать лет спустя. // Информатика и образование. — 2015.

— №. 7.

19.  Новиков Д. А. Статистические методы в педагогических исследованиях (типовые случаи) // М.: Мз-Пресс. — 2004. — С.67

20.     Поляков К. Ю., Еремин Е. А. Информатика. Углубленный уровень: учебник для 10 класса: в 2 ч., ч. 2 // М.: БИНОМ. Лаборатория знаний. — 2013.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

21.     Поляков К. Ю., Еремин Е. А. Информатика. Углубленный уровень: учебник для 11 класса: в 2 ч., ч. 2 // М.: БИНОМ. Лаборатория знаний. — 2013.

22.     Семакин И.Г., Шейна Т.Ю., Шестакова Л.В. Информатика. Углубленный уровень: учебник для 10 класса: в 2 ч., ч.1 // М.: БИНОМ. Лаборатория знаний. — 2014.

23.     Семакин И.Г., Шейна Т.Ю., Шестакова Л.В. Информатика. Углубленный уровень: учебник для 11 класса: в 2 ч., ч.1 // М.: БИНОМ. Лаборатория знаний. — 2014.

24.     Семакин И.Г., Хеннер Е.К. Информатика в профильной школе. // Информатика и образование. — 2010. — №10

25.     Семакин И.Г. Эволюция школьной информатики. // Информатика и образование. — 2011. — №5.

26.     Ткач С. С. Методические аспекты изучения раздела «Алгоритмизация и программирование» в современном школьном курсе информатики. Электронные ресурсы

27.     Бизнес модели бесплатного обучения на Corsera, edX и Udacity [Электронный ресурс]. — Режим доступа: https://habrahabr.ru/sandbox/50831/

28.     Единая коллекция цифровых образовательных ресурсов [Электронный ресурс]. — Режим доступа: http://school-collection.edu.ru/

29.     Ершов А.П., Монахов В.М., Бешенков С.А. , Гольц Я.Э., Кузнецов А. А., Кузнецов Э. И., Лапчик М.П., Смекалин Д. О. «Основы информатики и вычислительной техники»: пробное учебное пособие для средних учебных заведении [Электронный ресурс]. — Режим доступа: http://cip.iis.nsk.su/files/course/oivt1p.pdf. -М.: Просвещение. — 1985.

30.     Ершов А.П. Программирование — вторая грамотность. // Архив академика А.П. Ершова [Электронный ресурс]. — Режим доступа: http://ershov.iis.nsk.su/russian/second_literacy/article

31.   Лебедева Т.Н. Становление курса информатики в школьном курсе информатики в школьном образовании в период с 1950 г. до 1990 г.

[Электронный ресурс]. — Режим доступа:

http://cyberleninka.ru/article/n/stanovlenie-kursa-informatiki-v-shkolnom- obrazovanii-v-period-s-1950-g-do-1990-g

32.  О проекте Coursera. [Электронный ресурс] — Режим доступа: https://www.coursera.org/about/

33.     Перевернутый класс средство от скуки. [Электронный ресурс] — Режим доступа: https://newtonew.com/discussions/flipped-classroom-in-russia

34.     Семь вещей, которые необходимо знать о перевернутом обучении. [Электронный ресурс]. — Режим доступа: http://www.ed-today.ru/poleznye- stati/37-7-veshchej-kotorye-neobkhodimo-znat-o-perevjornutom-obuchenii

.Федеральный центр информационно-образовательных ресурсов [Электронный ресурс]. — Режим доступа: http://fcior.edu.ru/

36.Campbell J., Gries P. Learn to Program: The Fundamentals [Электронный ресурс]. — Режим доступа: https://class.coursera.org/programming1-002/lecture

Средняя оценка 0 / 5. Количество оценок: 0

Поставьте оценку первым.

Сожалеем, что вы поставили низкую оценку!

Позвольте нам стать лучше!

Расскажите, как нам стать лучше?

1971

Закажите такую же работу

Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке