Спеціальність: 122 комп’ютерні науки. Деталі:
Чому - Комп’ютерні науки ?
Ми всі живемо у глобальному інформаційному просторі. Сьогодні кількома кліками на клавіатурі комп’ютера чи мобільного пристрою незалежно від часу та місця перебування можна замовити покупки і сплатити рахунки, здійснити аудіо і відео спілкування, отримати будь яку інформацію та комп’ютерні розваги. Це стало вже звичним. Всесвітнє павутиння, швидко розвиваючись, пропонує все нові і нові послуги (сервіси), надає у спільне використання тисячам індивідуальних і професійних користувачів таке програмне забезпечення і апаратні мережеві ресурси (хмарні сервіси), які для кожного з них окремо є економічно невиправданими чи взагалі недоступними. Набуває все більшої популярності Інтернет речей (ІоТ), коли комп’ютеризовані пристрої спілкуються один з одним без втручання людини, керуючи побутовою технікою, безпілотними апаратами, поливом рослин в теплицях та ін. На вимогу таких систем створюються принципово нові технології, методи оброблення даних і програмування, що постійно розвиваються.
Для того, щоб створювати, обслуговувати, застосовувати в роботі підприємств і організацій такі сервіси потрібні спеціалісти, що володіють знаннями та уміннями, які надають саме «Комп’ютерні науки».
В області комп'ютерних наук зазвичай виділяють наступні основні розділи: - алгоритми і структури даних,
- мови програмування,
- архітектура комп'ютерів,
- операційні системи і комп'ютерні мережі,
- розробка програмного забезпечення,
- бази даних і інформаційно-пошукові системи,
- штучний інтелект,
- комп'ютерна графіка,
- інтерфейс людини і інформаційної системи та ін.
Метою навчання комп'ютерним наукам є підготовка фахівців, що володіють комплексними знаннями в області програмного та апаратного забезпечення і чітко розуміють їхню взаємодію. Стати фахівцем з сучасних інформаційних технологій (ІТ) можливо тільки за умови комплексного вивчення всіх складових частин комп'ютерних наук.
Методи підготовки кафедри СП спрямовані на формування у фахівця системного мислення, широкого кругозору у сфері новітніх інформаційних технологій і методів програмування, навичок і умінь, спрямованих на створення власних, експлуатацію відомих і самостійне опанування новими програмно-апаратними комп'ютерними системами. Такого фахівця можна назвати системний архітектор (інтегратор).
Чи потрібна вища освіта для роботи в ІТ?
Впевнені – будемо переконувати, що обов'язково потрібна? А от, і , ні!
Цікаво?
Читай далі...
Кому з нас не доводилося читати на Інтернет форумах або самому брати участь в гарячих суперечках на цю тему? При цьому досить авторитетні представники кожної зі сторін дуже переконливо і часто занадто емоційно наводять аргументи на користь своєї точки зору.
А корінь питання швидше криється в звичайному консерватизмі нашого мислення. На відміну від інших галузей, таких як машинобудування або будівництво, ІТ розвивалися просто вибуховими темпами. На очах одного покоління зі сфери діяльності вчених ентузіастів ІТ перетворилися в потужну індустрію. І як в будь-якій індустрії в ІТ потрібні свої вчені, інженери, техніки, технологи, робітники.
Інженерів і наукові кадри готують, як відомо, ВНЗ, кадри середньої ланки - середні спеціальні заклади, для виконання робочих операцій - досить закінчити відповідні комп'ютерні курси.
Плутанину в цю картину вносить відсутність в ІТ стандартної кваліфікаційної сітки, яка є в старих галузях промисловості, таких як хімічна або машинобудування. Певне уявлення про посадові обов'язки може дати, наприклад, «Типові посади працівників ІТ–галузі» . Чому певне? Тому, що трактування кваліфікаційних вимог ще залежить від самої компанії – її масштабу і типу виконуваних проектів. Кому не відомо, що за посадою офіс менеджера можуть стояти обов'язки секретарки, що розносить каву на нарадах, диспетчера або секретаря-референта. Різниця, погодьтеся, чимала. А ось оголошення, що просто вразило своєю «креативністю»: Запрошуємо на роботу ЕКСПЕРТІВ з доставки піци.
Додаткову плутанину в питання вносить успішне існування невеликих приватних організацій і вільних підприємців, які займаються розробкою сайтів-візиток, комп'ютерним дизайном, ремонтом комп'ютерів, пишуть мобільні додатки і т.д. Природно, що для таких робіт знання математичних методів або хмарних технологій зайве. Але і для роботи в автосервісі, або у бригаді по ремонту квартир знання з опору матеріалів теж не потрібні. Однак ніхто не дискутує на тему, а чи потрібні вони в машинобудуванні або будівництві.
Для яких робіт потрібна вища освіта, а для яких - ні, наочно можна простежити на прикладі розгляду основних етапів створення складного програмного забезпечення.
Основні етапи розробки програмних продуктів
- Аналіз вимог до проекту. Постановка завдання проектування.
На цьому етапі виконується збір вихідних матеріалів, формулюються цілі та завдання проекту, створюється загальна концепція майбутньої системи.
В рамках даного етапу на основі вимог замовника визначається необхідний ступінь автоматизації, виявляються найбільш актуальні для автоматизації бізнес-процеси, проводиться вибір методів і алгоритмів вирішення завдань, обґрунтування доцільності застосування раніше розроблених програм, визначення вимог до технічних засобів.
Рішення, прийняті на цьому етапі, закладають фундамент якості майбутнього проекту:
- надійності;
- адекватній обробці позаштатних ситуацій;
- легкої модернізації;
- безпеки;
- зручності інтерфейсу користувача.
При аналізі вимог визначаються терміни і вартість розробки ПЗ.
Таким чином, на даному етапі вибираються оптимальні рішення задач замовника і створюється основа для подальшого проектування системи.
- Обґрунтування необхідності проведення науково-дослідних робіт.
Якщо в проекті потрібно рішення нестандартних проектних завдань, наприклад, високі вимоги до точності обчислень, високе навантаження на всі системи, велика географічна розгалуженість і т.д., то виникає необхідність у додатковій дослідній роботі, спрямованій на доопрацювання існуючих або пошук нових рішень.
- Розробка і затвердження технічного завдання.
У ТЗ фіксуються вимоги замовника, затверджуються запропоновані виконавцем методи і засоби вирішення завдань, терміни і вартість розробки ПЗ.
- Розробка проекту.
Проектування системи може містити кілька проміжних етапів в залежності від складності та вимог конкретного проекту.
На даному етапі вибирається необхідна методологія розробки, яка поєднує в собі об'єктну декомпозицію, прийоми представлення фізичної, логічної, а також динамічної та статичної моделей системи.
Під час проектування розробляються проектні рішення щодо вибору платформи реалізації, засобів зберігання даних, визначаються вимоги до інтерфейсу користувача, до апаратного забезпечення, визначається набір організаційних заходів, які необхідні для впровадження ПЗ, а також перелік документів, що регламентують його використання.
- Розробка архітектури.
Коли технічне рішення знайдено, виконавець приступає до розробки архітектури майбутньої системи. Мета етапу – визначення загальної логічної і фізичної архітектури, яка повністю покриває всі вимоги замовника. При розробці архітектури проводиться уточнення концепції, вимог і попереднього технічного рішення, що дає можливість попередити найбільш небезпечні ризики.
- Реалізація.
Реалізація може проходити в один або кілька етапів залежно від обсягу та складності проекту.
На початковій стадії реалізації застосовуються експериментування і аналіз, будуються прототипи, як цілої системи, так і її частин з метою поглибленого вивчення проблем і прийняття необхідних проектних рішень. В результаті етапу реалізації з'являється робоча версія продукту.
- Кодування програмних модулів.
Коли всі концептуальні рішення на етапі реалізації прийняті, переходять безпосередньо до кодування програмних модулів системи. Вибрані алгоритми записується на мові програмування. На цьому етапі необхідно знання самої мови і середовища розробки, технологій і прийомів написання програмних модулів.
- Збірка системи.
Збірка системи є завершальною частиною реалізації. Розроблені програмні модулі збираються і налаштовуються в єдину систему під контролем системного архітектора, який стежить за реалізацією концепції протягом проекту. Далі виконується комплексне тестування системи.
- Тестування.
Тестування тісно пов'язане з такими етапами розробки програмного забезпечення як проектування і реалізація. У систему вбудовуються спеціальні механізми, які дають можливість проводити тестування системи на відповідність вимогам до неї, перевірку оформлення і наявність необхідного пакету документації.
Результатом тестування є усунення всіх недоліків системи і висновок про її якість.
- Документування.
До будь-якої розробки додається повний пакет документації, який включає в себе опис системи, керівництва користувачів і алгоритми роботи.
- Впровадження і підтримка.
На останньому етапі проводиться встановлення системи, навчання користувачів, і йде експлуатація розробленого програмного забезпечення. Підтримка функціонування ПЗ повинна здійснюватися групою технічної підтримки розробника.
Навіть біглий перегляд цих етапів показує, що вони аналогічні етапам проектування, прийнятим в інших галузях промисловості. І так само, як і в інших галузях, на етапах постановки задачі, проектування, ранньому етапі реалізації проекту необхідні інженерні знання, наступні етапи можуть виконуватися працівниками середньої і молодшої ланки.
Як підсумок – порада тим, хто закінчує середню школу і їх батькам. Спочатку визначиться, чим ви хочете займатися в ІТ. Адже, всі професії по-своєму цікаві і добре оплачувані. Може для когось має сенс після 9-го класу піти до середнього спеціального закладу або закінчити пару спеціальних курсів, декілька років попрацювати за фахом, а потім, якщо усвідомите, що це вам дійсно потрібно, будите поступати до ВНЗ. А, якщо ви вже вступили до ВНЗ, постарайтеся повністю присвятити ці роки засвоєнню тих знань, які дадуть вам в подальшому можливість займати інженерні посади в серйозних компаніях, а не вчитися абияк, потім працювати кодерами і говорити, що в інституті вам «забивали голову непотрібними для роботи науками».
Основні цикли підготовки і освітня программа спеціальності
Спеціальність комп’ютерні науки на кафедрі СП вивчається за освітньою програмою (ОП) «IНТЕЛЕКТУАЛЬНІ СЕРВIС-ОРIЄНТОВАНІ РОЗПОДIЛЕНІ ОБЧИСЛЮВАННЯ». В основі програми лежать привабливі і дуже популярні в епоху загальної «цифровізації» суспільства ідеї – отримувати програмні, інформаційні, апаратні ресурси як готові послуги (сервіси), будувати складні програмні і програмно-апаратні системи з готових модулів-сервісів, об'єднувати різнорідні бізнес-системи через Інтернет для створення інтелектуального (здатного автоматично приймати рішення на основі аналізу певних подій) інформаційного середовища підприємства, галузі, міста, спільноти тощо.
ОП базується на концепціях сучасної науки про сервіси, новітні Інтернет технології (GRID, хмарні, туманні, суперкомп’ютерні та ін.), методи високопродуктивних обчислень (на основі паралельних і сервіс-орієнтованих архітектур), обробки великих за обсягом даних, штучного інтелекту та машинного навчання, технології організації сховищ даних, взаємодії сервісів та віддалених компонент розподілених систем типу Інтернету речей.
ОП орієнтована на підготовку фахівців до успішної наукової і проектної діяльності в сфері створення, супроводу та використання розподілених інтелектуальних обчислювальних середовищ та комп’ютерних систем на базі сучасних ІТ для інженерної діяльності підприємств і управління бізнесом та комп’ютерного проектування об’єктів штучного оточення людини: проектування архітектури програмних та програмно-апаратних інформаційно-комунікаційних систем та баз даних, створення програмного забезпечення для розподілених інформаційних систем, конфігурування обчислювальної інфраструктури організації з використанням сучасних Інтернет-технологій і управління нею, використання ІТ для наскрізного проектування нових елементів інформаційних систем та їх елементної бази.
Кваліфіковані фахівці, підготовлені за ОП, здатні ефективно підтримувати високу якість інформаційних послуг в різноманітних сферах діяльності людини та вирішувати задачі, що ставить новий виток розвитку інформаційно-комунікаційних технологій і систем, який називають сьогодні Індустрія 4.0.
Для забезпечення базової підготовки за ОП та формування здатності швидкого самостійного освоєння нових технологій в даній галузі при складанні навчальних планів і програм окремих дисциплін бакалаврського рівня основна увага була приділена наступним напрямам підготовки:
Підготовка з програмування включає розвиток алгоритмічного мислення, засвоєння основних етапів і технологій розробки ПЗ, розповсюджених мов програмування: С, С++, C#, Java, PHP, JS, Python, HTML5 та інші, засобів розробки ПЗ та програмних продуктів: Visual Studio, Eclipse, NetBeans, Intelij IDEA, QT Creator, MPI, Open MP, Wolphram Mathematica, Mathlab, MySQL, Workbech, Active HDL, MaxPlus, Cadence, Allted та ін. Студенти вивчають технології прикладного, системного і мережевого програмування(включаючи Web- програмування і Web-дизайн).
Математична підготовка необхідна для створення моделей об'єктів і процесів інформатизації, які відрізняються різноманітністю використовуваних методів. Тому програма спрямована як на посилену загальну математичну підготовку, так і на засвоєння таких прикладних розділів як обчислювальна математика, математичне програмування, розподілені обчислення,системний аналіз, методи штучного інтелекту та інтелектуальної обробки великих масивів даних.
Технічна підготовка спрямована на отримання базових знань в області апаратних засобів сучасних інформаційних систем, комп'ютерних і телекомунікаційних мереж, методів проектування комп'ютерних систем (від великих інтегральних схем до розподілених інформаційних систем типу Інтернету речей).
Системна підготовка спрямована на вивчення системного і стандартного прикладного програмного забезпеченні (ПЗ комп'ютерних мереж, реляційних і об'єктно-орієнтованих СУБД, виртуальной и дополненной реальности, засобів захисту інформації, технологій віртуалізації, інтерфейсів взаємодії між інформаційними, програмними, апаратними ресурсами та кінцевими користувачами, тощо).
Перелік дисциплін навчального плану
Детальніше про курс навчання за посиланням З метою посилення практичної комп'ютерної підготовки майбутніх фахівців майже всі навчальні курси (навіть більшість математичних) підкріплено лабораторними практикумами, які проводяться на базі різноманітних прикладних систем автоматизації: обчислень, програмування, проектування, графіки, документообігу та ін. Студенти також мають можливість ще під час навчання брати участь в реалізації інноваційних проектів, працюючи у спільних з партнерськими фірмами Melexis (Бельгія) і Miratech (Україна) науково-навчальних лабораторіях, отримати досвід супроводу і адміністрування потужної комп’ютерної мережі кафедри СП
Студенти широко залучаються до участі у наукових проектах кафедри, яка є постійним виконавцем Європейських міжнародних науково-технічних програм (7-ої Рамочної Програми ЄС, Рамкової програми ЄС Горизонт 2020), міжнародних програм Українського науково – технологічного центру (УНТЦ), Державних програм України з інформатизації.
На даний час попит на таких фахівців перевищує пропозиції. Областями працевлаштування випускників є вітчизняні та зарубіжні ІТ компанії та наукові центри, які займаються створенням нових перспективних комп’ютерних систем і технологій та інші підприємства по супроводу та обслуговуванню сучасних інформаційних систем і технологічних комплексів. Випускники добре адаптовані до умов роботи за кордоном і навчання в докторантурі українських і зарубіжних вузів. Вони можуть успішно працювати в системних архітекторів, системних аналітиків, системних адміністраторів, системних програмістів, системних інженерів; менеджерів та інших провідних фахівців в інформаційних підрозділах органів державного і муніципального управління, банків, бізнесу, виробництва, соціальної сфери, культури, охорони здоров'я і т.д., в комп'ютерних, провайдерських, телекомунікаційних, IT-компаніях з розробки програмного забезпечення і програмно-апаратних систем.
Після отримання диплома бакалавра комп'ютерних наук кафедра СП пропонує випускникам підготовку за другим рівнем (магістр) і третім рівнем (доктор філософії –PhD). Перелік дисциплін навчального плану можна подивитись тут.
Типові запитання абітурієнтів
- 1. Комп’ютерні науки готують комплексного спеціаліста, а чи достатньою є підготовка, щоб працювати в окремому напрямі ?
Наші випускники працюють в різних напрямах інформаційних технологій:
- Розробка ПЗ і систем: програмісти, Web-дизайнери, розробники інформаційних систем, програмно - апаратних комплексів;
- Інформаційний менеджмент: адміністраторами БД, інформаційних систем, ERP-систем;
- Підтримка мережевої інфраструктури: адміністраторами локальних і глобальних комп’ютерних мереж;
- Автоматизація проектування мікро- і наносистем, системи обробки біо- медичних, фізичних та інших даних.
Багато випускників кафедри працюють в провідних компаніях в області ІТ: IBM, Oracle, Google, Miratech, Samsung, EPAM, Luxoft, GlobalLogic, Melexis, МТС, Київстар, Melexis та інших.
- 2. В ІПСА математики дуже жорстко ставляться до загальної математичної підготовки всіх студентів?
Хоча «комп’ютерні науки», так само як і «системний аналіз», спрямовані на дослідження складних систем, але головною метою системного аналізу є прийняття рішень на підставі математичних методів дослідження, а головною метою комп’ютерних наук є використання комп’ютерних засобів для розв’язання задач дослідження або проектування. Тому вимоги і обсяг загальної математичної підготовки майбутніх системних аналітиків і комп’ютерників принципово різні. Для системних аналітиків вимоги значно жорсткіші, комп’ютерникам з достатньою для вступу математичною базою лякатися не варто.
- 3. В ІПСА дві кафедри здійснюють підготовку з комп’ютерних наук. В чому загальна відмінність освітніх програм, які вони пропонують?
В ІПСА зі спеціальності «комп’ютерні науки»:
кафедра СП пропонує освітню програму: «Інтелектуальні сервiс-орiєнтовані розподiлені обчислювання»;
кафедра ММСА пропонує освітню програму: «Системи штучного інтелекту».
Спеціалізація кафедри ММСА відрізняється потужною математичною складовою, яка необхідна для побудови складних математичних моделей предметної області.
Спеціалізація кафедри СП в першу чергу спрямована на оволодіння сучасними інформаційними технологіями для проектування складних розподілених систем широкого призначення.
- 4. Як буде проходити вибір освітньої програми в рамках спеціальності «комп’ютерні науки» в ІПСА?
При вступі на 1-й курс майбутні студенти у відбірковій комісії вказують пріоритети бажаних освітніх програм для орієнтовного розподілу на групи. За новими правилами, всі групи однієї спеціальності перший рік будуть навчатися за спільною програмою. Математику читають викладачі ММСА, програмування – викладачі СП. Після закінчення 1-го курсу студенти знову заповнять заяви з пріоритетами освітніх програм. Після чого на конкурсній основі (за результатами навчання) відбудеться остаточний розподіл на групи за освітніми програмами.
- 5. Чи можна після першого курсу перейти зі спеціальності «комп’ютерні науки» на спеціальність «системний аналіз», чи навпаки?
Загалом, це складно через відмінність у навчальних програмах спеціальностей, що полягає у різниці в математичній підготовці при переході з комп’ютерних наук на системний аналіз і в підготовці з програмування при переході з системного аналізу на комп’ютерні науки. Окремі випадки переходу з однієї спеціальності на іншу можливі при гарній успішності студента і складанні ним академічної різниці. Але краще вдумливо обирати спеціальність при вступі.
- 6. Якщо я маю високі бали для вступу до ІПСА, чи має значення, який напрям вибирати?
Має. У людей, які хочуть зв’язати своє професійне майбутнє з математикою і з комп’ютерними технологіями, зазвичай різні психологічні прихильності. Досвід показує, що тим, хто орієнтувався на системний аналіз, а потрапив на комп’ютерні науки, або захоплювався комп’ютерними технологіями, а потом вирішив, що має достатньо балів для системного аналізу, потім навчатись важко. Тому краще одразу вибирати напрямок згідно своїх вподобань і попередньої підготовки.
- 7. Чи потрібна якась попередня підготовка з програмування для навчання на комп’ютерних науках?
Це бажано, причому не має значення мова програмування. Досвід показує, що студентам, у яких зовсім не було програмування у школі, потрібен певний час на здолання психологічного бар’єру. Але, якщо такої підготовки у вас немає, то відступати не слід. Все одно, навчання програмуванню за програмою починається з нуля. Головне – бажання навчитися, а в цьому вам завжди допоможуть як викладачі, так і студенти старших курсів, які спеціально для таких першокурсників проводять додаткові практичні заняття.
|