Рабочая программа элективного курса по информатике «Язык Python: основы программирования, реализация известных алгоритмов»
Рабочая программа элективного курса по информатике
11 класс
«Язык Python: основы программирования, реализация известных алгоритмов»
Составитель: Тузов Александр Анатольевич,учитель информатики высшей категории
2014 г.Пояснительная записка
Элективный курс по информатике «Язык Python: основы программирования, реализация известных алгоритмов»Основы программирования на Python" представляет собой вводный курс по программированию, дающий представление о базовых понятиях структурного программирования (данных, операциях, переменных, ветвлениях в программе, циклах и функциях, массивах, файлах), о реализации с помощь. Python наиболее известных в математическом обеспечении программирования алгоритмов:
Алгоритм Евклида (нахождение наибольшего общего делителя)
Вычисление факториала на языке программирования Python
Двоичный (бинарный) поиск элемента в массиве
Замена элементов в списке
Перевод чисел из десятичной системы счисления в двоичную
Решето Эратосфена - алгоритм определения простых чисел
Сортировка выбором (поиск минимума и перестановка)
Сортировка методом пузырька
Сумма и произведение цифр числа
Тестирование простоты числа методом перебора делителей
Числа Фибоначчи (вычисление с помощью цикла while и рекурсии)
Выбор Python обусловлен тем, что это язык, обладающий рядом преимуществ перед другими языками: ясность кода, быстрота реализации. По состоянию на июль 2014 года ([ Cкачайте файл, чтобы посмотреть ссылку ]) Python вышел на 1-е место в программах начального обучения программированию в университетах США, пишет журнал [ Cкачайте файл, чтобы посмотреть ссылку ].
27 из 39 крупнейших факультетов программирования (69%) в университетах предлагают курсы обучения на Python. Ситуация изменилась в последние три года. В частности, недавно на Python перевели вводные курсы программирования Массачусетский технологический институт и Калифорнийский университет в Беркли. На втором месте по популярности находится Java (22 из 39), далее следуют MATLAB (8), C++ (6), C (6), Scheme (4), Scratch (3). Автор исследования в журнале Communication of the ACM проделал хорошую работу, собрав информацию с названиями курсов программирования во всех университетах. Список постепенно обновляется, по мере того, как читатели присылают уточнённую информацию из своих вузов.Список «крупнейших» факультетов ИТ взят из [ Cкачайте файл, чтобы посмотреть ссылку ]: .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:
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·В курсе предлагается использовать задачную методику . Курс разбит на темы, каждая тема сопровождается минимальным теоретическим введением и несколькими десятками задач. Автоматическая система проверки на сайте: [ Cкачайте файл, чтобы посмотреть ссылку ]. Просмотр сданных решений. Подбор задач для каждого ученика необходимо выполнять исходя из их умственных способностей и психологического настроя к программированию, Задачи каждому ученику выдаются адресно. задачи для каждого ученика посильные, т.е. он заведомо уверен в своем успехе.
Учебно-тематический план
№ п/п
Тема
Кол-во часов
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.
Календарно-тематическое планирование
Номер урока
Тема урока
Плановые срокипрохождения
Скорректированные срокипрохожде-ния
История языков программирования.Знакомство с Python
Простейшие программы.
5.9
Вычисления. Стандартные функции.
12.9
Условный оператор.
19.9
Сложные условия.
26.9
Множественный выбор.
3.10
Контрольная работа «Ветвления».
10.10
Цикл с условием.
17.10
Цикл с переменной.
24.10
Вложенные циклы.
31.10
Процедуры.
14.11
Функции.
21.11
Рекурсия.
28.11
Контрольная работа «Циклы, процедуры, функции».
5.12
Введение в словари
12.12
Массивы. Перебор элементов массива.
19.12
Поиск в массиве.
26.12
Алгоритмы обработки массивов (реверс, сдвиг).
16.1
Отбор элементов массива по условию.
23.1
Сортировка массивов. Метод пузырька, метод выбора
30.1
Двоичный поиск в массиве.
6.2
Контрольная работа «Массивы».
13.2
Символьные строки.
20.2
Функции для работы с символьными строками.
27.2
Преобразования «строка-число».
6.3
Строки в процедурах и функциях.
13.3
Сравнение и сортировка строк.
20.3
Практикум: обработка символьных строк.
27.3
Контрольная работа «Символьные строки».
3.4
Матрицы. Ввод матриц с клавиатуры, с пом. генератора случайных чисел..
10,4
Обработка матриц.
17.4
Файловый ввод и вывод.
24.4
Обработка смешанных данных, записанных в файле.
7.5
Контрольная работа «Матрицы. Файлы».
12.5
35
Резерв времени
Приведённые в пояснительной записке наиболее известные алгоритмы реализуются различными способами на Языке Python в ходе изучения тем, представленных в поурочно-тематическом планировании.
Перечень учебно-методического обеспечения
Ресурсы сайта Л. Шапошниковой (http://younglinux.info) , содержащие
авторские программы
[ Cкачайте файл, чтобы посмотреть ссылку ] (http://window.edu.ru/resource/825/76825)
[ Cкачайте файл, чтобы посмотреть ссылку ]
учебные пособия [ Cкачайте файл, чтобы посмотреть ссылку ]
Сайт Д.П.Кириенко. Московский институт открытого образования. Школа №179
[ Cкачайте файл, чтобы посмотреть ссылку ]
Ресурсы сайта профессора, доктора технических наук, учителя информатики высшей категории, автора учебников по информатике К.Ю. Полякова:
[ Cкачайте файл, чтобы посмотреть ссылку ]
[ Cкачайте файл, чтобы посмотреть ссылку ]
[ Cкачайте файл, чтобы посмотреть ссылку ]
[ Cкачайте файл, чтобы посмотреть ссылку ]
Сайт дистанционная подготовка по информатике[ Cкачайте файл, чтобы посмотреть ссылку ]
http://informatics.mccme.ru/course/view.php?id=95
Изучаем Python Автор: [ Cкачайте файл, чтобы посмотреть ссылку ] Издательство: [ Cкачайте файл, чтобы посмотреть ссылку ] ISBN 978-5-93286-159-2, 978-0-596-15806-4; 2011 г. Переводчик: [ Cкачайте файл, чтобы посмотреть ссылку ]
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 BeginnersSecond edition, Warren D. Sande and Carter Sandehttp://helloworldbookblog.com/
Python for Kids. A Playful Introduction to Programmingby Jason R. Briggs2012, 344 pp.ISBN: 978-1-59327-407-8Full Color[ Cкачайте файл, чтобы посмотреть ссылку ])
Язык Python: [ Cкачайте файл, чтобы посмотреть ссылку ]
Среда разработки Wing IDE: [ Cкачайте файл, чтобы посмотреть ссылку ]
13 PAGE 14215
Заголовок 1Заголовок 2Заголовок 315