Программа лекций
Восемь лекций курса разделены на два блока: в первом обсуждается язык C++, во втором — язык Python. Содержание лекций не дублирует программу практических занятий. Значительное внимание на лекциях уделяется обсуждению общих концепций и обзору возможностей языков программирования.
Часть 1. Язык С++
Потоки ввода-вывода
Функции
Передача аргументов по ссылке
Перегрузка функций
lvalue- и rvalue-выражения
Инкапсуляция и классы
Поля и методы
Объявление и определение класса
Особые методы класса
Статические поля и методы
Перегрузка операторов
Полиморфизм и наследование
Идиома RAII
Пример 1. Работа с файлами
Пример 2. Работа с динамической памятью
Стандартные контейнеры
Последовательные контейнеры: vector, list
Ассоциативные контейнеры: set, map
Итераторы
Вычислительная сложность алгоритмов
Алгоритмы STL
Библиотека numeric
Обобщенное программирование
Шаблонные функции
Шаблонные классы
Функциональное программирование
Лямбда-выражения
Библиотека functional
Часть 2. Язык python
Базовые типы и контейнеры
int, float, str
list, tuple, set, dict
Управляющие конструкции
if, while, for, тернарный оператор
Функции
Способы передачи аргументов в функцию
Строки
Объектно-ориентированная разработка с python
Обзор стандартной библиотеки
os, sys, string, decimal, fractions, collections, itertools, datetime
Вычисления с numpy
Массивы numpy
Механизм broadcasting
Линейная алгебра с numpy
Визуализация данных с matplotlib
plot, errorbar, hist
scatter
countour
Продвинутая настройка графиков
Модули библиотеки scipy: special, integrate, linalg, interpolate, optimize, stats, fftpack
Символьные вычисления с sympy
Основы работы с pygame
Главный цикл
Рисование геометрических фигур
Обработка событий
Пример. Визуализация модели физической системы с pygame
Вариант 1. Создаем и тренируем нейронную сеть с нуля на python
Вариант 2. Автоматические дифференцирование с библиотекой jax
Вариант 3. Библиотека pandas
Архив