Вчера (10.05.2022) я получил свой последний зачёт обучаясь в университете ИТМО на кафедре ИС. В честь этого я решил раскопать свои репозитории с проектами, которые успел сделать за эти 6 лет и залить их в одно место. Не все из них полезные, некоторые несут около нулевую ценность, но пусть будет.
Всё ещё забавно для меня то, что физики - это предмет на котором нужно больше всего кода писать (а курс программирования делался за одну ночь, поэтому не попал сюда). Это был первый опыт разработки чего-то похожего на движок, который потом использовался для нескольких проектов. Идея была в том, чтобы набросать базовую логику поверх которой можно сделать несколько похожих моделирований физических законов. Также, это первый опыт использования WPF (и Oxyplot).
Знакомство с UML изменило мой подход к разработке и после этого семестра я стал пихать диаграммы везде. Один из самых полезных курсов. К тому же, один из двух предметов за весь бакалавриат, где нужно было в командах писать проект в командах. Была реализована платформа для Peer-review (а желание сделать нормальную реализацию всё ещё не покидает). Впервые в боевых условиях использовал ASP и, кажется, Dapper. Писать руками запросы учили в этом же семестре на другом предмете, так что ещё помнили как это делается.
Из всех заданий сюда попал лишь проект для последней т.к. остальные были больше про ресёрч и составление отчётов. Они были очень полезными и я всё ещё вдохновляюсь ими когда сам читаю для первокурсников этот предмет. Но последняя работа - это разработка плагина для студии. Незабываемый опыт.
Первый семестр математики, где нужно было что-то кодить осознано (до этого был семестр вычмата, где нужно было формулы переписать в код) и ВНЕЗАПНО первый семестр математики, который мне понравился и который я реально провёл за изучением математики. В заданиях особо ничего сложного с точки зрения кода - графики, экспорт в эксель данных. Единственно что тогда получилось неожиданного - это потыкать ещё очень сырую либу для ML. Самой интересной частью был экзамен, на который ушло довольно много времени. Он был интересным т.к. ранее я сталкивался с ген алго, это мне очень заинтересовало. И в этом проекте я делал похожую реализацию но на более серьёзном уровне (за год я чуть больше научился коду). Мне даже местами код очень нравился тогда.
Во втором семестре математики было в моей жизни ещё больше. Я потратил полтора месяца на чтение книг по дискретке, теории множеств и топологии просто потому что в условии первого задания не очень понятен было. Хотя по факту всё оказалось довольно просто и сводилось к описанию нужных формул. Справился с этим даже на F#. Немного статистики, цепей Маркова. Часть задания и решений было утеряно.
Ничего необычного, просто тыкание в рандомные технологии веба - js, PHP + laravel, ExpressJS + Vue
Довольно лайтовый курс по микросервисам в котором больше всего сложности и страданий были в использовании джавы.
Документация к ВКР на тему разработки клиент-серверного механизма общения с базой - https://github.com/FrediKats/Fluda.
Сложно сказать о чём был курс, но на лекции готовил доклад по чему-то из матлогики, а на практике впервые применил SignalR - src
Проектирование ИС - ещё один семестр (похожий был в 7 семестре, но артефактов не осталось) в котором мы разбирали более подробно аспекты проектирования ИС, составления требований и ТЗ по ГОСТу. Что было в целом достаточно интересно т.к. в качестве проекта была взята система, которую действительно планировалось реализовать.
Предмет, который объясняет почему моё направление в магистратуре называется бизнес-информатикой. Но выглядит как то, что должно было стать обязательной частью бакалаврского курса кафедры Информационных систем. Возможно, бакалавры ещё слишком молодые, чтобы понимать ценность предметов, где рассказывают про составление SLA и регламентов. Но этот предмет сильно расширил кругозор. Сложно в общих чертах описать что он собой представляет. Для меня это доп главы проектирования ИС с точки зрения бизнес аналитиков, а не разработчиков.
Второй (к сожалению, из двух) предметов за всё время обучения, где действительно был брошен вызов моим навыкам написания кода, изучением технологий. При всей моей не любви к кодированию железок, курс по параллелингу на видеокартах оказался в целом неплохой даже с учётом страданий из-за отсутствий тулинга для C++. С момента первого полезного предмета (ООП на C++ на втором курсе) я сильно преисполнился в ООП и обвязал всё что можно было в энтерпрайзный код. По итогу он мне даже нравился!
Факультативный предмет, который я взял в последнем семестре. Во многом из-за преподавателя, а не самого курса, хотя курс тоже был интересным. Всё что от него осталось - это лямбда парсер с возможностью применять редкуции. Закрепил на практике свои знания про Roslyn (C# комплиятор) и пытался без каких либо знаний из теории компиляторов написать логику построения деревьев и их анализ.