Абітурієнту

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

Метою інженерії програмного забезпечення є проектування, створення та супровід великих програмних систем (як правило для корпоративного сектору) за чітко заданий час та із забезпечення необхідної якості. Для реалізації таких жорстких вимог, фахівці в галузі програмної інженерії повинні володіти методами структурного і об’єктно-орієнтованого аналізу та проектуванню, тестування програмного забезпечення, його верифікації, подальшого супроводу і підтримки.

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

Ера програмної інженерії. Галузь створення програмних продуктів є на сьогодні – одна з найперспективніших і динамічних галузей світової економіки. Професія програміста чи програмного інженера є однією з найпрестижніших і найвисокооплачуваних. Водночас, це і надзвичайно творча професія. Процес створення високоякісної програми, без перебільшення, є таким же творчим як написання високохудожніх творів, як полотна світового рівня Веласкеса, Франческо де Гойя чи Рафаеля, музичні шедеври Бетховена, Лисенка чи Шопена. При написанні програми програміст вкладає свою душу, яка віддзеркалюється в ориґінальному стилі, підході та способах організації програмного коду. І тому це мрія в поклик на все життя, що заповнює сьогодні серця найобдарованіших молодих людей. За всю свою багатотисячолітню історію аж до середини 20-го століття людство так і не спромоглося написати жодного рядка програмного коду. Тільки тепер, в наш час, який по праву можна назвати «ерою програмної інженерії», можна сповна заповнити ці прогалини.

Отже, чи саме не тому, при вступі в Університет Івана Пулюя на напрям 121 „Інженерія програмного забезпечення” є постійно найбільший попит абітурієнтів з найвищим рейтингом підготовки. На кафедрі програмної інженерії навчаються одні з найкращих студентів, випускники шкіл та ліцеїв Тернополя (Технічний ліцей, Українська гімназія ім. Івана Франка, ЗОШ №3, 23, 8, 16) та інших реґіонів, учасники та призери міжнародних студентських наукових шкіл, конкурсів та олімпіад з програмування.

Навчальний процес на кафедрі здійснюється згідно нових навчальних планів, розроблених на основі міжнародного освітнього стандарту (курікулуму) з програмної інженерії “Software Engineering 2004/2006”, в якому врахований світовий досвід підготовки програмних інженерів та сучасні тенденції розвитку програмного забезпечення. Відомо, що за останні роки відбулася низка концептуальних змін в індустрії розробки програмного забезпечення, спричинена, передусім, стрімким зростанням розмірів програмних продуктів та їх складності, а також динамічно змінними вимогами до розроблення та експлуатації систем. Стало очевидним, що традиційний підхід, за яким десятками років здійснювалась підготовка програмістів, як реалізаторів процесу безпосереднього написання коду себе давно вичерпав і є на сьогодні невдалим і неуспішним. Вироблені нові концепції програмування та інженерії програмного забезпечення (ПЗ):

  1. Об’єктно-орієнтоване проектування програмування (ООП) як спосіб організації програм;
  2. Уніфікована мова моделювання ПЗ (UML);
  3. Спеціалізовані засоби розробки ПЗ.

Кафедра програмної інженерії з позиції міждисциплінарного підходу забезпечує навчальний процес за таким комплексом взаємопов’язаних фундаментальних і профеcійно-орієнтованих дисциплін:

Блок дисциплін, пов’язаний з вивченням мов об’єктно-орієнтованої парадиґми програмування:

  1. Основи програмування (CS1011);
  2. Алгоритми та структури даних (CS103);
  3. Об’єктно-орієнтоване програмування на С++ (CS1021);
  4. Програмування на JAVA/JEE;
  5. Програмування на С# та технологія .Net.

Поряд з освоєнням основ об’єктно-орієнтованого програмування на мовах С++, Java/JEE, C#/.NET, студенти набувають практичного досвіду розроблення прикладного програмного забезпечення, що раніше залишалось поза увагою навчальних програм. Поряд з цим блоком, це забезпечується реалізацією наступних блоків дисциплін:

Блок дисциплін, пов’язаний з проектуванням, моделюванням та конструювання програмного забезпечення:

  1. Моделювання програмного забезпечення;
  2. Архітектура та проектування програмного забезпечення (SE311);
  3. Людино-машинний інтерфейс (SE212);
  4. Конструювання програмного забезпечення (SE211);
  5. Еволюція програмного забезпечення;
  6. Безпека програм та даних;
  7. Проектний практикум.

Блок дисциплін, пов’язаний з сучасними підходами до розробки програмних проєктів та основними принципами роботи в команді професіоналів:

  1. Основи програмної інженерії(SE201);
  2. Програмна інженерія і комп’ютинґ (SE101);
  3. Якість програмного забезпечення та тестування (SE321);
  4. Менеджмент проектів програмного забезпечення (SE323);
  5. Аналіз вимог до програмного забезпечення (SE322);
  6. Емпіричні методи програмної інженерії (MA271);
  7. Ґрупова динаміка та комунікації (NT181);
  8. Професійна практика програмної інженерії (NT291).

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

  1. Операційні системи (CS226);
  2. Бази даних (CS270T);
  3. Організація комп’ютерних мереж.

Розроблені комплекси науково-методичного забезпечення для напряму 6.050103 «Програмна інженерія», що включають робочі програми, конспекти лекцій в електронному і друкованому варіантах, вказівки до лабораторних, курсових робіт, самостійної роботи студентів, засоби модульного і підсумкового контролю знань студентів.