Сертифікація IT SKILLS STANDARD

СЕРТИФІКАЦІЯ IT SKILLS STANDARD

I. Передумови проведення сертифікації

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

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

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

  • Таким чином, сертифікація IT SKILLS STANDARD створює важливу платформу для оцінки та розвитку алгоритмічної грамотності, сприяючи формуванню нової генерації висококваліфікованих фахівців, готових до викликів майбутнього.

II. Загальні положення

  • IT SKILLS STANDARD — це сертифікація з алгоритмічної компетенції, що підтверджує рівень володіння алгоритмами, структурами даних та програмуванням.

  • Сертифікацію IT SKILLS STANDARD проводить ГС “Харківський кластер інформаційних технологій” та Молодіжне наукове товариство “Q-Bit”.

  • Сертифікація IT SKILLS STANDARD проводиться у вигляді іспиту, під час якого треба розв’язати та написати програмний код до декількох алгоритмічних завдань.

  • Доступ до завдань надається через вебінтерфейс автоматизованої системи тестування DOTS (Distributed Online Test System), яка підтримує такі мови програмування:

    • C
    • C++
    • C#
    • Python
    • Pascal
    • Java
    • Kotlin
    • Scala
    • Go
    • Rust

III. Рівні сертифікації

Сертифікація IT SKILLS STANDARD має декілька рівнів, які представлені нижче. Для кожного рівня визначено орієнтовний перелік тем.
  • L0 [Beginner / Elementary] — початковий рівень:
    • зчитування та виведення числових даних;
    • базові математичні операції та формули;
    • прості розгалуження та цикли.
  • L1 [Pre-Intermediate] — базовий рівень:
    • базові алгоритмічні конструкції (лінійна, розгалуження, цикли);
    • робота з вкладеними умовами та циклами;
    • основи аналізу складності алгоритмів;
    • елементарна математика: прогресії, пропорції, відсотки, площі геометричних фігур, тощо.
  • L2 [Intermediate] — середній рівень:
    • опрацювання числових даних;
    • опрацювання одновимірних числових масивів;
    • опрацювання символів та рядків;
    • опрацювання двовимірних масивів;
    • cтворення та використання функцій.
  • L3 [Advanced / Proficient] — просунутий рівень. Цей рівень має декілька розділів.
    L3 / MATH (математика):
    • асимптотичний аналіз алгоритмів;
    • алгебра та теорія чисел: прості числа та факторизація, решето Ератосфена, розширений алгоритм Евкліда, діофантові рівняння, бінарне піднесення до степеня, модулярна арифметика;
    • комбінаторика: підрахунок комбінацій, біноміальні коефіцієнти, принцип включення-виключення, розміщення, перестановки, тощо;
    • геометрія: точки та вектори, скалярний та векторний добуток, орієнтована площа трикутника, перевірка належності точки багатокутнику, знаходження опуклої оболонки (алгоритм Грехема, алгоритм Джарвіса), тощо.
    L3 / DS (структури даних):
    • cтруктури даних: стек, черга, двостороння черга, хеш-таблиці (map, unordered_map, set, unordered_set), дерево відрізків, дерево Фенвіка, декартове дерево;
    • алгоритми сортування: швидке сортування (QuickSort), сортування злиттям (MergeSort), пірамідальне сортування (HeapSort), сортування підрахунком (Counting Sort);
    • Алгоритми пошуку: бінарний пошук, тернарний пошук.
    L3 / GRAPH (теорія графів):
    • зберігання графів: матриця суміжності, список суміжності
    • обхід графів в глибину (DFS) та його застосування: компоненти зв’язності, компоненти сильної зв’язності, конденсація графу, топологічне сортування, мости та шарніри в графі, тощо;
    • обхід графів в ширину (BFS) та його застосування, хвильовий алгоритм;
    • шляхи в графі: алгоритм Дейкстри, алгоритм Форда-Беллмана, алгоритм Флойда-Воршелла;
    • мінімальне кістякове дерево: алгоритми Прима та Крускала, система неперетинних множин.
    L3 / DP (динамічне програмування):
    • основи DP: лінійні задачі, рюкзак, розбиття чисел, тощо;
    • лінива динаміка;
    • динаміка на підпослідовностях: найбільша спільна підпослідовність (LCS), найбільша зростаюча підпослідовність (LIS);
    • динаміка по профілю.
    L3 / STRINGS (обробка рядків):
    • наївний алгоритм пошуку підрядка у рядку;
    • пошук підрядків: Z-функція, префікс-функція, алгоритм Кнута-Морріса-Пратта;
    • хешування: поліноміальне хешування, колізії, пошук підрядка в рядку з використанням хешування, Алгоритм Рабіна-Карпа, пошук найбільшого спільного підрядка двох рядків з використанням хешування

IV. Проведення сертифікації

  • Під час складання сертифікаційного іспиту учасникам пропонується розв’язати декілька алгоритмічних задач за встановлений час. Кожна задача оцінюється в 100 балів, враховуються часткові (неповні) рішення, “score” - сумарний бал за всі задачі.
    Рівень Час Кількість задач
    L0 45 хвилин 5 задач
    L1 60 хвилин 5 задач
    L2 90 хвилин 5 задач
    L3 120 хвилин 4 задачі
  • Кожна задача оцінюється в 100 балів, враховуються часткові (неповні) рішення, “score” - сумарний бал за всі задачі. За результатами сертифікаційного іспиту учасник може отримати сертифікат:
    Результат Назва сертифікату
    score ≥ 60% “Very Good”
    score ≥ 74% “Excellent”
    score ≥ 90% “Outstanding”
  • V. Технічні вимоги

    Під час складання сертифікаційного іспиту учасникам треба відправляти в систему тестування розв'язки запропонованих алгоритмічних завдань.

    • Розв’язком кожного завдання є текстовий файл з кодом програми, яку складено однією з дозволених мов програмування. Розв’язок відправляється на перевірку через інтерфейс системи тестування. Результат перевірки надається системою тестування протягом декількох хвилин після надсилання. Дозволяється надсилати рішення однієї й тієї ж задачі кілька разів, можна чергувати посилки рішень різних завдань.
    • Програма-рішення має прочитати вхідні дані зі стандартного потоку введення (stdin) або текстового файлу input.txt. Програма-рішення має вивести на стандартний потік виведення (stdout) або в текстовий файл output.txt результат виконання алгоритму, який відповідає умові задачі.
    • Перевірка програми-рішення здійснюється шляхом автоматичного запуску її на кількох секретних наборах вхідних даних – тестах. Кожен тест – це текстовий файл, який містить вхідні дані для завдання. Тест зараховується як правильний, якщо на цьому тесті програма-рішення закінчила свою роботу та не перевищила обмеження по часу та пам’яті, а формат і вміст вихідних даних є правильними для цього тесту.
    • По кожній задачі за кожний правильний тест нараховуються бали. Відповідно, бал за задачу – це сума балів за всі правильні тести, а бал за сертифікаційний іспит (score) – це сума балів за всі задачі.
    • По кожному тесту система тестування видає один з вердиктів, які представлені в таблиці нижче.

      Вердикт Опис вердикту
      OK

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

      CE

      Compilation Error. Помилка компіляції. Компілятор не створив файл, що виконується. Вам надається повне виведення компілятора. Можливі причини: синтаксична помилка в програмі, при відправці була вказана неправильна мова програмування.

      PE

      Presentation Error. Неправильний формат виводу. На вказаному тесті програма виводить дані, які не відповідають умові завдання. Можливі причини: програма виводить у вихідні дані сторонній текст; програма виводить недостатню кількість вихідних даних; використовується файлове введення/виведення і вихідний файл вказаний у програмі неправильно; вихідні дані взагалі створюються.

      WA

      Wrong Answer. На цьому тесті ваше рішення видає неправильну відповідь. Можливі причини: реалізований неправильний алгоритм, відбулося переповнення в цілісній змінній, дійсні значення виводяться з недостатньою точністю.

      TL

      Time Limit Exceeded. На цьому тесті перевищено час виконання програми, тобто ваша програма працює довше, ніж допустимо для цього завдання. Можливі причини: алгоритм через помилку входить до безкінечного циклу; написаний алгоритм розв'язання задачі має неправильну асимптотику, тобто є неоптимальним та його треба спробувати покращити.

      ML

      Memory Limit Exceeded. На зазначеному тесті перевищено обмеження на використання пам'яті, тобто ваша програма вимагає більше оперативної пам'яті, ніж допустимо для цього завдання. Можливі причини: алгоритм використовує великі структури даних; в алгоритмі відбувається дуже багато рекурсивних викликів.

      RE

      Runtime Error. На вказаному тесті програма неправильно завершила роботу, іншими словами, сталася помилка під час виконання програми. Можливі причини: ділення на нуль, обчислення кореня квадратного з від'ємного числа, звернення до неіснуючих елементів масиву чи рядка, тощо.

      FF

      Forbiden Function. Заборонена функція. На вказаному тесті програма викликала одну з функцій, яка може порушити роботу системи тестування.

    VI. Правила академічної доброчесності

    Під час складання сертифікаційного іспиту учасникам слід дотримуватися правил академічної доброчесності. За будь-яке порушення правил академічної доброчесності результат учасника буде анульований.

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

    VII. Правила прокторингу

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

    • Потрібно, щоб вівся запис екрана та вебкамери, це можна зробити, наприклад, так - https://youtu.be/Lp6bnk3JhLE.
    • Має вестися запис всього екрану, а не вікна чи певної частини екрана.
    • Вебкамера має бачити учасника. Якщо немає вебкамери, можна використовувати камеру смартфона.
    • Запис має бути зі звуком.
    • Якість відео має бути такою, щоб можна було прочитати код учасника, мінімальна частота - 5 кадрів в секунду.
    • Після завершення сертифікаційного іспиту учасник має надати організаторам доступ до відео з прокторингом (youtube або google drive).