Основы программирования на языке Python

  • в группе, индивидуально

Коротко о курсе

  • Формирование самостоятельности и творческого подхода к решению задач с помощью средств современной вычислительной техники.
  • Формирование навыков алгоритмического и логического мышления.
  • Приобретение навыков работы в системе программирования Python.
  • Формирование навыков грамотной разработки программ.
  • Работа с графикой в Python с модулем turtle и с модулем tkinter.
  • Формирование практических навыков разработки игр.

Краткое описание курса

Знакомство с языком программирования Python для создания собственных программ. Работа с графикой в Python с модулем turtle. Сложная графика Python с модулем tkinter.

Подробно о курсе

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

Python является простым и, в то же время, мощным интерпретируемым объектно-ориентированным языком программирования с минималистичным синтаксисом ядра. В 2018 году Python занял 1 место в рейтинге PYPL и стал языком года по версии TIOBE. Это один из лучших языков не только для обучения, но и для решения большого круга практических задач. Язык со стандартной библиотекой, в которой есть все — от асинхронной обработки до работы с ZIP-архивами. Именно поэтому на Python можно реализовать приложение любой сложности.

Такие известные компании, как Google и Intel, Cisco и Hewlett-Packard, используют язык Python, выбрав его за гибкость, простоту использования и обеспечиваемую им высокую скорость разработки. Python позволяет создавать эффективные и надежные проекты, которые легко интегрируются с программами и инструментами, написанными на других языках. Python работает почти на всех известных платформах — от карманных компьютеров и смартфонов до серверов сети. Windows, Linux/UNIX, macOS, iPhone OS, Android и др.

Наш курс рассчитан на детей в возрасте от 11 до 13 лет. На занятиях учащиеся познакомятся с теоретическими аспектами и синтаксисом языка, а также обучатся практическим навыкам программирования в среде Python. Занятия начинаются с практического знакомства со средой программирования Python, далее идет непосредственное изучение синтаксических конструкций языка и отработка навыков применения элементов программирования при решении задач и создании игр. Каждая новая тема завершается практическими задачами, способствующими овладению методикой программирования и изучению языка Python.

Программа курса

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

Тема 1. Введение в язык программирования Python. Его история. Первый запуск рабочей среды (1 час)

Эта тема отвечает на вопрос «Почему Python?». Ученики узнают об особенностях этого языка программирования и его истории. Также в Темае приводится инструкция по скачиванию и установке языка Python с сайта его разработчиков и запуску рабочей среды языка.

Тема 2. Математические вычисления в Python (2 часа)

Эта тема научит вас работать с двумя наиболее распространёнными числовыми типами данных Python: целыми числами (бывают положительными, отрицательными или равными нулю (… -1, 0, 1, …)) и числами с плавающей точкой (числа с десятичными знаками (например, 9.0 или -2.25)).

Тема 3. Структура программы на языке Python. Операции, переменные и литералы. Типы данных (2 часа)

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

Тема 4. Ввод и вывод данных в программах на языке Python (2 часа)

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

Тема 5. Линейные алгоритмы. Операции над целочисленными данными (2 часа)

Эта тема станет началом более подробного знакомства учеников с различными типами данных в языке Python. На этй Теме будут рассмотрены целочисленный тип данных, инструкции и алгоритмы обработки таких данных. Также ученики узнают о первом типе структуры алгоритмов — линейных алгоритмах.

Тема 6. Линейные алгоритмы. Операции над вещественными данными (2 часа)

В этой теме продолжается знакомство учеников с линейными алгоритмами обработки данных, а также с числовыми типами данных. Рассматриваются числа с плавающей точкой в языке Python, инструменты для работы с ними, встроенные в рабочую среду, а также описанные во внешних модулях, таких как math и random.

Тема 7. Логические выражения. Логический тип данных. Условный оператор (2 часа)

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

Тема 8. Разветвляющиеся алгоритмы. Сложные условия. Каскадные ветвления (2 часа)

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

Тема 9. Циклические алгоритмы. Цикл с предусловием (2 часа)

Помимо линейных и разветвляющихся алгоритмов, выделяется ещё третий основной тип алгоритмов — циклические. Из этой темы узнаем о том, что циклическими называются алгоритмы, содержащие структуру повторения, а также познакомятся с первым способом реализации этой структуры — циклом с предусловием и тем, как этот цикл программируется на языке Python.

Тема 10. Циклические алгоритмы. Цикл с постусловием. Инструкции управления циклом (2 часа)

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

Тема 11.Циклические алгоритмы. Цикл с параметром (2 часа)

На этой теме познакомимся с последним типом циклов — циклом с параметром. Рассмотрят, как работает такой цикл и с какими особенностями связано его программирование на языке Python. Также будет рассмотрена функция генерации диапазона значений.

Тема 12. Комбинирование циклов при решении задач. Сложные циклические алгоритмы (2 часа)

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

Тема 13. Этапы решение задачи на компьютере. Принцип последовательного конструирования алгоритма (1 час)

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

Тема 14. Функции (2 часа)

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

Тема 15. Применение функций при решении задач (2 часа)

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

Тема 16. Рекурсия (2 часа)

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

Тема 17. Списки (2 часа)

В этой теме начинается знакомство со структурными типами данных на примере списков. Будут рассмотрены: определение понятия «списки», их польза в программировании, а также их особенности. Также учащиеся узнают, какие есть способы создания ввода и вывода элементов списков в программах на языке Python

Тема 18. Обработка списков. Линейный поиск. Добавление и удаление элементов. Копирование списков (2 часа)

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

Тема 19. Обработка списков. Двоичный поиск и сортировка (2 часа)

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

Тема 20. Символьные строки (2 часа)

На этом уроке будет рассмотрен ещё один структурный тип данных — символьные строки. Ученики вспомнят о том, как хранится текст в оперативной памяти компьютера, узнают о сходствах и отличиях между списками и символьными строками, а также познакомятся с основными операциями обработки строк.

Тема 21. Матрицы. (2 часа)

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

Тема 22. Обработка исключений (2 часа)

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

Тема 23. Работа с файлами (2 часа)

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

Тема 24. Концепция ООП. Объекты и классы (2 часа)

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

Тема 25. Графика Turtle в Python (4 часа)

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

Тема 26. Графика Tkinter в Python (4 часа)

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

Вернуться в начало раздела

Работы учеников

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

  • Пример работы на курсе Основы программирования на языке Python
    Рисунок. Работа Игоря Котова, 14 лет.
  • Пример работы на курсе Основы программирования на языке Python
    Рисунок. Работа Наташи Сосниной, 12 лет.
  • Пример работы на курсе Основы программирования на языке Python
    Рисунок. Работа Васи Левашова, 12 лет.
  • Пример работы на курсе Основы программирования на языке Python
    Рисунок. Работа Лены Поповой, 13 лет.
  • Пример работы на курсе Основы программирования на языке Python
    Игра «Лабиринт». Работа Кирилла Быкова.
  • Пример работы на курсе Основы программирования на языке Python
    Игра «Крестики-нолики». Работа Вячеслава Усенко.

Организация занятий

Необходимая подготовка и возраст

Для успешного освоения программы курса нужны базовые навыки работы в операционной системе Windows или Mac OS. Получить необходимые знания можно на нашем курсе «Компьютер для школьника» или самостоятельно. Мы принимаем на данный курс ребят .

Продолжительность курса и график занятий

Продолжительность курса составляет (1 учебный час равен 45 минутам). Все указанное время слушатели работают с преподавателем за собственным рабочим местом.

Обучение проводится в группах выходного дня (суббота, воскресенье) и по будням во временном интервале с 10.00 до 17.00. Типовой график занятий включает 2 академических часа в неделю, например, в воскресенье с 11.10 до 12.40. Таким образом, в месяц проводится 4 занятия по 2 академических часа. Такой режим позволяет избежать чрезмерной перегрузки детей.

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

Обучение по данному курсу проводится по адресам:

ул. Карла Маркса, 67
ул. Владимира Невского, 38Е

Стоимость обучения и запись на курс

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

Документ, подтверждающий прохождение курса

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

Так выглядит сертификат, выдаваемый по курсу Основы программирования на языке Python.

Согласие на обработку персональных данных

Настоящим в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» от 27.07.2006 года свободно, своей волей и в своем интересе выражаю свое безусловное согласие на обработку моих персональных данных АНО ДПО «ИНСТИТУТ СОВРЕМЕННОГО ОБРАЗОВАНИЯ» (ОГРН 1143600000290, ИНН 3666999768), зарегистрированным в соответствии с законодательством РФ по адресу: ул. Карла Маркса, дом 67, Воронеж, Воронежская область, Россия, 394036 (далее по тексту — Оператор).
Персональные данные — любая информация, относящаяся к определенному или определяемому на основании такой информации физическому лицу.
Настоящее Согласие выдано мною на обработку следующих персональных данных:
 — Имя;
 — Телефон.

Согласие дано Оператору для совершения следующих действий с моими персональными данными с использованием средств автоматизации и/или без использования таких средств: сбор, систематизация, накопление, хранение, уточнение (обновление, изменение), использование, обезличивание, а также осуществление любых иных действий, предусмотренных действующим законодательством РФ как неавтоматизированными, так и автоматизированными способами. Данное согласие дается Оператору для обработки моих персональных данных в следующих целях:
 — предоставление мне услуг/работ;
 — направление в мой адрес уведомлений, касающихся предоставляемых услуг/работ;
 — подготовка и направление ответов на мои запросы;
 — направление в мой адрес информации, в том числе рекламной, о мероприятиях/товарах/услугах/работах Оператора.

Настоящее согласие действует до момента его отзыва путем направления соответствующего уведомления на электронный адрес osnova@webfly.pro. В случае отзыва мною согласия на обработку персональных данных Оператор вправе продолжить обработку персональных данных без моего согласия при наличии оснований, указанных в пунктах 2 — 11 части 1 статьи 6, части 2 статьи 10 и части 2 статьи 11 Федерального закона № 152-ФЗ «О персональных данных» от 27.07.2006 г.