Що ви виберете?

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

Що ви виберете? На кого навчатись? Піти вивчати комп'ютерні науки чи осягати навичку софт-інженера? Ці питання є дуже актуальними в наш час.

А що ви виберете?

Люди, які тільки починають свій шлях в 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

Додати коментар або відгук