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

Цели курса:

Этот курс предназначен для ознакомления участников с Python, одним из самых универсальных и мощных языков программирования в современной технологической индустрии. Курс охватывает основы программирования на Python, включая типы данных, управляющие структуры, объектно-ориентированное программирование (ООП) и продвинутые темы, такие как веб-скрейпинг и визуализация данных. Он идеально подходит для тех, кто хочет войти в сферу разработки программного обеспечения или анализа данных.

Профиль участников:

- Ученики 12 класса - Новички в программировании - Профессионалы, желающие повысить квалификацию в разработке программного обеспечения - Аналитики данных - Студенты IT-направлений

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

- Базовые навыки работы с компьютером

Продолжительность курса:

- Кредитные часы: 3 - Общее количество часов: 20

Формат проведения:

- Онлайн/Офлайн

Контактные часы:

- 3

Самостоятельное изучение:

- 10 часов

Финальный контроль:

- Проект
 

Содержание курса:

1. Введение в Python

Занятие в классе Тема для занятия Подтемы Активности в классе Задания для самостоятельного изучения Часы
Обзор Python
  • Настройка среды Python
  • Базовый синтаксис и типы переменных
  • Введение в типы данных (строки, целые числа, списки, кортежи, словари)
  • История и эволюция Python.
  • Особенности Python и его применение.
  • Сравнение с другими языками программирования.
  • Интерактивная лекция: Демонстрация возможностей Python и запуск простого скрипта "Hello, World!".
  • Практическое задание: Написать программу, которая принимает ввод (имя и возраст) и выводит форматированное сообщение.
  • Установите Python и настройте IDE по вашему выбору.
  • Напишите программу для конкатенации строк и выполнения арифметических операций с целыми числами.
  • Исследуйте три библиотеки Python (например, NumPy, pandas, matplotlib) и их применение.
5

2. Управляющие структуры и функции

Занятие в классе Тема для занятия Подтемы Активности в классе Задания для самостоятельного изучения Часы
Условные операторы
  • Циклы (for, while)
  • Написание простых функций
  • Обработка ошибок и исключений
  • Обзор условных операторов: if, elif, else.
  • Введение в циклы: for и while с базовыми примерами.
  • Основы функций: определение, вызов и возврат значений.
  • Интерактивная демонстрация: Написать программу с использованием условных операторов для определения, является ли число положительным, отрицательным или нулем.
  • Групповое решение проблем: Совместно отладить скрипт с синтаксическими ошибками в определении функций и управляющих структурах.
  • Напишите программу с использованием цикла for для вывода таблицы умножения для заданного числа.
  • Исследуйте и реализуйте простую функцию, которая вычисляет и возвращает площадь прямоугольника.
  • Изучите обработку ошибок и исключений, создав программу, которая обрабатывает ошибки ввода пользователя (например, ввод строки вместо числа).
5

3. Работа с данными

Занятие в классе Тема для занятия Подтемы Активности в классе Задания для самостоятельного изучения Часы
Работа с файлами (чтение/запись)
  • Библиотеки: os и sys для системных операций
  • Введение в pandas для манипуляции данными
  • Основы работы с файлами: чтение и запись текстовых файлов.
  • Использование библиотек os и sys для работы с файлами и системными операциями.
  • Введение в pandas: загрузка, просмотр и манипуляция наборами данных.
  • Интерактивная демонстрация: Показ, как открывать, читать, записывать и закрывать текстовый файл в Python.
  • Практическое задание: Использование библиотеки os для вывода списка всех файлов в директории и демонстрация манипуляции путями.
  • Активность по манипуляции данными: Загрузите небольшой CSV-файл с помощью pandas, отобразите первые несколько строк и рассчитайте базовую статистику (среднее, сумма).
5

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

Занятие в классе Тема для занятия Подтемы Активности в классе Задания для самостоятельного изучения Часы
Понимание классов и объектов
  • Конструкторы, деструкторы и наследование
  • Инкапсуляция и полиморфизм
  • Интерактивная демонстрация: Создание базового класса "Студент" с атрибутами (имя, возраст) и методами для отображения деталей.
  • Практическое задание: Демонстрация наследования путем создания родительского класса Vehicle и дочернего класса Car с дополнительными атрибутами и методами.
  • Групповое решение проблем: Совместная реализация полиморфизма через функцию, которая обрабатывает объекты разных классов с одинаковыми именами методов.
  • Напишите программу для определения класса Book с конструктором для инициализации названия и автора, а также методом для отображения деталей книги.
  • Создайте скрипт, демонстрирующий инкапсуляцию, реализуя приватные атрибуты и методы доступа.
  • Практикуйте полиморфизм, написав программу с несколькими классами, каждый из которых определяет метод calculate_area() для разных фигур.
5

5. Продвинутые концепции Python

Занятие в классе Тема для занятия Подтемы Активности в классе Задания для самостоятельного изучения Часы
Введение в веб-скрапинг с BeautifulSoup Базовая визуализация данных с помощью matplotlib
  • Основы веб-скрапинга: понимание структуры HTML и использование BeautifulSoup для парсинга.
  • Техники извлечения данных: поиск и извлечение элементов по тегам и атрибутам.
  • Введение в визуализацию данных: создание базовых графиков (линейный, столбчатый, точечный) с использованием matplotlib.
  • Интерактивная демонстрация: Демонстрация веб-скрапинга с BeautifulSoup путем извлечения заголовков и ссылок с веб-страницы.
  • Практическое задание: Создание скрипта для генерации простого линейного и столбчатого графиков с использованием matplotlib.
  • Напишите скрипт с использованием BeautifulSoup для скрапинга и отображения заголовков статей с новостного сайта.
  • Практикуйте создание базовых визуализаций (например, точечный график случайных данных) с использованием matplotlib.
  • Исследуйте и реализуйте дополнительную функцию matplotlib, такую как добавление заголовков, легенд или настройка осей.
5

Финальный контроль

Компоненты оценки:

Финальный экзамен (40%):

  • Формат: Письменный и практический экзамен.
  • Содержание: Охватывает все главы, включая:
    • Основы Python, управляющие структуры и функции.
    • Работа с файлами, библиотеки (os, sys, pandas) и концепции ООП.
    • Продвинутые темы, такие как веб-скрейпинг и визуализация данных.
  • Оцениваемые навыки: Понимание синтаксиса, решение задач и реализация.

Проект (30%):

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

Участие в классе и задания (20%):

  • Описание: Регулярное участие в классных мероприятиях и сдача еженедельных заданий.
  • Критерии оценки:
    • Участие в обсуждениях и групповых мероприятиях.
    • Своевременная сдача заданий.
    • Точность и усилия в решении задач.

Тесты (10%):

  • Описание: Два или три теста в течение курса для оценки понимания ключевых тем.
  • Формат: Смешанные вопросы с выбором ответа, упражнения по кодированию и вопросы с коротким ответом.
  • Содержание: Сосредоточено на базовых и промежуточных концепциях.

Результаты обучения:

Основы Python:

  • Понимание базового синтаксиса, типов данных и переменных в Python.
  • Настройка среды Python и выполнение скриптов на Python.

Управляющие структуры и функции:

  • Реализация условных операторов и циклов для принятия решений и итерации.
  • Написание и использование пользовательских функций для модульного программирования.
  • Обработка ошибок и исключений в программах на Python.

Обработка данных:

  • Выполнение операций с файлами, таких как чтение из и запись в текстовые файлы.
  • Использование библиотек, таких как os и sys, для операций на уровне системы.
  • Манипуляция наборами данных с использованием pandas для анализа данных в реальном мире.

Объектно-ориентированное программирование (ООП):

  • Понимание концепций классов, объектов и методов.
  • Применение принципов ООП, включая наследование, инкапсуляцию и полиморфизм, в приложениях на Python.

Продвинутые концепции Python:

  • Разработка приложений для веб-скрейпинга с использованием BeautifulSoup для извлечения данных с веб-страниц.
  • Создание базовых визуализаций данных с помощью matplotlib для эффективного представления данных.

Решение задач и разработка приложений:

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

Критическое мышление и этические соображения:

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