Python используют в «Яндексе» и Google, NASA и Apple, CERN и IBM. Python используется для написания компьютерных игр и веб-приложений, системного софта и прикладных программ. На нём можно писать под самые разные платформы — от Windows, Linux и Mac OS до Andoroid и iOS. При этом Python — один из самых простых и лаконичных языков. Научившись писать на нём в одну строчку сложные программы, которые на C и Pascal занимают десятки строк, вам уже не захочется добровольно возвращаться к этим языкам! Курс предназначен для школьников, которые хотят изучить от азов до профессиональных возможностей современный, востребованный и в то же время очень понятный язык программирования.
Преподаватель:
Гуровиц В. М.
Программа курса:
Занятие 1. Язык Pyhon
- Формальные языки записи алгоритмов
- Зачем нужно уметь программировать?
- Синтаксис, семантика и прагматика
- Hello, World!
- Экзотические языки программирования
- О языке Python
- Интерпретация и компиляция
- Где применяется Python
- Пишем на Python в одну строчку
- Ввод-вывод в Python
- Установка Python и сред разработки
- Cреда программирования WING IDE
Занятие 2. Среда программирования. Целые числа и строки
- Установка Python и сред разработки
- Cреда программирования WING IDE
- Переменные в Python
- Ключевые слова и идентификаторы в Python
- Обмен переменных значениями в Python
- Литералы чисел в Python
- Целочисленный тип (int) в Python
- Строки в Python
- Литералы строк в Python
- Срезы строк в Python
- Методы строк в Python
- Работа с тестирующей системой
Занятие 3. Условный оператор
- Задачи поиска, замены и удаления подстроки в строке в Python
- Экранированные символы в Python
- Типы данных и приоритеты операций в языке Python
- Преобразование типов в Python
- Логический тип (bool) в Python
- Принцип условного исполнения
- Условная инструкция в Python
- Инструкция pass в Python
Занятие 4. Цикл while. Теория чисел
- Инструкции управления циклом в Python
- Цикл while в Python
- Вывод числа с обратным порядком цифр и в заданной системе счисления
- Переменные-флаги
- Примеры использования переменной-флага
- Тест простоты
- Проверка простоты перебором делителей
- Проверка числа на простоту в Python
- Факторизация перебором делителей
- Разложение числа на множители в Python
- Алгоритм Евклида
Занятие 5. Цикл for
- Цикл for в Python
- Фильтрация потока чисел
- Поиск числа в потоке на Python
- Поиск максимального и минимального числа в потоке на Python
- Поиск второго по значению экстремума на Python
- Количество равных максимумов
- Генерация псевдослучайных чисел
- Среднее арифметическое и отклонение от среднего
- Арифметическая и геометрическая прогрессия
- Рекурсивно задаваемые последовательности
- Сумма и произведение последовательности чисел
- Отладка приложения на Python
Занятие 6. Функции
- Парадигма структурного программирования
- Функции в программировании
- Преимущества структурного программирования
- Функции в Python
- Граф вызовов функций
- Стек вызовов
- Области видимости переменных в Python
- Полиморфизм функций в Python
- Утиная типизация
- Математические функции в Python
Занятие 7. Кортежи и списки
- Кортежи в Python
- Методы split и join для списка строк в Python
- Списки в Python
- Обращение массива
- Циклический сдвиг в массиве
- Срезы списков в Python
- Операции со списками в Python
Занятие 8. Квадратичные сортировки
- Сортировка выбором
- Сортировка вставками
- Сортировка методом пузырька
- Синхронная сортировка массивов
- Устойчивость сортировок
Занятие 9. Быстрые сортировки
- Случайное перемешивание массива в Python
- Сортировка подсчетом
- Поразрядная сортировка
Занятие 10. Рекурсия
Занятие 11. Функциональное программирование
- Передача функции как аргумента в Python
- lambda-функции в Python
- Объект map в Python
- Стиль программирования (для Python)
Занятие 12. Файловый ввод-вывод
- Работа с текстовыми файлами в Python
- Отбрасывание пробелов и управление регистром строки
Занятие 13. Двумерные массивы
- Генераторы списков в Python
- Двумерные массивы в Python
- Генераторы таблиц
- Операции над матрицами
- Многомерные списки в Python
Занятие 14. Множества и словари
- Множества в Python
- Словари (ассоциативные массивы) в Python
- Пример дешифрации текста после алфавитной замены
- Хеширование и хеш-функция
Занятие 15. Перебор и динамическое программирование
- Рекурсивный перебор
- Одномерное динамическое программирование: количество способов
Занятие 16. Линейные задачи
Занятие 17. Рекурсивные алгоритмы
- Рекурсивный перебор
- Сортировка слиянием
- Быстрая сортировка Хоара: Python
Занятие 18. ООП
- Классы в Python
- Объектно-ориентированное программирование
Занятие 19. Разработка классов
- Разработка собственного класса
Занятие 20. Разработка классов (продолжение)
- Разработка собственного класса
Занятие 21. Тестирование
- Плановая обработка ошибок при помощи исключений в Python
- Юнит-тестирование
- Тестирование как этап разработки программы
Занятие 22. Оконные приложения
- Виджеты
- Модуль tkinter
- Виджеты tkinter
- События в tkinter
Занятие 23. Оконные приложения (продолжение)
- События в tkinter
- Стили виджетов tkinter
- Упаковка виджетов tkinter
- Виджеты tkinter
- 2048 на Python + tkinter
Занятие 24. Решение численных задач
- Установка дополнительных модулей Python
- Математические функции в Python
- Массивы чисел в модуле math
- Основы Numerical Python
- Визуализация функций в Matplotlib
Занятие 25. Системное программирование
- Модуль sys в Python
- Модуль os
- Модуль os в Python
- Анализ аргументов командной строки в Python
- Операции с файлами и директориями в Python
Занятие 26. Разработка игр
Занятие 27. Игра "Тетрис"
- Тетрис на Python + PyGame
Занятие 28. Игра "Тетрис" (продолжение)
- Тетрис на Python + PyGame
Занятие 29. Программирование под Android
- Программирование на Python для Android
Занятие 30. Итоговое занятие
- Перспективы развития языка Python
Скачать:
Материал может быть удален по просьбе