Программа практических занятий
Практические занятия состоят из двух частей. Первая часть (занятия 1-8) посвящена языку C++, вторая часть (занятия 9-13) — языку python. Оставшиеся три занятия используются для обсуждения заданий, которые студенты выполняют для получения зачета.
- Настройка рабочей среды
- Создание GitHub аккаунта
- Установка VS Code, mingw, git, CMake
- Компилирование программ с помощью gcc и CMake
- Освоение процедуры сдачи заданий
- Выполнение задания "Hello, Classroom!"
- Работа с потоками ввода-вывода
- Библиотеки iostream, fstream, sstream
- Работа со строками в C++
Материалы
- Контейнеры стандартной библиотеки C++
- vector, list, array, deque, priority_queue
- set, map, unordered_set, unordered_map
- range-based for loop
- Эффективная передача параметров в функцию
- Передача параметров в функцию по ссылке
- Константные параметры
- Итераторы
- Типы итераторов
- Конструирование контейнеров с помощью итераторов
Материалы
- Алгоритмы стандартной библиотеки C++
- for_each, sort, stable_sort, lower_bound, upper_bound, binary_search, copy_if, unique, any_of, all_of, none_of, copy_if, erase
- Компараторы и предикаты
- Лямбда-функции
- Библиотека numeric
- iota, accumulate, inner_product
Материалы
- Классы
- Публичные и приватные поля и методы
- Статические поля и методы
- Конструктор, деструктор, специальные методы
- Константные поля и методы
- Перегрузка операторов
- Ключевые слова delete и default
Материалы
- Наследование
- Абстрактные типы
- Виртуальные функции
- Ключевые слова override и final
- Динамическое выделение памяти
- Использование new и delete
- Умные указатели unique_ptr и shared_ptr
- Идиома RAII
Материалы
- Обобщенное программирование
- Шаблонные функции
- Шаблонные классы
Материалы
- Основы синтаксиса языка python
- Базовые типы данных и встроенные контейнеры
- int, float, list, str, dict, set, tuple
- Запись/чтение из файла
- Подробнее о строках
- f-, r-, и b-строки
- методы count, capitalize, isdigit, encode и др.
- Полезные модули стандартной библиотеки
- Библиотеки os и sys
- Аргументы командной строки и библиотека argparse
- Библиотеки datetime и calendar
- Библиотеки decimal и fraction
Материалы
- Объектно-ориентированная разработка с python
- Продолжаем знакомство со стандартной библиотекой python
- Основы работы с web: библиотеки wget, requests
- Сериализация с библиотекой json
- Временные файлы с библиотекой tempfile
- Итераторы, генераторы. Ключевое слово yield
Материалы
- Вычисления с библиотекой numpy
- Создание массивов numpy
- Способы индексирования
- Операции с массивами numpy, broadcasting
- Случайные числа с numpy
- Линейная алгебра с numpy
Материалы
- Визуализация данных с библиотекой matplotlib
- Графики plot, errorbar
- Гистограммы hist
- Диаграммы рассеяния scatter
- Контурные диаграммы contour
- Настройка отображения графиков
Материалы
- Графика с библиотекой pygame
- Структура программы с pygame, главный цикл
- Отображение геометрических фигур
- Обработка событий
Материалы