Что выберете вы?

Привет, Хабр!

Что выберете вы? На кого учиться? Пойти изучать компьютерные науки или постигать навык софт-инженера? Данные вопросы являются очень актуальными в наше время.

А что же выберете вы?

Люди, которые только начинают свой путь в IT-сфере и собираются поступать в какой-то технический ВУЗ или же просто ищут обучающие программы по программированию, чаще всего, натыкаются на огромное количество направлений. Смысл заключается в том, что на каждом из этих направлений предметы похожи, особенно на 1 и 2 курсе.

Для наглядности разделим все направления на два лагеря — это Computer Science и Software Engineering. Принципиальная разница заключается в том, что первое направление более гибкое и там лучше изучают фундаментальные вещи, а второе направлено на более практические навыки создания программ для рынка. Какое бы из этих направлений вы не выбрали, в конечном итоге вы станете программистом. Скорее всего, вы пойдёте куда-нибудь работать после или во время учёбы и вот именно на какой сектор разработки вас пустят и на что сможете претендовать определит то, какое направление вы выберете.

В обоих лагерях на первых 2-4 семестрах изучают похожие предметы, такие как линейная алгебра, математический анализ, дискретная математика и дифференциальные уравнения. Всю эту математику как правило изучают в обоих лагерях, но в Computer Science добавляется ещё по одному курсу дискретной математики и дифференциальных уравнений. Также общим для всех направлений является введение в общий Computer Science, а вот здесь уже и начинаются различия. В направлении Computer Science рассказывают об архитектуре ЭВМ, теории вычисления алгоритмов, структуре данных и их анализе, о том, как работают программы и как их можно писать, пользуясь классическими конструкциями, операционных системах, компиляторах и так далее. То есть идёт охват большего фундамента. В свою очередь, в Software Engineering рассказывают о ООП дизайне, тестировании софта, основах операционных систем и так далее. Другими словами, идёт охват изучения техник, чтобы студент мог учиться пользоваться уже готовыми решениями и с помощью них решать иной спектр бизнес задач. Все это обычно изучают в первый год обучения.

Далее, уже на 2 курсе оба лагеря начинают изучать такие предметы, как архитектура ЭВМ и устройство операционных систем, но Software Engineering изучает данные предметы более поверхностно. Это связано с тем, что там готовят людей, которые будут мало связаны с данными предметами. Начиная со 2 года обучения, на Computer Science начинают больше давить на устройство микроархитектуры и ядер ОС, а на разработке ПО больше делают упор на пользовательские интерфейсы, тестирование, анализ ПО, всякие методики менеджмента и т. д. В частности, ООП изучают в обоих направлениях достаточно углублено, так как данная парадигма программирования очень популярна в наше время и о ней просто нужно знать.

На 3 курсе обучения в Computer Science посвящается изучению комбинаторики, криптографии, ИИ, основам разработки ПО, 3D- графике и теории компиляторов. А на Software Engineering изучают системную безопасность, сети и интернет, менеджмент ПО и менеджмент в общем. Но в зависимости от ВУЗа данные предметы и углубление в них могут варьироваться.

Пожалуй, главным вопросом данной статьи остаётся вопрос о том, куда же лучше пойти. Тут уже все зависит от ваших предпочтений. Если же вы хотите быть очень гибким и универсальным инженером, то вам стоит идти в Computer Science. А если хотите связать свою жизнь с разработкой ПО и быть способным создавать какие-то полезные программы для конечных пользователей, то Software Engineering именно для вас.

Что выберете вы?

Подводя итоги, хотелось сказать, что в Computer Science вас научат решать задачи и придумывать элегантные способы решения этих задач, а в Software Engineering из вас сделают бизнес программиста, который сможет управлять проектами, людьми и создавать актуальный софт.

Источник: habr.com

Добавить комментарий