Алгоритмы? Data Science? Проектирование Архитектуры? Информатика и технологии программирования в деле!

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2021-07-23 00:16

разработка по

Одна из самых сильных специальностей в Республике Беларусь в последние годы претерпела большие изменения. Каждый год обновлялись преподаватели, на замену старым технологиям приходили новые, тренды IT тоже вносили свою лепту в учебный процесс. Чем сейчас является специальность Информатика и технологии программирования?

Кстати если вы не знали, то мы подготовили статьи про специальности ВМСиС и ЭВС.

Пожалуй, лучший способ познакомиться со специальностью — определить основные образующие её блоки, а затем детально изучить каждый из них. В случае с ИиТП можно выделить следующие:

— Разработка программного обеспечения;

— Алгоритмы и структуры данных — Математика;

— Архитектура;

— Системное программирования.

Совсем не случайно первым блоком в списке стоит разработка программного обеспечения, так как, пожалуй, является самым крупным. С него и начнём наш детальный обзор.

Разработка программного обеспечения

Разработка ПО — основное направление специальности ИиТП. Начиная с самых азов, студенты получают базовые навыки программирования, постепенно переходя к изучению принципов построения архитектуры кроссплатформенных приложений, а также методами оптимизации приложений под каждую крупную современную платформу.

Подход к изучению языков программирования на Информатке уникален тем, что позволяет не просто научиться кодить под определённые платформы, а даёт полное понимание архитектуры и принципов работы устройства, а также иных особенностей каждой из них.

Когда перед инженером стоит задача разработать комплексный программный продукт, он начинает изучать особенности самого продукта и выбирает себе нужный инструмент для разработки. В БГУИР готовят не просто программистов, а, в первую очередь, инженеров, поэтому в разработке инструментами являются языки программирования. Бытует мнение, что на том же Python можно запрограммировать что угодно и это будет хорошо работать. Это абсолютная ложь. Студенты специальности ИиТП смогут это вам подтвердить.

И на что тогда делать упор, спросите вы? На ИиТП решили, что гнаться за языками программирования очень глупо, хотя бы потому, что их скорость развития очень высока и хорошо рассказать студентам, в чём плюсы и минусы языка или технологии практически невозможно. Вместо этого было решено остановиться на одних из самых крупных и сложных технологий и платформ для на которых эти языки работают (С++, .NET C#, Python. Java, Kotlin, Java Script, SQL) и разобрали их буквально по косточкам. И такой подход полностью себя оправдал. Ещё на первом курсе студенты знакомятся с одним из самых широко применяемых и сложных языков в мире программирования — С++, и обретают не только основные навыки написания хорошего кода, но и понимание взаимодействия языка со остальными компонентами системы, на которой он будет запускаться. Далее идёт строго типизированный объектно-ориентированный язык С#. В 2021 году на C# можно написать программу практически под любое устройство!

Примеры использования платформы .NET которая работает на языке C#

Студенты изучали основные принципы разработки приложений, учились оптимизировать высокоуровневый код и встраивали собственные кроссплатформенные библиотеки в разработанные программные продукты. К середине второго курсы студенты ИиТП уже неплохо понимали разницу архитектур и подходов программирования ПО. Многие студенты, которые до университета вообще не знали про программирование, уже пробуют себя на стажировках в IT компаниях. Но на этом учебная программа не останавливается! На сцену выходит тот самый Python и его Web Framework Django. Python очень сильно отличается от C# и данный факт заставляет студентов перезагрузить свои знания о подходах к разработке. Самый объёмный 4 семестр даёт не только увидеть отличия двух совершенно разных языков, но и запускает процесс углубленного изучения системного программирования. Архитектура вычислительных систем вкупе с предметом «Объектно-ориентированное программирование» показывает студентам связь между высокоуровневым программированием и его трансформацией в байткод для процессора.

Когда студент ИиТП начинает видеть, что внутри совершенно разных языков происходят очень схожие процессы, он начинает лучше понимать тонкости построения архитектуры, а также чётко видит где лучше всего применять тот или иной язык программирования.

Точкой экстремума является 5-ый семестр, где у студентов начинается разработка программного обеспечения для мобильных платформ, а также изучение операционных систем, сред и особенностей разработки ПО для них. Обычно в это время студенты более активно начинают искать работу, так как уже опробовали себя во всех сферах разработки, получили академические навыки в теории разработки ПО и имеют больше свободного времени. На 6-ом и последующих семестрах идут предметы связанные с защитой ПО, методами оптимизации и работой с моделями данных и системами управления базами данных. Кстати говоря, эти вещи очень необходимы для инженеров, которые уходят в компьютерную безопасность. Студент ИиТП Артём Кадушко является капитаном команды CTF «Bulba Hackers». Об этом мы рассказывали в одной из наших статей, подробнее вот тут. На этом блок «Классической» разработки ПО заканчивается и мы переходим к Алгоритмам и структурам данных!

Математика в жизни инженера

В 2021 году самым трендовым направлением является Data Science или по-русски наука о данных. Туда входит Machine Learning, Data Engineering, Big Data & Business Analysis. ИиТп является самой сильной специальностью в БГУИР по подготовке специалистов в области Data Science. Многие студенты после второго курса уходят работать в эту сферу или начинают более детально изучать возможности применения новых знаний в своих собственных программных продуктах. Но какой ценой достигается высокий уровень подготовки инженеров в этой сфере? Конечно же, математика.

Математики создали программирование. Все инженеры-программисты обязаны знать математику.

Математика — царица наук. На факультете сильная математическая база, в которой нет ничего лишнего, однако «Наука о данных» на то и наука, поэтому здесь нужен более глубокий подход в изучении математических дисциплин.

Data Science — не для всех. Нужно упорство, усидчивость и желание развивать в себе аналитические способности. Поэтому многие не понимают зачем лишний раз учить математику и зачем она нужна в разработке. А зря…

Математические дисциплины нужны не только для глубоко анализа информации, которая сейчас является самым ценным ресурсом, но и для оптимизации всевозможных систем, на которых сейчас держится абсолютно всё. Мир перешагнул черту, когда системы развивались так быстро, что о качестве кода можно было не заботиться. Сейчас же мировые тренды направлены на повышение энергоэффективности работы ПО и понижение объёмов вычислительных мощностей затраченных на операцию. Поэтому хорошее ПО — это выверенный до мелочей продукт, который учитывает все архитектурные особенности платформ, под которые был разработан, а также готов масштабироваться для дальнейшего развития. Без этого просто никак. И здесь математическая подготовка ИиТП даёт большой буст в знаниях. Если вы понимаете, что математика не такая уж и скучная наука, то Информатика и Технологии Программирования будет отличным выбором. Победители республиканских и международных олимпиад по информатике, которые хотят развиваться дальше, всегда выбирают эту специальность.

И да, если вы вдруг думаете, что математика в университете — это решение задач на листочке и доказательство, что именно ваше решение правильное… НЕТ. Все не-базовые предметы будут учить вас решать прикладные задачи в различных сферах программирования. Вы будете реализовывать сложные алгоритмы, интегрировать методы анализа и статистики в ваши программные продукты, а также научитесь создавать крупные исследовательские проекты на языке Python с использованием Jupiter Notebooks.

Архитектура и системное программирование.

Красной нитью это идёт через все 4 года обучения. Это тот самый блок, который связывает ваши академические знания о процессе программирования, навыки кодинга и подготовку по математическим дисциплинам. Сильная подготовка по свежим учебным программам делает из обычного студента-программиста инженера-системного программиста, архитектора ПО. Многие не понимают важность глубокого понимания архитектуры и плохо подходят к изучению данных дисциплин, что очень сильно сказывается в будущем. Рано или поздно любой разработчик доходит до момента, когда гугл больше не даст ответ на интересующий вопрос, а процесс кодинга станет настолько второстепенным, что 80% любой задачи вы будете выполнять на автомате. И что тогда? Есть путь менеджмента, но он не для всех. Там нужны хорошие soft skills и умение вести бизнес. Поэтому разработчики могут сталкиваться с выгоранием и прочими «болячками» профессии. Однако инженеры с глубокой подготовкой в проектировании архитектуры ПО и системном программировании могут стать, как бы это банально не звучало, архитекторами ПО. Людьми, которые будут создавать продукты с нуля и каждый день бороться за то, чтобы их продукт был вершиной инженерной мысли. А если вы к этому времени будете развивать те самые soft skills, то можно уйти в Delivery Management и развиваться в этой сфере.

Один из способов проектирования модульной архитектуры ПО.
Когда вам говорят, что на всех специальностях хорошо изучается архитектура, то просто спросите ребят, что такое Android. Если они ответят на вопрос правильно, то уточните следом, в чёv отличие от iOS и почему тогда весь мир не сидит на Linux. Я думаю, что внятного ответа вы не получите :(

Конечно, есть ещё бОльшое количество интересных предметов которые изучаются на специальности, но одной статьи для этого будет мало) Даже серия видео на YouTube не поможет в полной мере раскрыть специальность, но, надеюсь, что основные выводы вы уже сделали и нашли для себя ответ самый важный вопрос. Нет, не ИиТП или ПОИТ, как по мне, выбор тут очевиден. Более «интимный» для каждого абитуриента: «А может, математика не приговор?» Даже если вы от неё немного подустали в школе/гимназии/лицее, вбейте в поисковик «Что даёт математика для программиста» и посмотрите на эту красоту :)

Давайте подведём итоги

По опросам студентов, выпускников, нынешних учащихся, а также преподавателей мы можем сделать следующий вывод.

Информатика и технологии программирования — единственная специальность которая нашла баланс между тремя основными столпами современной инженерии в сфере разработки ПО: Кодинг, Архитектура и Математика.

На кафедре информатики находятся Региональный академический центр SAP и Совместная лаборатория БГУИР-IBA (АЦКТ IBM). Именно на кафедре информатики базируется школа олимпиадников БГУИР, а также силами кафедры организовывается Международный чемпионат по спортивному программированию BSUIR Open. Студенты ИиТП являются постоянными участниками всевозможных олимпиад связанных с алгоритмами и структурами данных (ACM ICPC, Vk Cup, Huawei CUP, KPI Open и т.д.), инженерно-практических олимпиад и конкурсов (Bit-Cup, TIBO, European App Cup и т.д.), а также соревнований в области компьютерной безопасности (снова привет Bulba Hackers!). На выходе выпускник ИиТП будет иметь качественные знания в разработке, понимать полный цикл разработки и сопровождения ПО, иметь большой опыт в системном программирования и проектировании архитектуры ПО, а математика откроет перед ним сферу, где главенствуют Алгоритмы и структуры данных: Data Science (в том числе Machine Learning & Data Engineering), Business Analysis & Big Data. Выпускники ИиТП работают в компаниях связанных с Web и мобильной разработкой, разработке игр и инструментов для разработчиков, разработке кроссплатформенных и PC приложений, консалтингом более мелких IT компаний.

Конечно, не стоит забывать, что вы можете добиться высот и на других специальностях Факультета компьютерных систем и сетей, однако данная специальность при должном внимании учёбе закладывает в вас больше фундаментальных знаний и, соответственно, даёт больше вариантов трудоустройства. Здесь меньше кодинга, чем на ПОИТ, и меньше инженерии, чем на ВМСиС, и в этом её сила.

Информатика и технологии программирования — путь настоящего инженера-системного программиста!

Статью подготовили Вадим Владымцев, Анастасия Луговская и Мария Филенкова. Специально для Абитуриентов Факультета компьютерных систем и сетей.


Источник: m.vk.com

Комментарии: