Всем привет, на связи московский ростовчанин!
Спешу поделиться новостями, за последнюю неделю я закончил все задания по университету (осталась только мелочёвка), а это означает, что со следующей недели буду намного активнее в Телеге.
Так вот, хочу подвести некоторые промежуточные итоги и рассказать про обучение в магистратуре на примере моего ВУЗа, то есть ЮФУ (а если ещё точнее, то Таганрогский филиал, бывший ТРТИ, ныне ИКТИБ ЮФУ).
Про специальность
Немного о моей программе, учусь я по магистерской специальности 09.04.01, что на человеческом означает "Информатика и вычислительная техника", после завершения обучения буду инженером-программистом, неожиданно да? ;)
Это моё второе высшее образование, первое было в ростовском филиале МТУСИ, там я получил корочку инженер связи по специальности 230101, то есть "Вычислительные машины, комплексы, системы и сети".
Иными словами мои скилы представляют из себя гибрид из сетевика, админа, девопса и программиста, что кстати сильно помогает на работе и для решения хобби проектов, потому как мои решения не заперты только в рамках того или иного стека, подобная разношёрстность знаний позволяет смотреть на технологии в комплексе и решать проблемы, а не задачи.
Почему ВУЗ, а не курсы?
Но вернёмся на три года в прошлое, где-то в 2020 году я осознал насколько тема нейросетей актуальна и перспективна, поэтому начал собирать информацию об и накопал множество различных курсов, но:
- Во-первых, в такой большой теме как нейросети нельзя разобраться за полгода-год курсов;
- Во-вторых, корочка диплома имеет в разы больший вес чем какие-то там курсы вайтивайти за 24 часа;
- В-третьих, фиг знает кто эти курсы ведёт, насколько преподаватель адекватный специалист, потому как даже беглое сравнение тематики курсов с тем что описано в методических пособиях ВУЗа показали мне, что курсы учат ремесленников, а не учёных и фактически показывают, как повторять чужие решения, в то время как в ВУЗе учат осознанности и пониманию проблематики нейросетей, а в моём случае ещё и тому как создать что-то что имеет научную ценность;
- В-четвертых, помимо курсов я ещё изучил открытые источники, где люди бесплатно рассказывают о том как начать делать нейросети и курсы по сути своей лишь упрощённая и платная версия того что есть и так в открытом доступе, короче инфоцыганство.
По совокупности этих причин я принял решение поступить именно в ВУЗ, а не какие-то там курсы, пусть даже десять раз именитые.
Про обучение в ВУЗе
Прежде всего я просто кайфую от того насколько сложная и интересная программа обучения, даже не смотря на то что у меня заочная форма обучения. Ещё мне очень нравится, что обучение происходит полностью в OnLine режиме, есть специальный сайт под названием LMS, на нём преподаватели выкладывают задания, туда же надо выгружать свои решения в виде архивов или обычных PDF-файлов.
Лекции проходят через платформу MS Teams (выбор сомнительный, но о том как M$ втюхивают свои паршивые и полуживые решения знаю не понаслышке), есть даже клиент под нормальную ОС (да-да, под Linux).
Коммуникация с преподавателями происходит через почту или чатик в Teams, общение с однокурсниками в прочих месенджерах, в целом процесс обучения построен очень грамотно и удобно.
Первый курс
Понятное дело на первом семестре была скука, там в основном были всякие базовые вещи типа основы сетей, английский язык и так далее, но зато можно было выбрать тему дипломного проекта. Из всех доступных тем мне более всего понравилась про применение графовых нейросетей для реализации рекомендательных систем, собственно в ВУЗ я поступал именно ради нейросетей, поэтому выбор был очевиден.
Однако, отдельно хочу отметить пары по "Психологии делового общения", там нас обучали тому как анализировать поведение собеседников в процессе делового общения, как вести себя на конференция, какие ошибки допускают люди на переговорах, эмпатии и много чему ещё. Отличный был предмет, кстати, изначально у меня сложилось о нём скептическое мнение, прежде всего так произошло из-за наукообразности терминологии, она казалась мне избыточной, но в процессе погружения в вопрос скептицизм как ветром сдуло.
И ещё были интересные пары по предмету Технологии Big Data, там нужно было поднять кластер Apache Hadoop, пощупать HDFS, а также написать несколько программ на Scala, которые бы работали со встроенным в Hadoop MapReduce. Было очень интересно и познавательно, особенно потому что я смог попробовать систему для реализации кластерных решений отличную от набивших оскомину Docker Swarm, Apache Mesos и конечно же Kubernetes.
Дальше пошли штуки ещё интереснее, например был предмет "Методология научной деятельности", там нас обучали тому как правильно анализировать такие платформы как РИНЦ, ФИПС, Scopus, Espacenet, Patentscope для того чтобы находить на них научные работы и патенты уже готовых решений. Данная тема мне особенно понравилась, так как уже существующие патенты представляют огромный интерес для изучения и вдохновения, ощущения были как у кота на молочной фабрике.
На эту тему даже задумал небольшой хобби проект, который будет собирать информацию о патентах и научных трудах из публичных источников, но об этом как-нибудь в другой раз расскажу.
Второй курс
Первым делом хочу отметить предмет "Организация облачных и GRID-вычислений", отличные были лекции и очень интересные лабораторные работы, делать их нужно было на языке C#, собственно лабы по этому предмету и стали причиной тому, что я пощупал эту технологию за всякое. Если коротко, то надо было реализовать несколько приложений, условно разбитых на две группы, в первой группе надо было делать приложения используя WinForms, а во второй - небольшие сайты на базе ASP.net. К сожалению у меня там получился такой плохой код, что я не решился публиковать его на GitHub :)
По ходу выполнения лабораторных работ по упомянутому выше предмету проводил сравнение удобства и простоты разработки на dotNet в сравнении с PHP/Python/GoLang/JavaScript (на которых я обычно пишу), на мой скромный взгляд экосистема C# сильно перетружена всякой ерундой и одновременно с этим в ней нет нормальных инструментов автоматизации, консольный nuget просто бесполезная хренотень (графическая версия, встроенная в VS не особо лучше), корявая ORM, монструозные классы, 20Гб библиотек, отсутствие обратной совместимости приложений написанных на dotNet разных версий, отсутствие возможности работать с WinForms на нормальных операционных системах (имею ввиду Debian GNU/Linux разумеется) и так далее и тому подобное. Короче в целом C# меня очень сильно разочаровал, он мне показался дешёвой и урезанной калькой с Java, которая ещё и работает криво и не везде.
Но в целом лабы было интересно делать, потому что постоянная борьба с IDE, синтаксисом языка программирования и разными версия dotNet были вызовом для меня, поэтому предмет мне очень понравился, а C# отправился в список технологий, которыми я скорее всего больше не буду пользоваться.
Однако, проблем совсем не возникло с лабораторными работами которые я делал по предмету "Представление знаний в системах ИИ". Если коротко, надо было написать темпоральный процессор и систему нечёткой логики для миниатюрной экспертной системы, а также визуализировать решения на графиках и написать алгоритм, который бы подробно объяснил на основании каких правил нечёткой логики было принято то или иное решение.
На этот раз я решил не брать C# (как это рекомендовалось в работе, поминая прошлый опыт общения с этой технологией), а написать всё это на Python, как это делают настоящие учёные. В качестве IDE использовал Jupyter Notebook развёрнутый на GPU сервере (тут можно почитать про настройку этой системы). Полученный опыт создания экспертных систем в дальнейшем планирую использоваться в своих проектах, собственно это ещё одна причина, почему был выбран именно Python. И это только лабы, ещё я написал небольшую реферат в котором попытался представить, как можно было бы реализовать фреймы Марвина Мински в формате графов описанных YML файлами.
Выступление на платформе ИТМО
Между семестрами на втором курсе я выступал на платформе университета ИТМО, на которой презентовал прототип моего дипломного проекта. Для этого подготовил коротенькую презентацию в которой тезисно описал ключевые моменты разрабатываемой системы, а также небольшую речь на пять минут, ну чтобы не просто со слайдов читать, а попытаться как-то обосновать свою точку зрения.
Не смотря на мои, эм, особенности речи и сильное волнение моя работа заняла призовое место, видимо тема графовых нейросетей и правда является перспективной, раз даже члены научной комиссии отметили это.
Кстати о дипломе
Пишу я про графовые нейросети и о том как их можно применить для реализации рекомендательной системы, в моём случае это будет система, способная проанализировать граф пользователя на котором представлены технологии которыми он пользуется и предположить какую технологию ему бы было интересно изучить дополнительно, основываясь на его технологическом стеке. Граф пользовательских технологий собирается из данных об активности пользователя в социальных сетях, таких как GitHub.
После защиты диплома постараюсь не забыть и подробно рассказать о моём проекте, а пока что ограничусь лишь поверхностным и общим описанием.
Завершение
Иногда я слышу сильную критику в отношении отечественного образования от некоторых IT-специалистов (вайтишников), которые иногда в процессе общения превращаются в экспертов в области вирусологии, экономики или политологии (спасибо гуглу и креаклам наполняющим "коньтентом" википедию).
И причины этой критики мне не понятны, я с критикой не согласен, ведь даже в моём маленьком региональном ВУЗе, даже на заочном отделении нам преподают очень интересные вещи, которые реально пригодятся в будущем. Некоторые темы или языки программирования могут показаться скучными, тут согласен, но я всегда могу обсудить эти темы с преподавателем и попытаться решить задачи по-своему или углубиться в тему, дабы раскрыть её получше.
Ну и в целом, важно не то где, как и что преподают, а то как вы учитесь, если учиться спустя рукава, то в любом ВУЗе на любой программе результат вашего обучения будет посредственный и никому не нужный, но в этом не "плохое образование" будет виновато.
Стоит также задаться вопросом: если отечественное образование является таким паршивым, как его описывают некоторые критиканы, тогда почему выпускники наших технических ВУЗов востребованы не только внутри страны, но и за ее пределами? Как так вышло-то?
Это ставит под сомнение общепринятую критику и заставляет задуматься об истинной ценности и качестве отечественного технического образования. А продолжительная рефлексия на эту тему может привести вас к тому, что критиканы водят вас за нос, занимаются демагогией и самоутверждаются за ваш счёт.
Ладно, буду закругляться, если вы хотите продолжить обсуждение, присоединяйтесь к моему Telegram-каналу. Там я регулярно делюсь своими мыслями и новостями из мира IT, а также задаю и отвечаю на вопросы, а также участвую в спорах :)
Не забывайте подписаться и на мой Дзен-канал, поставить лайк, написать комментарий - всё это помогает в продвижении канала и публикаций.
Спасибо, что вы провели это время со мной, и надеюсь увидеть вас в следующей публикации! Жмите/пишите, до связи!