ОиМП, I поток

Материал из Wiki - Факультет компьютерных наук
(перенаправлено с «Programming/1»)
Перейти к: навигация, поиск

Основы и методологии программирования, I поток

Краткое содержание лекций

Лекция 1 (06.09.2014)

Дзен питона. Работа с питоном в режиме калькулятора. Функции print и input. Типы int, float, complex и bool. Переменные. Оператор if/elsif/else. Строки. Списки. Кортежи. Операторы while и for.

Лекция 2 (09.09.2014)

Словари. Множества. Функции. Пример: вычисление факториала. Функции split и join. Функции для работы со строками.

Лекция 3 (13.09.2014)

Примеры: проверка простоты числа. Двумерные массивы как списки списков. Функция enumerate. Списковые выражения (list comprehensions). Лямбда-функции. Сортировка списка по указанным ключам. Функция map. ipython3 notebook

Лекция 4 (16.09.2014)

Примеры: алгоритм Евклида, быстрое возведение в степень. Инвариант цикла. Способы передачи параметров в функции. Генераторы, операторы yield и yield from. Оператор pass. Оператор assert. ipython3 notebook

Лекция 5 (20.09.2014)

Работа с файлами. Пространства имен. Классы и объекты. ipython3 notebook

Лекция 6 (23.09.2014)

Перегрузка внутренних функций в классе. Итераторы. ipython3 notebook

Лекция 7 (27.09.2014)

Разбор типичных ошибок. Пример класса "Рациональное число". ipython3 notebook

Лецкия 8 (30.09.2014)

Обзор стандартной библиотеки Python'а: модули re и itertools. ipython3 notebook

Лекция 9 (04.10.2014)

Обзор стандартной библиотеки Python'а.

Лекция 10 (07.10.2014)

Разбор первого домашнего задания. Язык C++. Программа Hello, world! Потоковый ввод-вывод.

Лекция 11 (11.10.2014)

Встроенные типы данных (char, int, long, bool, float, double). Инструкции if, while, do ... while, for, goto, switch.

Лекция 12 (14.10.2014)

Функции. Шаблоны функций. Передача значения по ссылке. Контейнер std::vector. Спецификаторы const и constexpr. Фрагменты кода

Лекция 13 (18.10.2014)

Выражения. Приоритет и ассоциативность операторов. Статические массивы. Указатели. Фрагменты кода

Лекция 14 (21.10.2014)

C-строки. Указатели. Константность. Итераторы. Контейнеры std::list и std::map. Фрагменты кода

Лекция 15 (25.10.2014)

Указатели и ссылки.

Лекция 16 (08.11.2014)

Разбор задач второй домашней работы.

Лекция 17 (11.11.2014)

Разбор задач о корректности выражений и приоритете операторов. Структуры. Оператор ->.

Лекция 18 (15.11.2014)

Контейнеры стандартной библиотеки.

Лекция 19 (18.11.2014)

Алгоритмы стандартной библиотеки, не изменяющие последовательность.

Лекция 20 (22.11.2014)

Категории итераторов. Алгоритмы стандартной библиотеки, изменяющие последовательность. Фрагменты кода с использованием и реализацией алгоритмов

Лекция 21 (25.11.2014)

Алгоритмы стандартной библиотеки, работающие с отсортированными последовательностями. Классы.

Лекция 22 (29.11.2014)

Пример класса Complex. Перегрузка операторов. Фрагменты кода

Лекция 23 (02.12.2014)

Пример шаблонного класса Matrix. Перегрузка оператора <<. Фрагменты кода

Лекция 24 (06.12.2014)

Частичная специализация шаблонов. Конструкторы, оператор присваивания, деструкторы. Фрагменты кода

Лекция 25 (09.12.2014)

Композиция. Порядок инициализации полей. Исключения.

Лекция 26 (13.12.2014)

Наследование, полиморфизм, виртуальные функции. Фрагменты кода

Лекция 27 (16.12.2014)

Реализация класса vector в первом приближении (без зарезервированной части памяти, без размещающего оператора new и т. д.). Фрагменты кода

Лекция 28 (20.12.2014)

Разбор задач последней домашней работы.