start:prog2:lectures
[АРХИВ] Программирование (Весна 2024)
[АРХИВ] Программирование (Весна 2023)
План-проспект лекций:
Выборочный обзор libc (09.02)
- Вспоминаем организационные моменты (лабораторные, курсы, рейтинговая система, экзамен)
- Подробное рассмотрение assert, errno, signal, stddef, stdlib, time, wchar с приближенными к реальности примерами
- Поверхностное рассмотрение остальных библиотек
- Повторение пройденного материала, вопросы по задачам 1 семестра.
Структуры данных + остаточный обзор libc (02.03)
- Рассмотрение оставшихся после string.h библиотек
- Введение в структуры данных – массивы, списки, деревья, графы, примеры работы со списком
Списки (09.03)
- Разбор списков – написать вместе со студентами за лекцию готовый код линейного списка (insert, remove, find, create, printList).
Разбор стека и очереди (16.03)
- Разбор реализации стека и очереди на списке и на массиве, сравнение реализаций
Введение в С++ (23.03)
- Что такое язык С++, его назначение
- Пространства имен, подключение библиотек
- Инкапсуляция на примере структур данных из прошлых занятий (список, стек)
- Классы, методы (конструктор, деструктор), спецификаторы доступа
Рекурсия, работа с файлами, обход файлового дерева (30.03)
- Рекурсия, глубина рекурсии
- Файловый дескриптор – что это такое, и зачем нужно. Сценарии: tail и ls -l /proc/…..; lsof и несколько tail-ов; fprintf и IO потоки;
- Базовые функции работы с файлами fopen, fclose, fread, fwrite, fseek, ftell и тп. Дескриптор в директории
- Рекурсивный обход файловой системы
- (optional) Getopt и аргументы командной строки
Getopt, отладка в виртуальных машинах, С++ (06.04)
- Пара слов по контрольной – какие задачи, какое выбрать время
- Разработка программ – почему важно запускать и тестировать свои программы в виртуальных машинах
- С++ – исключения, new/delete
- Getopt и аргументы командной строки
- Отладка программ в виртуальных машинах через IDE
- (optional) Системы сборки – Makefile (вспомнить), Autotools
Autotools, словари, инкапсуляция (как сломать, сделать в Си) (13.04)
- Системы сборки – Makefile (вспомнить), Autotools
- Темы для контрольной + словари (от простой реализации до хэш-таблиц)
- Как сломать инкапсуляцию в С++
- Как сделать инкапсуляцию в Си
Разбор контрольной (20.04)
- Примеры работ
- Разбор сложных задач
Курсовая, BMP (27.04)
- Базовая задача курсовой – как может выглядеть решение
- Поверхностный разбор структуры BMP (особое внимание на сложные поля, таблицу цветов)
- Sizeof struct, директива pragma
- Как создать BMP с нуля
- Пример, как считать, изменить и сохранить BMP файл. Как учесть все версии заголовков.
Курсовая, libpng (03.05)
- Структура формата PNG – сигнатура и чанки (критические/необязательные/пользовательские)
- Разбора примера READ/WRITE, как обработать пиксельные данные
Курсовая, libpng (18.05)
- Shared-библиотеки – как создать, как использовать
- Системы сборки – Autotools, CMake
- C++ ссылки (объявления, копии, присваивание)
Регулярные выражения (25.05)
- Как работать с libc и другими .so библиотеками в Python
- Doxygen, пример на стеке
- Регулярные выражения – как использовать, примеры
Регулярные выражения (01.06)
- Регулярные выражения – Libc
- Полезные утилиты, которые стоит помнить: find, grep, ssh, gpg
- История терминала (history) – как увеличить хранилище, где посмотреть (разные пользователи), reverse-search
- Valgrind (+ callgrind) – анализ программы
- Программные каналы – mkfifo
[АРХИВ] Программирование (Весна)
—-