Яку IT спеціалізацію вибрати у ВУЗі? Або комп’ютерна інженерія vs програмна інженерія vs комп’ютерні науки vs …

Яку IT спеціалізацію вибрати у ВУЗі? Або комп’ютерна інженерія vs програмна інженерія vs комп’ютерні науки vs …

Якщо це не перша ваша стаття, яку ви читаєте на даному блозі, то мабуть уже зауважили, що більшість постів описує одну конкретну проблему. В мене доволі простий і практичний підхід до вибору тем для статтей. Регулярно отримую запитання від читачів блогу і ті з них, які неодноразово повторюються, розширено висвітлюю у окремих постах.

Не стала винятнком і дана стаття. Минулого тижня у черговий раз отримав запитання щодо вибору IT спеціальності у ВУЗі:

Доброго дня! Допоможіть, будь ласка, із вибором напряму у ВНЗ. У чому
різниця між комп’ютерною інженерією, програмною інженерією, системним
аналізом та комп’ютерними науками? Буду щиро вдячна за відповідь.

Сам я навчався на мех-маті у Львівському університеті ім. Франка і особливого досвіду в цій справі не маю. Тому довелось потратити немало часу на дослідження. Сконтактував кількох друзів, запостив запитання в соцмережах, добряче порився в результатах Гугла та на сайтах українських університетів.

Тепер маю для вас дві відповіді. Перша – коротка, якщо немає часу читати далі. Друга – з детальним описом кожного із напрямків і моїм особистим підсумком та підказками. Вони допоможуть вам, якщо на вас чекає  вступ у ВУЗ “на програміста”.

Вагаєтесь? – Немає кардинальної різниці

Більшість спеціалізацій у ВУЗах, що мають відношення до роботи в IT (зокрема програмування), мають більше, ніж 50% предметів спільних. А також беручи до уваги, що ваш успіх в більшій мірі залежить від самоосвіти, а не того, що вас навчать в універі, можна стверджувати, що принципової різниці у тому де навчатись – немає.

Основи, необхідні будь-якому IT спеціалісту, ви набудете на будь-якому із напрямків. Решту знань, особливо практики та досвіду, вам потрібно буде здобувати самостійно. Тобто, коротка відповідь – немає кардинальної різниці на яку спеціалість подаватись у ВУЗі: програмна інженерія, комп’ютерні науки, системна інженерія, комп’ютерна інженерія і т.д.

А от чи йти у ВУЗ взагалі чи ні, то на дане запитання я уже відповів в окремій статті.

Галузі, напрямки та спеціальності

Поки досліджував дане питання, зрозумів, що є надзвичайно велика кількість термінів, якими називають напрямки та спеціальності. В кожному ВУЗі є свої нові словечка та словосполучення. У кожному із ВУЗів ту чи іншу спеціальність можуть трактувати по різному. Наприклад, в КПІ (Київський Політехнічний) системний аналіз розглядається в першу чергу в контексті інформаційних технологій. А в КНЕУ (Київський Економічний) системний аналіз розглядається лише в контексті економічних питань.

Навіть, якщо глянути на різні IT напрямки та спеціальності в КПІ, то на 70-80% програми у них однакові.

Далі в статті я опишу кожну із найбільш популярних спеціальностей та дам посилання на ресурси для детального ознайомлення. Це допоможе вам сформувати власну думку.

Для кожного із напрямків та спеціальностей я використовував ресурс abiturient.in.ua, щоб категоризувати їх. Далі використовував вікіпедію, що отримати базове визначення терміну. Ну і, на сам кінець, на сайтах університетів вичитував програму навчання по спеціальності.

Програмна інженерія

Напрям підготовки “Програмна інженерія” належить до галузі “Інформатика та обчислювальна техніка“. До нього, згідно даного реєстру на abiturient.in.ua належать: програмне забезпечення систем, інженерія програмного забезпечення.

Програмна інженерія, згідно визначення з вікіпедії –  це застосування системного, вимірюваного підходу до розробки, використання та супроводу програмного забезпечення, та дослідження цих підходів, тобто застосування принципів інженерії до програмного забезпечення.  Вперше термін «програмна інженерія (англ. software engineering)» був використаний в 1968 році на конференції з програмної інженерії, що була організована NATO.

І якщо глянути список дисциплін, що входять до програмної інженерії, стає зрозуміло, що даний напрямок фокусується на розробці програмного забезпечення.

Також на сайті КПІ Факультет Інформатики та Обчислювальної Техніки вказують, що:

Зміст діяльності фахівців полягає у розробці та супроводженні: прикладного програмного забезпечення комп’ютерних систем та мереж, корпоративних систем та мереж, систем підтримки прийняття рішень, автоматизованих систем управління, інтелектуальних систем; програмних продуктів для бізнесу; Web – порталів; мультимедійного програмного забезпечення; баз даних та знань; програмних систем діагностики та сертифікації; програмних засобів захисту інформації у комп’ютерних системах та мережах.

Також можна ознайомитись із програмою навчання на Програмній Інженерії у Львівській Політехніці.

Тобто програмування включає в собі як прикладне програмне забезпечення, так і підтримку мереж, так і розробку веб-сайтів. Все, що тільки існує у світі софта.

Комп’ютерна інженерія

Напрям підготовки “Комп’ютерна інженерія” також належить до галузі “Інформатика та обчислювальна техніка“. До нього, згідно даного реєстру на abiturient.in.ua належать: комп’ютерні системи та мережі, системне програмування, спеціалізовані комп’ютерні системи.

Комп’ютерна інженерія, згідно визначення у вікіпедії – це навчальна дисципліна, що об’єднує інформатику та комп’ютерні мережеві технології, частини електротехніки та програмної інженерії, необхідні для проектування та розроблення комп’ютерних систем, тобто апаратного та програмного забезпечення.

В розділі Робота можна побачити, що окрім питань Програмної Інженерії, Комп’ютерна Інженерія охоплює апаратне забезпечення. Це і розроблення аналогових та гібридних плат, i проектування мікропроцесорних та мікроконтролерних пристроїв i навіть робототехніка.

І також можна ознайомитись із повною програмою даного напрямку в Київській та Львівській політехніках.

Комп’ютерна інженерія виглядає більш універсальною, ніж програмна інженерія i охоплює також апаратну частину. Але, оскільки період навчання у всіх однаковий (5 років), відповідно прийдеться пожертвувати кількістю знань по програмній інженерії.

Комп’ютерні науки

Напрям підготовки “Програмна інженерія” належить до галузі “Інформатика та обчислювальна техніка“. До нього, згідно даного реєстру на abiturient.in.ua належать: інформаційні управляючі системи та технології, інформаційні технології проектування, системне проектування, системи штучного інтелекту, комп’ютерний еколого-економічний моніторинг.

Коротке означення даного напрямку:

Зміст діяльності фахівців полягає у розробці комп’ютеризованих інформаційних  систем і технологій для різноманітних галузей науки, промисловості та бізнесу, включаючи: проведення системного аналізу предметних областей і їх формалізацію; створення математичних моделей об’єктів та процесів автоматизації; проектування та розробку прикладного програмного забезпечення і баз даних та баз знань; розробку систем штучного інтелекту. Студенти вивчають прийоми роботи з інформаційними системами, їх устрій та особливості програмування.

На сайті КПІ та ЛПУ можна знайти весь список предметів, що викладають студентам даної спеціальності. Серед них: бази даних, програмування, комп’ютерна графіка, штучний інтелект, комп’ютерні мережі, основи системного аналізу, операційні системи, комп’ютерна схемотехніка, теорія інформації та кодування, чисельні методи, архітектура обчислювальних машин, програмування та алгоритмічні мови.

Цей список свідчить про те, що там вчать всього по-троху. Навіть комп’ютерної графіки та штучного інтелекту. Відповідно після закінчення даного напрямку людина має непогане уявлення про всеможливі професії в IT: від системного адміністратора до комп’ютерного дизайну. Даний напрямок допоможе визначититсь із подальшою спеціалізацією. З іншої сторони, не можна розраховувати на достатньо глибокий розбір хоча б одного з предметів.

Системний аналіз

Системний аналіз, згідно вікіпедії – це науковий метод пізнання, що являє собою послідовність дій з установлення структурних зв’язків між змінними або елементами досліджуваної системи. Спирається на комплекс загальнонаукових, експериментальних, природничих, статистичних, математичних методів.

Тобто, мова йде насамперед про науковий метод та системний підхід при аналізі проблем. Тим не менше, системний аналіз виник саме в контексті застосування ЕОМ для дослідження складних технічних, економічних, екологічних систем. Відповідно системний аналіз застосовується в найрізноманітніших галузях, але одна річ є спільною: рішення даних задач відбувається виключно з допомогою ЕОМ.

На сайті КПІ та ЛПУ можна знайти весь список предметів, що викладають студентам даної спеціальності. Серед них: методи моделювання складних систем, методи аналізу, моделі та методи оптимізацій, основи теорії керування, теорії конфліктно-керованих систем, методи застосування часових рядів для опису динаміки процесів, методи та алгоритми підтримки прийняття рішень в умовах визначеності, невизначеності, ризику та конфліктних ситуацій.

Відповідно до вищесказаного, окрім програмного забезпечення, в даному напряму робиться великий акцент на науку. Математика, статистичні методи, функціоналний аналіз, теорії управління – це все буде включено в курс.

Інформатика

Також в КПІ є напрям Інформатика.

Інформатика, згідно вікіпедії – це теоретична та прикладна (технічна, технологічна) дисципліна, що вивчає структуру і загальні властивості інформації, а також методи і (технічні) засоби її створення, перетворення, зберігання, передачі та використання в різних галузях людської діяльності. Основне теоретичне завдання інформатики полягає у визначенні загальних закономірностей, відповідно до яких створюється інформація, відбувається її перетворення, передавання та використання у різних сферах діяльності людини. Прикладні завдання інформатики полягають у розробці найефективніших методів і засобів здійснення інформаційних процесів, у визначенні способів оптимальної наукової комунікації у самій науці та між наукою і виробництвом.

Проте переглянувши список предметів спеціальності Інформатика, склалось враження, що це певний мікс програмної інженерії з основами системного аналізу. Комп’ютерна графіка там також є. Дуже схоже на Комп’ютерні Науки. Єдину різницю зауважив в тому, що Штучний Інтелект замінено Нейронними Мережами.

Якщо ви знаєте інші відмінності напрямку Інформатика та Комп’ютерні Науки – запрошую прокоментувати.

Прикладна математика

На завершення, оглянемо напрям Прикладна Математика. Даний напрям популярний більше серед ВУЗів із більш теоретично-науковим спрямуванням, аніж в політехніках.

Зміст діяльності фахівців цієї спеціальності, згідно вікіпедії, полягає у розробці інформаційних технологій та інформаційних систем, моделюванні процесів та явищ, розробці теоретичних основ математичного та програмного забезпечення систем обробки інформації, математичного моделювання складних технічних систем, розробці систем.

Тобто, в першу чергу, Прикладна Математика – це галузь математики. Відповідно мова йде про застосування математики на практиці, у різноманітних галузях.

На сайтах Львівського Національного Універсистету ім. Франка і університету “Київський Політехнічний Інститут” можна ознайомитись із програмою та предметами даного напрямку.

До 4-го курсу у студентів даного напрямку переважають математичні дисципліни. На п’ятому вони вивчають трохи більше предметів, які мають безпосереднє відношення до комп’ютерів та програмування: бази даних, комп’ютерне моделювання, веб-проектування.

То ж що мені обрати?

Якщо коротка відповідь на початку статті вас не задовільняє, а роз’яснення кожної із спеціальностей вище не допомогли, тоді тримайте моє коротке резюме. Надіюсь воно допоможе вам зорієнтуватись:

  • точно знаєте, що хочете програмувати і не лізти в апаратну частину (плати, мікроконтроллери, роботи)? – обирайте Програмну Інженерію;
  • думаєте, що апаратна частина також може вам сподобатись? – пробуйте Комп’ютерну Інженерію;
  • взагалі не маєте уявлення, що хочете і що сподобається? – обирайте Комп’ютерні Науки або Інформатику;
  • отримуєте кайф від математики і хотіли б залишатись з нею застосовуючи свої знання на практиці? – обирайте Системний Аналіз або Прикладну Математику.

Сам я закінчував механіко-математичний факультет. Програмування там було лише у вигляді одного чи двох симестрів Паскаля. Це не завадило мені стати професійним програмістом. Тому впевнений, що вибір спеціальності у ВУЗі вам також не завадить досягти результату!

Якщо ви володієте особистим досвідом щодо даного питання, будь-ласка, прокоментуйте і допоможіть абітурієнтам визначитись із вибором.

 

Коментарі:

  1. Доброго дня! Читаю ваший блог уже декілька місяців, знайшов для себе багато цікавого, не можете порекомендувати куди краще йти на роботу на 1-2 курсі, якщо я навчатимусь на програміста?

    Відповісти
  2. Інформація щодо спеціальностей трохи змінилася. Нині за переліком (http://zakon2.rada.gov.ua/laws/show/266-2015-%D0%BF) спеціальності (121 Інженерія програмного забезпечення, 122 Комп’ютерні науки, 123 Комп’ютерна інженерія, 124 Системний аналіз, 125 Кібербезпека, 126 Інформаційні системи та технології) входять до галузі 12 Інформаційні технології.
    Якщо з першими 5-ма все зрозуміло, то 126 – знову дубляж усіх попередніх спеціальностей потроху.
    На кафедрі інформатики і кібернетики (http://inf.mdpu.org.ua) Мелітопольського державного педагогічного університету ім.Б.Хмельницього освітня програма за спеціальністю “Комп’ютерні науки” передбачає ознайомлення iз сучасними методами ефективного доступу до інформації, її збору, систематизації та збереження; основними парадигмами проектування та розробки програмного забезпечення комп’ютеризованих систем; методами планування життєвого циклу програмного забезпечення та розроблення моделі керування ресурсами; основними протоколами мережі Інтернет, моделями Інтернет-серверів; методами проектування інформаційних WEB-ресурсів з інтеграцією зовнішніх даних і програмних продуктів, використанням методів захисту інформації (https://drive.google.com/file/d/0Bw9OYXqr5PIWZFdoZXozbkZMelE/view)

    Відповісти
  3. Рекомендую сферу кібербезпеки, так як вона завжди буде актуальна.
    Гарну підготовку дають у КПІ, а саме ІСЗЗІ КПИ: http://iszzi.kpi.ua/

    Відповісти
  4. Блін, хочеться купити курс по Пітону, але на жаль я школяр, у якого компютер тормозить, колу працюю у Sublime Text((((

    Відповісти
  5. Підкажіть, будь ласка. А в чому різниця між Інженерія програмного забезпечення та Програмна інженерія? Дитина поступає.Є дві цих спеціальності.Не можемо розібратись… Я зрозуміла, що це одне й те ж…Наперед дуже!!!! дякую.

    Відповісти
  6. Закінчив нещодавно 9 клас вивчаю вже 1.5 рік Паскаль(у школі) почав для себе вчити англійську мову, HTML та C думаю вчитися на напрямку програмна інженерія. Програмування мені подобається також приваблює затребуваність професії та висока зарплата. Не впевнений які мови краще вчити. Пошукав у інтернеті популярні затребувані мови програмування такі як: C, C , C#, JAVA, Objective-C, Basic, HTML, CSS, PHP, PYTHON, JAVA SCRIPT, RUBY, PERL. Підкажіть яку мову краще вивчати (одну певну мови, поєднання певних мов)

    Відповісти
    • Найкращої мови програмування немає, але я вам раджу вивчати С++, оскільки ця мова програмування є найпопулярнішою!

    • Раджу С++, але він не є найбільш розповсюдженим в плані попиту, далеко не є. Не знаю, кому в голову могло прийти так сказати. Він є базою для інших мов, як PHP, C#, Java.
      Якщо бажаєте працювати в сфері ВЕБу, то, очевидно, вчить після C++ PHP та JavaScript.

      P.S. HTML – не мова програмування)

    • JavaScript- за ним майбутнє.
      Чи С# і технології Майкрософт.

  7. Раз ти таки не дійшов до автоматизація то скажу я.

    Навчаюсь на спеціальності “Автоматизація та Комп’ютерно-інтегровані технології” в ЖДТУ (закінчую 2-й курс).

    На першому курсі було С++, потім Matlab, знову C++ & OpenGL, C#. Викладання на дууууже базовому рівні.

    Окрім того багато предметів по промисловій автоматизації (автоматизація процесу якогось заводу/підприємтсва), короткий курс САПР, електротехніка & електромеханіка.

    Також була теормеханіка,інженерна графіка (креслення від руки) стандартизація виробн. систем (ГОСТИ), метрологія, вища математика, фізика, тощо.

    Резюме: беруть всіх кого не взяли на інші ІТ спеціальності. Навчатись не надто важко, проте буде зустрічатись хардкорна інженерія.
    Загалом якби мені ще раз дали вибір між ПІ і АТ я б обрав би АТ, через меншу кількість вимог.
    Так як жодна спеціальність окрім диплому, і теорії нічого не дає.

    Відповісти
  8. НЕ ЙДІТЬ НА КІ!!!
    ПОПЕРЕДЖАЮ!

    Відповісти
  9. Навчаюся на 2 курсі Комп’ютерних наук в НУ ЛП. Зі свого невеличкого досвіду можу сказати, що вища освіта майже нічого не дає (каплю знаннь + диплом). Немає кращого варіянту ніж самоосвіта (як пощастить +менторство). З теперішнім станом в освіті цінність диплома мізерна. Як на мене, то деремна трата часу 5 років протирати штани, по-іншому я би це не назвав. Толкових викладачів, що реально дають корисні знання і можуть допомогти, пояснити, кілька на рік навчання.
    Тому, як на мене, краще ВЖЕ після подачі документів СІСТИ Й ВИВЧАТИ те що ЦІКАВО. Не надійтесь, що хтось вас навчить. Освоїти так, аби взяли на роботу. Далі по бажанню забрати документи, бо й так толк 0.

    Відповісти
  10. Скажу те, що накипіло =)

    Якщо хочете програмувати – в жодному разі не йдіть на спеціальність “Системна інженерія”! Я свого часу вибирав просто: вибрав факультет пов’язаний з інформатикою і там спеціальність, яка більш-менш непогано звучить.

    Так ось – Системна інженерія. Звучить досить потужно і велично, здається, що це щось передове. Системна – щось досить узагальнене і складене. Є різні системи, і одні з найскладніших та найкрутіших – програмні. Інженерія – створення чогось структурного і логічного. Зараз вже не асоціюється з механіками чи електриками, часто ми можемо побачити такі поняття, як “software engineer” чи “QA engineer”. Дана спеціальність часто зустрічається на факультетах, у яких є репутація ІТ, наприклад ФІОТ в КПІ. Там же перед вступом можна було побалакати з викладачем, який буде втирати про розробку, алгоритми і бази даних.

    Тому таким чином нам хибно здається, що Системна інженерія пов’язана з програмуванням. ЦЕ НЕ ТАК! Системна інженерія – це не писати високорівневий код, це в кращому разі колупатися в мікросхемках, креслити принципові схеми відповідно ГОСТу, максимум – трохи кодить на асемблері.

    Мені мало, що є порекомендувати, але одне можу сказати точно: якщо ви програміст – не поступайте на системну інженерію.

    Відповісти
    • тобто, якщо я хочу писати високорівневий код, то мені вибирати програмну інженерію?

  11. На фізфаці є спеціальність “системи захисту інформації та автоматизація мереж і ще чогось там бла-бла-бла”. Звучить як антихакер. Мав туди йти але в останній момент передумав. Потім від випускників цієї кафедри дізнавався, що їх практично не підпускали до компів. Максимум на Турбо Паскалі бінарний пошук в масиві писали. Якщо задуматись, то дійсно захистили системи і мережі від студентів – не підпускали їх до компів. 🙂

    Відповісти
    • так. є ще ціла галузь по автоматизації, але я її не зачепив. можливо другим разом. занадто багато літер на одну статтю 🙂 та й і питали більшість про вищеописані напрямки лише

  12. Вітаю!
    Для майбутніх студентів дуже потрібна інформація.
    Погоджуюся, що не дуже критично відразу вибрати вірну спеціалізацію в навчанні. Тільки по навчальній програмі в інституті спеціаліста важко “виростити”. В інституті (принаймні в мене так було) дають базу (різні OS, математика, логіка, базу по програмуванню) + поле вибору… А далі – сомоосвіта, та бажано, перша робота вже під час навчання.
    Я ще ніразу не пожалів, що вже пішов на роботу в ІТ компанію відразу після закінчення 1 курсу (а це вже 10 років після інституту). І зарплата на початку в мене була смішна… Але досвід роботи + робота в колективі, який там мені дали – безцінний!!!

    Відповісти
    • повністю погоджуюсь. одразу під час універу паралельно з навчанням працювати – крутяк. для чого витрачати цінний час.

Опублікувати коментар

Ваша e-mail адреса не оприлюднюватиметься.

Ви не робот? ;) *