Лабораторные работы по некоторым дисциплинам, связанными с программированием, 113 специальности ФТИ НТУУ "КПИ им. Игоря Сикорского" за 2018-2021 года.
Дисциплины, которые вошли в этот репозиторий:
- Программирование 1, 2
- Веб программирование
- Алгоритмы и структуры данных
- Специальные разделы программирования(наука о данных)
- Математическое моделирование
- Численные методы
Также вам может быть интересен набор алгоритмов из курса "Методы оптимизации".
Используйте размещенные здесь материалы исключительно для проверки написанных вами решений.
Курс "Программирование" на C++. Семестры 1(Процедурное) и 2(ООП) соответственно. Вариант 22 mod n, где n - количество заданий. Также присутствуют дополнительные лабораторные по Python 3.
Для сборки проектов используется CMake. В работах 2 семестра проверка работоспособности решений проверяется с помощью Google Test(не теряйте время в поисках main ;)).
Курс "Веб программирование" вскользь охватывает такие технологии как HTML, CSS, JS, PHP, SQL.
Моя реализация работ выполнена в виде единого приложения, каждая страница которого представляет собой решения одного из заданий какой-либо лабораторной.
В папке scripts находяться скрипты на js, php и sql. В папке styles - стили html страниц из папки view.
Для избежания проблем с переносимостью и установкой ПО используется упаковка приложения в Docker контейнер и запуск его и все необходимой инфраструктуры(веб-сервер, сервер БД) с помощью Docker Compose.
Курс "Алгоритмы и структуры данных". Создание самых базовых структур и алгоритмов. Большая часть работ выполнена на .Net Core(C#), но 3 и 4 реализованы на C++ ввиду требований самих лабораторных.
- Рекурсия C#
- Сортировки C#
- Динамический массив и связный список C++
- Стек и очередь C++
- Бинарное дерево C#
Почти во всех(кроме 2, там только свой вариант) работах выполнены все задания как базовой так и повышенной сложности + некоторые дополнительные задачи, заданные во время защиты.
Курс "Специальные разделы программирования. Наука о данных". Изучаються базовые инструменты работы с наборами данных в Python, а также GDAL для работы со спутниковыми снимками. Большая часть работ выполнена в интерактивных Jupyter Notebook для простоты визуализации.
- Подготовительный этап и получение данных (VHI)
- Обмен результатами и первоначальный анализ (Spyre)
- Структуры для работы с большими объемами данных в Python
- Работа со спутниковыми снимками
Курс "Математическое моделирование". Рассмотрены, имплементированы и реализованы самые простые модели, в большинстве своем, связанные с системами автоматического управления. Работы выполнены в интерактивных Jupyter Notebook.
- Фигуры Лиссажу. Полиномы Чебышева. Годограф Михайлова
- LTI. ZPK, TF, SS representation
- Nonlinear oscillators
- Petri network
Курс численных методов. Рассмотрены, имплементированы и реализованы самые простые алгоритмы численно решения разного рода уравнений, поиск собственных значений и векторов линейных операторов, алгоритмы интерполяции и численные методы интегрирования ОДУ. Часть работ выполнена в интерактивных Jupyter Notebook, работы 2-4 на C++. Во всех работах имплементированы все предлагаемые разным вариантам алгоритмы.
Если Вы заметили какую-либо ошибку или неточность, то оставьте, пожалуйста, сообщений о ней, создав соответвующий issue с точным ее описанием, порядком выполнения действий для воспроизведения и "целевым" файлом.
Более того, буду рад принять ваши исправления и дополнения, созданные с помощью механизма Pull Request.