Алгоритмы и алгоритмические языки: альтернативная версия
Концепция: всё равно все сдавали ЕГЭ по информатике и кое-как понимают, что такое ЯП. Поэтому можно рассказать именно про Python3 (а не как про Паскаль), но только в объёме, необходимом для объяснения алгоритмов.
Примерный план (без МТ/НАМ в начале и собственно алгоритмов в конце), вчерне разбитый по темам, но по часам не промеренный пока.
- (введение) ИКС и неформальное использование питона как калькулятора.
- (типы данных) Константы-конструкторы объектов. Операции над объектами. Интерпретация выражения: конструирование и удаление объектов.
- (типы данных) Последовательности. Доступ к элементу и секционирование. Множественный оператор именования, распаковка последовательностей.
- (пространство имён) Ссылки на объекты: имена; ссылки из составных объектов. Счётчик ссылок. Идентификаторы объектов и их сравнение.
- (операторы) Условный оператор. Блок операторов. Оператор цикла с условием. Каноническая схема цикла. Вложенные операторы.
- (операторы) Старшинство операций. Логические операции. Нулевой объект типа.
- (пространство имён) Функции: задание и оператор вызова. Локальное пространство имён. Позиционные и именованные параметры. Рекурсия.
- (алгоритмы) Хеширование. Хеш-функция, её назначение и свойства.
- (типы данных) Хешируемые объекты. Словари. Косвенная передача параметров функции. Функции с произвольным количеством и именами параметров.
- (операторы) Цикл с итерируемым объектом. Циклические конструкторы объектов.
- (типы данных) Генераторы: выражения-генераторы, функции-генераторы. Работа цикла с итерируемым объектом.
- (пространства имён) Поля и методы объекта. Методы последовательностей, строк и словарей.
- (пространства имён) Класс как конструктор пространства имён. Экземпляр пустого класса: динамические поля и поля класса. Методы. Вызов метода.
- (пространства имён) Спецметоды. Реализация операций над объектами путём задания спецметодов.