Лекция 1. Основные типы данных
Основные типы данных языка Python.
Выбор типов данных, адекватных поставленным задачам.
Простые типы
-
Целое число
-
Вещественные и комплексные числа
-
Логические значения и битовые операции
Составные типы
-
Строка
-
Список
-
Словарь
-
Кортеж
-
Файл
Лекция 2. Основные управляющие конструкции
Основные управляющие конструкции языка Python.
Управление ходом выполнения программы.
-
Операторы и инструкции
-
Переменные
-
Логические операции
-
Ветвления
-
Циклы с условием
-
Циклы с параметром
-
Исключения
-
Классы исключений
Лекция 3. Средства структурирования кода
Средства структурирования кода языка Python.
Декомпозиция сложных задач.
Функции
-
Определение функции
-
Вызов функции
-
Передача аргументов
-
Возвращаемые значения
-
Область видимости
-
Вложенные определения функций
-
Встроенные функции
Классы
-
Определение
-
Экземпляры
-
Методы
-
Атрибуты
-
Конструкторы
-
Наследование
-
Виртуальные методы
Модули
-
Использование модулей
-
Пространства имён
Лекция 4. Основные модули стандартной библиотеки
Основные модули стандартной библиотеки языка Python.
Использование модулей библиотеки для решения типовых задач.
-
Полезные утилиты
-
Взаимодействие с ОС
-
Работа с файловой системой
-
Обработка текста
-
Хранение данных
-
Криптографические функции
-
Работа с форматом XML
-
Взаимодействие с БД
Лекция 5. Работа с сетевыми протоколами
Библиотеки, предоставляющие функции сетевого взаимодействия.
Использование наиболее распространённых сетевых протоколов.
-
Протоколы TCP и UDP
-
Протокол Telnet
-
Протокол FTP
-
Протокол HTTP
-
Почтовые протоколы
Практические занятия
Основная цель практических занятий – формирование навыков самостоятельной разработки приложений.
Каждый слушатель получает техническое задание на разработку одной или нескольких утилит с интерфейсом командной сроки.
Примеры заданий:
Практика 1
-
Конвертер дня недели.
-
Конвертер месяца.
-
Словарь математических констант.
-
Генератор аббревиатур.
-
Генератор докладов.
-
Резольвер имён хостов.
-
Утилита копирования файлов.
-
Ввод последовательности чисел.
-
Архиватор.
-
Текстовый шаффлер.
-
Знакогенератор.
Практика 2
-
Определитель високосного года.
-
Файловый сплиттер.
-
Файловый фильтр.
-
Парсер ini формата.
-
Калькулятор последовательностей.
-
Обнаружитель числовых взаимосвязей.
-
Умножитель матриц.
-
Морской бой.
Практика 3
-
Быки и коровы.
-
Библиотека комбинаторных функций.
-
Firewall.
-
Router.
-
Контроллер самогонного аппарата.
-
Определитель палиндромов.
-
Парсер сетевого адреса.
Практика 4
-
Калькулятор рабочих дней.
-
Напоминалка.
-
Поиск исполняемых файлов.
-
Групповое перемещение.
-
Цифровая подпись.
-
Язык описания анекдотов.
-
Угадай жывотное (искусственный интеллект).
-
Поиск близких выражений.
-
Контроль целостности системных файлов.
-
Валидатор пользовательского ввода.
-
Архиватор с фильтрацией по размеру.
Практика 5
-
Сервер анекдотов.
-
Клиент анекдотов.
-
Сервер Time of the Day.
-
Клиент Time of the Day.
-
Почтовый агент.
-
Спам-бот.
-
Почтовая бомба.
-
Мониторинг сетевых сервисов.