Инфоурок Информатика Рабочие программыРабочая программа элективного курса по информатике «Язык Python: основы программирования, реализация известных алгоритмов»

Рабочая программа элективного курса по информатике «Язык Python: основы программирования, реализация известных алгоритмов»

Скачать материал

Рабочая программа элективного курса по информатике


1
1 класс


«Язык
Python: основы программирования,
реализация известных алгоритмов»

Составитель: Тузов Александр Анатольевич,
учитель информатики высшей категории

2014 г.



Пояснительная записка

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

·     Алгоритм Евклида (нахождение наибольшего общего делителя)

·     Вычисление факториала на языке программирования Python

·     Двоичный (бинарный) поиск элемента в массиве

·     Замена элементов в списке

·     Перевод чисел из десятичной системы счисления в двоичную

·     Решето Эратосфена - алгоритм определения простых чисел

·     Сортировка выбором (поиск минимума и перестановка)

·     Сортировка методом пузырька 

·     Сумма и произведение цифр числа

·     Тестирование простоты числа методом перебора делителей

·     Числа Фибоначчи (вычисление с помощью цикла while и рекурсии)

 

Выбор Python обусловлен тем, что это язык, обладающий рядом преимуществ перед другими языками: ясность кода, быстрота реализации. По состоянию на июль 2014 года (http://prog-school.ru/2014/07/python-1-po-populyarnosti) Python вышел на 1-е место в программах начального обучения программированию в университетах США, пишет журнал Communication of the ACM.


27 из 39 крупнейших факультетов программирования (69%) в университетах предлагают курсы обучения на Python. Ситуация изменилась в последние три года. В частности, недавно на Python перевели вводные курсы программирования Массачусетский технологический институт и Калифорнийский университет в Беркли. На втором месте по популярности находится Java (22 из 39), далее следуют MATLAB (8), C++ (6), C (6), Scheme (4), Scratch (3).  Автор исследования в журнале Communication of the ACM проделал хорошую работу, собрав информацию с названиями курсов программирования во всех университетах. Список постепенно обновляется, по мере того, как читатели присылают уточнённую информацию из своих вузов.
Список «крупнейших» факультетов ИТ взят из
этого рейтинга: .http://grad-schools.usnews.rankingsandreviews.com/best-graduate-schools/top-science-schools/computer-science-rankings

Другие критерии выбора языка программирования:

·        Язык программирования – средство, а не цель

·        Свободная кросс-платформенная реализация

·        Удобная среда разработки, адаптированная

·        для учебного процесса

·        Широкая распространенность,

·        поддерживаемость и развиваемость языка

·        Возможность автоматической проверки

·        Понятность языка и легкое восприятие учащимися

 

Достоинства языка Python:

·        Современный язык программирования, с богатыми возможностями и большой стандартной библиотекой

·        Используется для промышленного программирования, для решения “домашних” прикладных задач и для обучения

·        Кросс-платформенная, свободная реализация

·        Хорошо документирован (python.org)

·        Имеется во всех Linux-дистрибутивах, свободен и для windows.

 

Особенности языка Python:

·        Интерпретируемый

·        Блоки кода выделяются величиной отступа:

            max = A[0]

           for elem in A:

                if elem > max:

                      max = elem

·        Динамическая типизация переменных

         a = 2 + 2

         a = "hello"

Полностью объектно-ориентированный

         print(" ".join(map(str,
          sorted(list(map(int,input().split()))))))

 

Python – язык на все вкусы:

·        Высокоуровневые структуры данных: списки, множества, ассоциативные массивы

·        Элементы функционального программирования

·        Разработка GUI

·        Сетевые приложения

·        Web-приложения

·        Базы данных

 

Предельно лаконичный и понятный синтаксис:


 

Версии 2 и 3 языка Python:

·        Сейчас существует две основные версии языка – 2 и 3, которые не полностью совместимы

·        Много наработок именно по версии 2

·        Версия 3 более совершенна с точки зрения дизайна языка

·        Тем не менее, версия 2 более не развивается, поэтому рекомендуется сразу же использовать версию 3

 

Автоматическая проверка:

·        Поддержка в системе ejudge и других

·        Поддерживается на сайте  http://informatics.mccme.ru

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

  • Поддерживается на других сайтах: http://neerc.ifmo.ru/school/
     http://www.codeforces.ru

 

Межпредметные связи:

·        с математикой (повторение, изучение основных алгоритмов математического обеспечения программирования),

·        с английским языком (предлагается использование в качестве дополнительной литературы популярных книги для детей по Python на английском языке)

Наш выбор Python для преподавания в элективном курсе лишь естественный выбор помочь ученикам сделать первые шаги по одному из современных и перспективных путей развития IT-индустрии, не дожидаясь, пока раскачаются чиновники и издательства по выпуску печатных версий элективного курса

Курс рассчитан на 35 часов ( 1 час в неделю) и основан на авторских курсах «Основы программирования на Python», «Реализация известных алгоритмов на языке программирования Python», разработанных С.В.. Шапошниковой, МБОУ ДОД ЦД(Ю)ТТ "Городской" г. Липецка  (sshap@yandex[тчк]ru)и распространяемых согласно лицензии GNU FDL:

http://younglinux.info/python.php (http://window.edu.ru/resource/825/76825)

http://younglinux.info/algorithm,

http://younglinux.info/sites/default/files/plan_12_II.pdf

http://younglinux.info/sites/default/files/lablin_eduprog_2011.pdf

 

В курсе предлагается использовать задачную методику . Курс разбит на темы, каждая тема сопровождается минимальным теоретическим введением и несколькими десятками задач. Автоматическая система проверки на сайте: http://informatics.mccme.ru. Просмотр сданных решений. Подбор задач для каждого ученика необходимо выполнять исходя из их умственных способностей и психологического настроя к программированию, Задачи каждому ученику выдаются адресно. задачи для каждого ученика посильные, т.е. он заведомо уверен в своем успехе.

Учебно-тематический план

 

№ п/п

Тема

Кол-во часов

1

История языков программирования.. Язык Python. Простейшие программы. Реализация вычислений и ветвлений.

6

2

Реализация циклических, вспомогательных алгоритмов алгоритмов. Рекурсия.

7

3

Словари. Массивы. Обработка массивов

8

4

Символьные строки. Обработка символьных строк.

7

5

Матрицы. Ввод, вывод, обработка матриц.
Чтеие и запись текстовых файлов.

5

6

Резерв времени

2

 

Итого:

35

 

Содержание программы

 

История языков программирования. Компиляция и интерпретация.

Знакомство с Python и средами программирования.

Типы данных в программировании. Определение переменной.

Ввод данных с клавиатуры.

Логические выражения.

Условный оператор. Инструкция if.

Множественное ветвление.

Цикл While и For.

Строки как последовательности символов.

Списки — изменяемые последовательности. Массивы.
Основные задачи обработки массивов: поиск, сортировка, реверс, ...

Введение в словари.

Функции в программировании. Параметры и аргументы функций.
Локальные и глобальные переменные. Процедуры.

Файлы. Чтение текстового файла. Запись в файл.

Алгоритм Евклида (нахождение наибольшего общего делителя)

Вычисление факториала на языке программирования Python

Двоичный (бинарный) поиск элемента в массиве

Замена элементов в списке

Перевод чисел из десятичной системы счисления в двоичную

Решето Эратосфена - алгоритм определения простых чисел

Сортировка выбором (поиск минимума и перестановка)

Сортировка методом пузырька 

Сумма и произведение цифр числа

Тестирование простоты числа методом перебора делителей

Числа Фибоначчи (вычисление с помощью цикла while и рекурсии)

Требования к планируемым результатам

После изучения курса учащиеся должны:

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

- знать особенности структуры программы, представленной на языке Python,

- иметь представление о модулях, входящих в состав среды Python?

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

- иметь представление о величине, ее характеристиках,

- знать что такое операция, операнд и их характеристики,

- знать принципиальные отличия величин структурированных и не структурированных,

- иметь представление о таких структурах данных, как число, текст, кортеж, список, словарь,

- иметь представление о составе арифметического выражения;

- знать математические функции, входящие в Python,

- иметь представление о логических выражениях и входящих в них операндах, операциях и функциях,

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

- знать основные операторы языка Python, их синтаксис,

- иметь представление о процессе исполнения каждого из операторов,

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

- уметь разрабатывать программы (линейные, разветвляющиеся и с циклами),

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

- знать правила описания процедур и функций в Python  и построение вызова процедуры,

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

- знать  область действия описаний в процедурах,

- иметь представление о рекурсии, знать ее реализацию на Python,

- владеть основными приемами формирования процедуры и функции,

- знать, как c с помощь. Списков  определять в программе тип «массив»,          «матрица»

- знать свойства данных типа «массив», «матрица»

- уметь воспроизводить алгоритмы сортировки массивов и матриц, поиска в упорядоченном массиве, распространять эти алгоритмы на сортировку и поиск в нечисловых массивах

- уметь читать и записывать текстовые файлы в заданном формате.

- решать основные алгоритмические задачи, представленные в пояснительной записке,  в среде Python.

 

Календарно-тематическое планирование

 

Номер урока

Тема урока

Плановые сроки
прохождения

Скорректированные сроки
прохожде-ния

                          1.          

История языков программирования.Знакомство с Python

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

5.9

 

                          2.          

Вычисления. Стандартные функции.

12.9

 

                          3.          

Условный оператор.

19.9

 

                          4.          

Сложные условия.

26.9

 

                          5.          

Множественный выбор.

3.10

 

                          6.          

Контрольная работа «Ветвления».

10.10

 

                          7.          

Цикл с условием.

17.10

 

                          8.          

Цикл с переменной.

24.10

 

                          9.          

Вложенные циклы.

31.10

 

                        10.        

Процедуры.

14.11

 

                        11.        

Функции.

21.11

 

                        12.        

Рекурсия.

28.11

 

                        13.        

Контрольная работа «Циклы, процедуры, функции».

5.12

 

                        14.        

Введение в словари

12.12

 

                        15.        

Массивы. Перебор элементов массива.

19.12

 

                        16.        

Поиск в массиве.

26.12

 

                        17.        

Алгоритмы обработки массивов (реверс, сдвиг).

16.1

 

                        18.        

Отбор элементов массива по условию.

23.1

 

                        19.        

Сортировка массивов. Метод пузырька, метод выбора

30.1

 

                        20.        

Двоичный поиск в массиве.

6.2

 

                        21.        

Контрольная работа «Массивы».

13.2

 

                        22.        

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

20.2

 

                        23.        

Функции для работы с символьными строками.

27.2

 

                        24.        

Преобразования «строка-число».

6.3

 

                        25.        

Строки в процедурах и функциях.

13.3

 

                        26.        

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

20.3

 

                        27.        

Практикум: обработка символьных строк.

27.3

 

                        28.        

Контрольная работа «Символьные строки».

3.4

 

                        29.        

Матрицы. Ввод матриц с клавиатуры, с пом. генератора случайных чисел..

10,4

 

                        30.        

Обработка матриц.

17.4

 

                        31.        

Файловый ввод и вывод.

24.4

 

                        32.        

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

7.5

 

                        33.        

Контрольная работа «Матрицы. Файлы».

12.5

 

                    34.       35

Резерв времени

 

 

 

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

 

Перечень учебно-методического обеспечения

 

  • Ресурсы сайта Л. Шапошниковой (http://younglinux.info) , содержащие

         авторские программы

         http://younglinux.info/python.php (http://window.edu.ru/resource/825/76825)

         http://younglinux.info/algorithm

         учебные пособия http://younglinux.info/sites/default/files/python_structured_programming.pdf

  • Сайт Д.П.Кириенко. Московский институт открытого образования. Школа №179

         http://www.179.ru/~dk/python.html

·         Ресурсы сайта профессора, доктора технических наук, учителя информатики высшей категории, автора учебников по информатике К.Ю. Полякова:

         http://kpolyakov.spb.ru/loadstat.php?f=/download/ch10-8_python.pdf

         http://kpolyakov.spb.ru/loadstat.php?f=/download/slides10-8py.zip

         http://kpolyakov.spb.ru/download/progr1011.doc

         http://kpolyakov.spb.ru/download/infobr_2013-6.pdf

·         Сайт  дистанционная подготовка по информатике
http://informatics.mccme.ru/

         http://informatics.mccme.ru/course/view.php?id=95

·         Изучаем Python  Автор: Марк Лутц  Издательство: Символ-Плюс  ISBN 978-5-93286-159-2, 978-0-596-15806-4; 2011 г.  Переводчик: А. Киселев

·         Head First Python. Автор: Paul Barry. Bздательство: O'Reilly, год: 2010, Язык: Английский, страниц: 494, формат: pdf, размер: 33 МБ
(http://forcoder.ru/python/head-first-python-1191)

·         Hello World!
Computer Programming for Kids and Other Beginners
Second edition,  Warren D. Sande and Carter Sande
http://helloworldbookblog.com/

·         Python for Kids. A Playful Introduction to Programming
by Jason R. Briggs
2012, 344 pp.
ISBN: 978-1-59327-407-8
Full Color
http://www.nostarch.com/pythonforkids
)

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Рабочая программа элективного курса по информатике «Язык Python: основы программирования, реализация известных алгоритмов»"

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Инженер по охране окружающей среды

Получите профессию

Методист-разработчик онлайн-курсов

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 661 833 материала в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 22.08.2015 9726
    • DOCX 527.5 кбайт
    • 416 скачиваний
    • Рейтинг: 4 из 5
    • Оцените материал:
  • Настоящий материал опубликован пользователем Тузов Александр Анатольевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Тузов Александр Анатольевич
    Тузов Александр Анатольевич
    • На сайте: 8 лет и 8 месяцев
    • Подписчики: 0
    • Всего просмотров: 23905
    • Всего материалов: 5

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Секретарь-администратор

Секретарь-администратор (делопроизводитель)

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

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

36 ч. — 144 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 139 человек из 43 регионов
  • Этот курс уже прошли 1 297 человек

Курс повышения квалификации

Компьютерная грамотность для пенсионеров

36 ч. — 180 ч.

от 1580 руб. от 940 руб.
Подать заявку О курсе
  • Этот курс уже прошли 22 человека

Курс профессиональной переподготовки

Информатика: теория и методика преподавания в образовательной организации

Учитель информатики

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 489 человек из 73 регионов
  • Этот курс уже прошли 1 524 человека

Мини-курс

ЕГЭ по биологии

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Управление стрессом и эмоциями

2 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 128 человек из 42 регионов
  • Этот курс уже прошли 74 человека

Мини-курс

Методология проектного менеджмента и стратегического планирования в инвестициях

3 ч.

780 руб. 390 руб.
Подать заявку О курсе