NSU Programming Программирование на C++ и Python

Программа лекций

Восемь лекций курса разделены на два блока: в первом обсуждается язык 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

Архив