User Tools

Site Tools


start:prog2:lectures

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start:prog2:lectures [2023/02/08 18:17]
yaroslav.gosudarkin
start:prog2:lectures [2023/06/01 10:36] (current)
yaroslav.gosudarkin
Line 3: Line 3:
 План-проспект лекций:​ План-проспект лекций:​
  
-== Выборочный обзор libc ==+== Выборочный обзор libc (09.02) ​==
  
   - Вспоминаем организационные моменты (лабораторные,​ курсы, рейтинговая система,​ экзамен)   - Вспоминаем организационные моменты (лабораторные,​ курсы, рейтинговая система,​ экзамен)
   - Подробное рассмотрение assert, errno, signal, stddef, stdlib, time, wchar с приближенными к реальности примерами   - Подробное рассмотрение assert, errno, signal, stddef, stdlib, time, wchar с приближенными к реальности примерами
   - Поверхностное рассмотрение остальных библиотек   - Поверхностное рассмотрение остальных библиотек
-  - Повторение пройденного материала,​ вопросы по задачам 1 семестра. ​Анализ нескольких работ ​семестра, основная задача -- "отучить студентов" ​изобретать велосипед без необходимостипобудить активно изучать инструментарий с которым они работают.+  - Повторение пройденного материала,​ вопросы по задачам 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
  
 === [АРХИВ] Программирование (Весна) === === [АРХИВ] Программирование (Весна) ===
start/prog2/lectures.1675880242.txt.gz · Last modified: 2023/02/08 18:17 by yaroslav.gosudarkin