Задания обновляются! Следите за новостями! (29-06-16)
Долгое время я обучал на «обычных задачах»: найти сумму, найти сумму четных и т.д. Но понял, что это не очень интересно и решил сделать свой учебник — интересный учебник по программированию, с занимательными задачами, с играми и графикой.
Сказано — сделано. Давая задачи на поиск максимального значения в массиве я всегда говорил: «Когда мы дойдем до создания игр, нам надо будет найти ближайшего врага, чтобы его уничтожить». А теперь я решил, что лучше дать задачу на поиск и уничтожение ближайшего «врага». Нарисовать его и уничтожить. Ведь это так забавно. Пусть это будет цветной круг, а не трехмерное изображение, все равно это намного привлекательнее, чем «обычные числовые задачи». Даже я, разрабатывая задания, не упускаю возможность побаловаться, поиграть с задачей: изменить пару параметров, добавить пару эффектов, чего не было с «классическими» задачами по программированию.
Я подготовил целый список задач по программированию для начинающих, по большей части это работа со списками (с массивами), но я не советую с них начинать. Продолжать тоже не советую. Как сказал один мой ученик: «Борис Анатольевич, я ничего, кроме массивов не знаю! Мы с вами работали — дошли до массивов (готовились к ЕГЭ), потом на первом курсе работали в Паскале — дошли до массивов, потом Java — дошли до массивов. Сейчас работаем в C++ — дошли до массивов…». А ведь так и есть: большинство курсов для начинающих изучать программирование построено вокруг изучения базовых конструкций языка, а их удобно отрабатывать именно на массивах (списках). Алгоритмы и структуры знать надо, кто бы спорил. Но за что ими перегружать начинающих? Сортировка массива разными способами, поиск подстроки в строке и т.д. … Начинать надо с других задач — с задач интересных, с задач графических, забавных, практических, которые можно показать друзьям и родителям. А уж потом — алгоритмы изучать и структуры данных.
Преподаватели — люди консервативные. Процесс смены стиля обучения у меня шел долго. Вначале я ушел со скучного Паскаля на интересный и мощный Python. А теперь пришла пора сменить и задачи.
1. Скачайте и установите Python, Geany (инструкция по установке)
2. Посмотрите примеры кода
3. Приготовьте справочник
4. Начните работать с учебником:
1. Теперь у вас есть Черепашка!
2. Черепашка узнает новые команды
4. Цикл for. Повторение участка кода
5. Список как способ хранения данных
8. Рисуем на Tkinter вместо Черепашки
9. Жмем на кнопки — возникают события. Обрабатываем! События Tkinter и их обработка.
10. Порисуем? Графические примитивы Canvas (Tkinter)
12. Принимаем решения. Оператор выбора в Python (ветвление, if)
13. Цикл for — это не только повторение несколько раз
14. Повторять, пока получается. Цикл while в Python
16. Мышка оставляет след. Работаем с информацией о событии (event) в Tkinter
17. Делаем первую игру на Python: поймай шарик
Часть вторая, в которой мы познакомимся с ООП (объектно-ориентированным программированием) на Python.
18. Начинаем создавать игру «Jumper» (почти Doodle). Анимация
19. Продолжаем создавать игру «Jumper». Объекты — это экземпляры классов
20. Окончание игры «Jumper». Взаимодействие платформ и джампера. (в разработке)
21. Задания по программированию на Python для начинающих и начавших.
22. Создаем список «шариков» для последующих заданий
23. Работа с списками в Python (03.09.14)
24. Работа со списками в Python, часть вторая (05.09.14)
25. Работа со списками в Python (удалять лучше с конца) (05.09.14)
26. Работа со списками в Python. Несколько вопросов (16.10.14)
27. Списки и еще раз списки в Python: отличия числового списка от списка объектов и приемы работы (16.10.14)
28. Продолжаем работать со списками (17.10.14)
29. Списки и геометрия. Забавные задачи (19.10.14)
30. Разбор задач (21.10.14)
31. Двумерные списки (22.10.14)
32. Неразрешимые проблемы (27.11.14)
33. Решение проблем, удаление и перемещение элементов двумерного списка (28.11.14)
ожидайте
34. Обход цветовой группы в двумерном списке
35. Игра «Блоки»
*. Еще немного двумерных списков
*. Игра «Сапер»
*. Бомбермен
*. Перенос игры на Android, фреймворк Kivy
** списки, геометрия, объекты
***. Таблица результатов на сайте. Серверный Python
***. Google Apps Engine
Инфо по установке софта от 25.06.17
В docx-файле, полученном в разделе «Скачайте и установите Python, Geany», видимо, следует указать особенности настройки Geany последней версии 1.30.1. В частности, в меню «сборка» в поле команды «Установить команды сборки — выполнить» для правильного вызова файла из рабочего каталога, соответствующего текущему окну редактирования, пришлось указать «python.exe %d/%f». В противном случае командный интерпретатор давал ошибку типа «команда не найдена».
В остальном все работает нормально, и потому хочется поблагодарить коллегу — автора сайта за кропотливый труд, внимание к деталям и дружеское отношение к ученикам и пользователям!