Гайд з університетів України для абітури-програмістів (бакалавр edition)
«In theory, there is no difference between theory and practice. In practice, there is».
Yogi Berra
Як читати цей гайд?
Зміст
121 Інженерія програмного забезпечення
125 Кібербезпека та захист інформації
126 Інформаційні системи та технології
Основи основ
Насамперед розглянемо кілька базових термінів для людей, які випадково побачили цей гайд і не розуміють, що до чого, або ж знають тільки про зарплати у валюті в ІТ, а чим саме займаються ці чувачки у своїх комп'ютерах — невідомо.
Хто такий програміст?
Програміст — людина, яка працює над розробкою і підтримкою програмного забезпечення (надалі ПЗ): проєктування архітектури ПЗ, написання коду, тестування застосунків, урахування та виправлення помилок, удосконалення функціональності. Іншими словами, володіє навичками перетворювати концепцію й ідею на алгоритми — послідовності команд, зрозумілих обчислювальним машинам.
Комп'ютерна програма — результат діяльності програміста, на бір інструкцій, написаних у вигляді коду, що виконуються комп'ютером для реалізації певних завдань.
Приклади програм:
-
Комп'ютерна гра.
-
Середовище для розробки інших програм (Visual Studio, PyCharm, Code::Blocks тощо).
-
Банківський мобільний додаток.
-
Сайт, де ти зараз читаєш цю статтю.
-
Автопілот автомобілів Tesla.
-
Чат-бот зі штучним інтелектом.
-
Бот у телеграмі.
Анекдот про нюанс: окремо взятий розробник здебільшого має вузьку спеціалізацію. Тобто людина, яка займається програмуванням мікроконтролерів, не знає, як проєктувати нейронну мережу для штучного інтелекту. Аналогічно розробник мобільних додатків для IOS може не орієнтуватися в написанні застосунків для Android — суть зрозуміла.