{
  "responsive-web-design": {
    "title": "Адаптивний вебдизайн (застаріла версія)",
    "intro": [
      "У сертифікації «Адаптивний вебдизайн» ви вивчите мови, які розробники використовують для створення вебсторінок: HTML (мова розмітки гіпертексту) для вмісту та CSS (каскадні таблиці стилів) для дизайну.",
      "Спочатку ви створите застосунок із фотографіями котів, аби вивчити основи HTML та CSS. Пізніше ви опануєте сучасні методи (серед яких змінні CSS) завдяки створенню пінгвіна, а також опануєте найкращі практики доступності, побудувавши вебформу.",
      "Ви також дізнаєтеся, як конструювати вебсайти, які відповідають різним розмірам екранів, створивши Twitter Card за допомогою Flexbox, а ще складний макет блогу з CSS Grid."
    ],
    "note": "Примітка: деякі розширення браузера (як блокувальники реклами та темні режими) можуть втручатися в тести. Якщо ви зіткнулися з подібними проблемами, ми рекомендуємо вимкнути розширення, які змінюють вміст або макет сторінок під час виконання курсу.",
    "blocks": {
      "basic-html-and-html5": {
        "title": "Основи HTML та HTML5",
        "intro": [
          "HTML — це мова розмітки, яка використовує спеціальний синтаксис або примітки для опису структури вебсторінки чи браузера. Елементи HTML зазвичай мають початковий та кінцевий теги, які оточують вміст та надають йому значення. Наприклад, різні елементи можуть описати текст як заголовок, абзац або елемент списку.",
          "У цьому курсі ви створите застосунок із фотографіями котів, щоб опанувати застосування деяких з найпоширеніших елементів HTML (головних блоків будь-якої вебсторінки)."
        ]
      },
      "basic-css": {
        "title": "Основи CSS",
        "intro": [
          "CSS, або каскадні таблиці стилів, повідомляють браузеру як показати текст та інший вміст, який ви написали в HTML. За допомогою CSS ви можете регулювати колір, шрифт, розмір, відстань і багато інших аспектів елементів HTML.",
          "І зараз, коли ви описали структуру свого застосунку, стилізуйте його за допомогою CSS."
        ]
      },
      "applied-visual-design": {
        "title": "Прикладний візуальний дизайн",
        "intro": [
          "Візуальний дизайн — це поєднання типографії, кольорознавства, графіки, анімації, макетів сторінок і багато чого іншого, аби допомогти вам передати своє унікальне повідомлення.",
          "У цьому курсі ви навчитеся застосовувати усі ці елементи візуального дизайну для своїх вебсайтів."
        ]
      },
      "applied-accessibility": {
        "title": "Прикладна доступність",
        "intro": [
          "У процесі веброзробки спеціальні можливості посилаються на вміст сайту та інтерфейс користувача, який широка аудиторія зможе розпізнати, з яким зможе взаємодіяти та за допомогою якого зможе зорієнтуватися на сайті. У цю аудиторію також входять люди із зоровими, слуховими, руховими та когнітивними розладами.",
          "У цьому курсі ви дізнаєтеся найкращі практики для створення вебсайтів, які доступні кожному."
        ]
      },
      "responsive-web-design-principles": {
        "title": "Принципи адаптивного вебдизайну",
        "intro": [
          "Підключитися до мережі можна з багатьох пристроїв різних форм і розмірів. Адаптивний вебдизайн — це проєктування гнучких вебсайтів, які пристосовуються до різних розмірів, орієнтацій та розширення екранів.",
          "У цьому курсі ви дізнаєтеся як використовувати CSS, аби ваші вебсайти мали гарний вигляд, незалежно від того, на якому пристрої вони відтворені."
        ]
      },
      "css-flexbox": {
        "title": "CSS Flexbox",
        "intro": [
          "Flexbox — це потужний режим розмітки, який підтримується практично на всіх пристроях і який було введено з останньою версією CSS, CSS3. За допомогою flexbox набагато легше відцентровувати елементи сторінки та створювати функціональні інтерфейси користувачів, які автоматично зменшуються та розширяються.",
          "У цьому курсі ви дізнаєтеся про складові flexbox та функціональної розмітки, коли створюватимете Twitter card."
        ]
      },
      "css-grid": {
        "title": "CSS Grid",
        "intro": [
          "CSS grid — це новіший режим розмітки, за допомогою якого можна легко створювати складну адаптивну композицію. Він перетворює елемент HTML у сітку і допомагає розмістити дочірні елементи будь-де на екрані.",
          "У цьому курсі ви вивчите основи CSS Grid, створюючи різні складні композиції, в тому числі макет блогу."
        ]
      }
    }
  },
  "2022/responsive-web-design": {
    "title": "Адаптивний вебдизайн V8 (стара версія)",
    "intro": [
      "В сертифікації «Адаптивний вебдизайн» ви вивчите мови, які розробники використовують для створення вебсторінок: HTML (мова розмітки гіпертексту) для вмісту та CSS (каскадні таблиці стилів) для дизайну.",
      "Спочатку ви створите застосунок із фотографіями котів, аби вивчити основи HTML та CSS. Пізніше ви опануєте сучасні методи, такі як змінні CSS, завдяки створенню пінгвіна, а також створите вікторину, щоб опанувати доступність.",
      "Наостанок ви дізнаєтеся, як створити вебсторінки, які реагують на зміну розміру екрану, створивши фотогалерею за допомогою Flexbox і макет журналу з CSS Grid."
    ],
    "note": "Примітка: деякі розширення браузера (як блокувальники реклами та темні режими) можуть втручатися в тести. Якщо ви зіткнулися з подібними проблемами, ми рекомендуємо вимкнути розширення, які змінюють вміст або макет сторінок під час виконання курсу.",
    "blocks": {
      "build-a-tribute-page-project": {
        "title": "Пам’ятна сторінка",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите пам’ятну сторінку на тему за власним вибором."
        ]
      },
      "build-a-personal-portfolio-webpage-project": {
        "title": "Вебсторінка персонального портфоліо",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите вебсторінку персонального портфоліо."
        ]
      },
      "build-a-product-landing-page-project": {
        "title": "Посадкова сторінка продукту",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите посадкову сторінку продукту, щоб збути продукт за власним вибором."
        ]
      },
      "build-a-survey-form-project": {
        "title": "Форма для опитування",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите форму для опитування, щоб зібрати дані своїх користувачів."
        ]
      },
      "build-a-technical-documentation-page-project": {
        "title": "Сторінка технічної документації",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите сторінку технічної документації, яка служитиме інструкцією або довідником."
        ]
      },
      "learn-html-by-building-a-cat-photo-app": {
        "title": "Вивчіть HTML, створивши застосунок з котами",
        "intro": [
          "Теги HTML надають вебсторінці структуру. Ви можете використовувати теги HTML, щоб додати фотографії, кнопки та інші елементи до своєї вебсторінки.",
          "У цьому курсі ви вивчите найпоширеніші теги HTML, створивши власний застосунок з фотографіями котів."
        ]
      },
      "learn-basic-css-by-building-a-cafe-menu": {
        "title": "Вивчіть основи CSS, створивши меню для кафе",
        "intro": [
          "CSS повідомляє браузеру, як зображати вашу вебсторінку. Ви можете використовувати CSS, щоб встановити колір, шрифт, розмір та інші властивості елементів HTML.",
          "У цьому курсі ви вивчите CSS, розробивши дизайн меню для вебсторінки кафе."
        ]
      },
      "learn-the-css-box-model-by-building-a-rothko-painting": {
        "title": "Вивчіть блокову модель CSS, створивши картину Ротко",
        "intro": [
          "Кожен елемент HTML є своїм власним блоком із власним простором та краєм. Це називається блоковою моделлю.",
          "У цьому курсі ви використовуватимете CSS та блокову модель, щоб створити власну картину в стилі Ротко."
        ]
      },
      "learn-css-variables-by-building-a-city-skyline": {
        "title": "Вивчіть змінні CSS, створивши панораму міста",
        "intro": [
          "Змінні CSS допомагають організувати стилі та повторно використовувати їх.",
          "У цьому курсі ви побудуєте панораму міста. Ви дізнаєтеся, як налаштувати змінні CSS для того, щоб повторно використовувати їх, коли забажаєте."
        ]
      },
      "learn-html-forms-by-building-a-registration-form": {
        "title": "Вивчіть форми HTML, створивши реєстраційну форму",
        "intro": [
          "Ви можете використовувати форми HTML для збору інформації від людей, які відвідують вашу вебсторінку.",
          "У цьому курсі ви вивчите форми HTML, створивши реєстраційну форму. Ви дізнаєтеся, як керувати типами даних, які люди можуть вводити у вашу форму, і деякі нові інструменти CSS для стилізації своєї сторінки."
        ]
      },
      "learn-accessibility-by-building-a-quiz": {
        "title": "Вивчіть доступність, створивши вікторину",
        "intro": [
          "Доступність полегшує користування вашою вебсторінкою для всіх людей, навіть для людей з порушеннями.",
          "У цьому курсі ви створите вебсторінку вікторини. Ви дізнаєтеся про інструменти доступності, серед яких комбінації клавіш, атрибути ARIA та найкращі поради щодо дизайну."
        ]
      },
      "learn-intermediate-css-by-building-a-picasso-painting": {
        "title": "Вивчіть перехідний CSS, створивши картину Пікассо",
        "intro": [
          "У цьому курсі ви дізнаєтеся, як використовувати деякі техніки перехідного CSS, кодуючи власну вебсторінку з картиною Пікассо. Ви дізнаєтеся про іконки SVG, позиціювання CSS та пригадаєте інші навички CSS, яких ви навчилися."
        ]
      },
      "learn-responsive-web-design-by-building-a-piano": {
        "title": "Вивчіть адаптивний вебдизайн, створивши піаніно",
        "intro": [
          "Адаптивний дизайн каже вашій вебсторінці, як вона має виглядати на екранах різного розміру.",
          "У цьому курсі ви будете використовувати CSS та адаптивний дизайн, щоб створити піаніно. До того ж ви більше дізнаєтесь про медіазапити та псевдоселектори."
        ]
      },
      "learn-css-flexbox-by-building-a-photo-gallery": {
        "title": "Вивчіть CSS Flexbox, створивши фотогалерею",
        "intro": [
          "Flexbox допомагає створити вебсторінку, яка матиме хороший вигляд на екрані будь-якого розміру.",
          "У цьому курсі ви використовуватимете Flexbox для створення адаптивної вебсторінки фотогалереї."
        ]
      },
      "learn-css-grid-by-building-a-magazine": {
        "title": "Вивчіть CSS Grid, створивши журнал",
        "intro": [
          "CSS Grid дає вам можливість керувати рядками та стовпчиками своєї вебсторінки.",
          "У цьому курсі ви створите журнальну статтю. Ви дізнаєтеся, як використовувати CSS Grid, включно з рядками та стовпчиками сітки."
        ]
      },
      "learn-typography-by-building-a-nutrition-label": {
        "title": "Вивчіть типографію, створивши етикетку",
        "intro": [
          "Типографія — це мистецтво стилізації тексту, щоб його було легко читати та він відповідав своєму призначенню.",
          "У цьому курсі ви використовуватимете типографію, щоб створити вебсторінку з харчовою етикеткою. Ви дізнаєтеся, як стилізувати текст, регулювати висоту рядка та позиціювати текст за допомогою CSS."
        ]
      },
      "learn-css-transforms-by-building-a-penguin": {
        "title": "Вивчіть трансформації CSS, створивши пінгвіна",
        "intro": [
          "Ви можете трансформувати елементи HTML, щоб створити привабливий дизайн, який привертає увагу читача. Ви можете використовувати трансформації, щоб обертати елементи, масштабувати їх тощо.",
          "У цьому курсі ви побудуєте пінгвіна. Ви будете використовувати трансформації CSS, щоб позиціювати та змінювати розмір частин свого пінгвіна, створювати фон та анімувати роботу."
        ]
      },
      "learn-css-animation-by-building-a-ferris-wheel": {
        "title": "Вивчіть анімацію CSS, створивши оглядове колесо",
        "intro": [
          "Ви можете використовувати анімацію CSS, щоб привернути увагу до певних розділів вебсторінки та зробити її більш привабливою.",
          "У цьому курсі ви побудуєте оглядове колесо. Ви дізнаєтеся, як використовувати CSS для анімації елементів, трансформації та регулювання швидкості."
        ]
      },
      "learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet": {
        "title": "Вивчіть більше про псевдоселектори CSS, створивши бухгалтерський баланс",
        "intro": [
          "Ви можете використовувати псевдоселектори CSS, щоб змінити певні елементи HTML.",
          "У цьому курсі ви побудуєте бухгалтерський баланс за допомогою псевдоселекторів. Ви дізнаєтеся як змінити стиль елемента, коли ви наводите на нього курсор, та запускати інші події на своїй вебсторінці."
        ]
      },
      "learn-css-colors-by-building-a-set-of-colored-markers": {
        "title": "Вивчіть кольори CSS, створивши набір кольорових маркерів",
        "intro": [
          "Вибір правильних кольорів для вебсторінки може значно покращити естетичне вподобання читачів.",
          "У цьому курсі ви створите набір кольорових маркерів. Ви дізнаєтесь про різні способи встановлення значень кольорів та як поєднувати кольори між собою."
        ]
      },
      "learn-intermediate-css-by-building-a-cat-painting": {
        "title": "Вивчіть перехідний CSS, створивши малюнок кота",
        "intro": [
          "Позиціювання CSS важливо опанувати для того, щоб створювати візуально привабливі та адаптивні вебмакети",
          "У цьому курсі ви створите малюнок кота. Ви дізнаєтесь, як працювати з абсолютним позиціюванням, властивістю z-index та властивістю transform."
        ]
      }
    }
  },
  "javascript-algorithms-and-data-structures": {
    "title": "Алгоритми та структури даних JavaScript V7 (стара версія)",
    "intro": [
      "Якщо HTML та CSS відповідають за вміст і стилізацію сторінки, то JavaScript робить її інтерактивною. У сертифікації «Алгоритми JavaScript та структури даних» ви вивчите основи JavaScript, включно зі змінними, масивами, об’єктами, циклами та функціями.",
      "Як тільки ви вивчите основи, ви почнете застосовувати ці знання, створюючи алгоритми, щоб уміло маніпулювати рядками, факторизувати числа, і навіть зможете обчислити орбіту міжнародної космічної станції.",
      "Крім того, ви також вивчите два важливих стилі або парадигми в програмуванні: об’єктноорієнтоване програмування (ООП) та функційне програмування (ФП)."
    ],
    "note": "Примітка: деякі розширення браузера (як блокувальники реклами та скриптів) можуть втручатися в тести. Якщо ви зіткнулися з подібними проблемами, ми рекомендуємо вимкнути розширення, які змінюють або блокують вміст сторінок під час виконання курсу.",
    "blocks": {
      "basic-javascript": {
        "title": "Основи JavaScript",
        "intro": [
          "JavaScript — це скриптова мова, яка використовується для того, аби зробити вебсайти інтерактивними. Це одна з основних технологій в мережі (разом з HTML та CSS), яка підтримується всіма сучасними браузерами.",
          "У цьому курсі ви вивчите головні поняття програмування в JavaScript. Ви почнете з простих структур даних, таких як числа та рядки. Далі ви почнете роботу з масивами, об’єктами, функціями, циклами, умовними конструкціями тощо."
        ]
      },
      "es6": {
        "title": "ES6",
        "intro": [
          "ECMAScript, або ES — це стандартизована версія JavaScript. Оскільки більшість браузерів дотримуються цих стандартів, ECMAScript та JavaScript є взаємозамінними.",
          "Більша частина JavaScript (про яку ви вже дізналися) була в ES5 (ECMAScript 5), який утвердили у 2009 році. Поки ви все ще маєте можливість писати програми в ES5, JavaScript постійно розвивається і там щорічно вводяться нові функції.",
          "ES6, який випустили у 2015 році, додав багато нових потужних функцій до цієї мови. У курсі ви вивчите нові особливості, серед яких стрілкові функції, деструкція, класи, проміси та модулі."
        ]
      },
      "regular-expressions": {
        "title": "Регулярні вирази",
        "intro": [
          "Регулярні вирази (відомі як «regex» або «regexp») — шаблони, які допомагають програмістам поєднувати, шукати та замінювати текст. Регулярні вирази дуже важливі, але їх важко читати, оскільки у них використовуються спеціальні символи для створення складніших, гнучкіших поєднань.",
          "У цьому курсі ви дізнаєтеся як використовувати спеціальні символи, групи захоплення, позитивні та негативні перевірки та інші техніки, аби текст відповідав бажаному."
        ]
      },
      "debugging": {
        "title": "Налагодження програм",
        "intro": [
          "Налагодження програм — це процес перевірки коду на наявність помилок та їх виправлення.",
          "Помилки в коді, як правило, розподіляють на три категорії: синтаксичні, які заважають вашій програмі працювати; помилки середовища виконання, коли ваш код поводиться непередбачувано; або логічні, коли ваш код не виконує свою функцію.",
          "У цьому курсі ви дізнаєтеся як використовувати консоль JavaScript, аби налагодити програми та уникнути розповсюджених помилок."
        ]
      },
      "basic-data-structures": {
        "title": "Основи структур даних",
        "intro": [
          "Багатьома способами можна зберегти дані та отримати до них доступ. Ви вже знаєте деякі загальні структури даних JavaScript — масиви та об’єкти.",
          "У курсі «Основи структур даних» ви дізнаєтеся більше про різницю між масивами та об’єктами, та в яких ситуаціях вони використовуються. Ви також дізнаєтеся як використовувати корисні методи JS, такі як <code>splice()</code> та <code>Object.keys()</code>, аби отримати доступ до даних та маніпулювати ними."
        ]
      },
      "basic-algorithm-scripting": {
        "title": "Основи написання алгоритмів",
        "intro": [
          "Алгоритм — це ряд покрокових інструкцій, які описують як щось робити.",
          "Написання успішного алгоритму допомагає розбити задачу на менші частини та гарно подумати над тим, як вирішити кожну частину за допомогою коду.",
          "У цьому курсі ви вивчите основи алгоритмічного мислення, пишучи алгоритми, які роблять усе: від перетворення температур до користування складними 2D масивами."
        ]
      },
      "object-oriented-programming": {
        "title": "Об’єктноорієнтоване програмування",
        "intro": [
          "ООП, або об’єктноорієнтоване програмування — це один з основних підходів до процесу розробки програмного забезпечення. Об’єкти та класи в ООП впорядковують код для опису будь-чого і того, що воно виконує.",
          "У цьому курсі ви вивчите основні принципи ООП в JavaScript, включно з ключовим словом <code>this</code>, прототипами ланцюгів, конструкторами та наслідуванням."
        ]
      },
      "functional-programming": {
        "title": "Функційне програмування",
        "intro": [
          "Функційне програмування — це ще один популярний підхід до розробки програмного забезпечення. У функційному програмуванні код впорядкований у менші, прості функції, які можна об’єднувати для створення складних програм.",
          "У цьому курсі ви вивчите основні поняття функційного програмування, включно з чистими функціями, як уникнути мутацій і як писати чистіший код за допомогою методів, таких як <code>.map()</code> і <code>.filter()</code>."
        ]
      },
      "intermediate-algorithm-scripting": {
        "title": "Написання алгоритмів середньої складності",
        "intro": [
          "Тепер, коли ви знаєте основи алгоритмічного мислення, разом з ООП та функційним програмуванням, перевірте свої вміння у написанні алгоритмів середньої складності."
        ]
      },
      "javascript-algorithms-and-data-structures-projects": {
        "title": "Проєкти «Алгоритми JavaScript та структури даних»",
        "intro": [
          "Тепер настав час випробувати свої навички роботи з JavaScript на практиці. Ці проєкти подібні до тестів з написання алгоритмів, які ви вже робили, але складніші.",
          "Виконайте п’ять проєктів JavaScript, аби отримати сертифікацію «Алгоритми JavaScript та структури даних»."
        ]
      }
    }
  },
  "javascript-algorithms-and-data-structures-v8": {
    "title": "Алгоритми та структури даних JavaScript V8 (стара версія)",
    "intro": [
      "Розробники використовують HTML та CSS, щоб контролювати вміст та стилізувати сторінку, а JavaScript — щоб зробити цю сторінку інтерактивною.",
      "У сертифікації «Алгоритми JavaScript та структури даних» ви вивчите основи JavaScript, включно зі змінними, масивами, об’єктами, циклами, функціями, об’єктною моделлю документа та багато іншого.",
      "Ви також вивчите об’єктноорієнтоване програмування, функціональне програмування, алгоритмічне мислення, способи роботи з локальним сховищем і отримання даних з API."
    ],
    "note": "Примітка: деякі розширення браузера (наприклад, блокувальники реклами та скриптів) можуть втручатися в тести. Якщо ви зіткнулися з подібною проблемою, ми рекомендуємо вимкнути розширення, які змінюють або блокують вміст сторінок під час виконання курсу.",
    "blocks": {
      "build-an-rpg-creature-search-app-project": {
        "title": "Проєкт «Створіть RPG-застосунок для пошуку істот»",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите RPG-застосунок з пошуком істот."
        ]
      },
      "build-a-cash-register-project": {
        "title": "Проєкт «Створіть касовий апарат»",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите вебзастосунок касового апарату."
        ]
      },
      "build-a-palindrome-checker-project": {
        "title": "Проєкт «Створіть перевірку паліндрома»",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите застосунок, який перевіряє, чи дане слово є паліндромом."
        ]
      },
      "build-a-roman-numeral-converter-project": {
        "title": "Проєкт «Створіть конвертер римських чисел»",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите застосунок, який конвертує цілі числа в римські."
        ]
      },
      "build-a-telephone-number-validator-project": {
        "title": "Проєкт «Створіть валідатор мобільного номера»",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите застосунок, який перевіряє, чи мобільний номер є дійсним номером США."
        ]
      },
      "learn-basic-javascript-by-building-a-role-playing-game": {
        "title": "Вивчіть основи JavaScript, створивши рольову гру",
        "intro": [
          "JavaScript — це потужна скриптова мова, яку використовують, щоб зробити вебсайти інтерактивними. Це одна з основних технологій в мережі (разом з HTML та CSS), яка підтримується всіма сучасними браузерами.",
          "У цьому практичному проєкті ви вивчите основні поняття програмування на JavaScript, створивши власну рольову гру. Ви навчитеся працювати з масивами, рядками, об’єктами, функціями, циклами, інструкціями <code>if/else</code> тощо."
        ]
      },
      "learn-form-validation-by-building-a-calorie-counter": {
        "title": "Вивчіть валідацію форм, створивши лічильник калорій",
        "intro": [
          "Іноді при створенні вебзастосунків потрібно працювати з введенням користувача. У цьому проєкті з підрахунку калорій ви навчитеся обробляти введення користувача, виконувати обчислення на основі цього введення та динамічно оновлювати інтерфейс для відтворення результатів.",
          "У цьому практичному проєкті ви вивчите основні регулярні вирази, шаблонні літерали, метод <code>addEventListener()</code> та багато іншого."
        ]
      },
      "learn-functional-programming-by-building-a-spreadsheet": {
        "title": "Вивчіть функційне програмування, створивши електронну таблицю",
        "intro": [
          "Функційне програмування — це популярний підхід до розробки програмного забезпечення. У функційному програмуванні код впорядкований у менші функції, які можна об’єднати для створення складних програм.",
          "У цьому проєкті зі створення застосунку з таблицями ви дізнаєтесь про парсинг та обчислення математичних виразів, реалізацію функцій таблиць, обробку посилань на комірки та створення інтерактивних вебінтерфейсів. Ви дізнаєтесь, як динамічно оновити сторінку на основі введення користувача.",
          "У цьому проєкті охоплено різні поняття, серед яких методи <code>map()</code>, <code>find()</code> й <code>includes()</code> та функція <code>parseInt()</code>."
        ]
      },
      "learn-modern-javascript-methods-by-building-football-team-cards": {
        "title": "Вивчіть сучасні методи JavaScript, створивши карточки футбольних команд",
        "intro": [
          "Один із загальних аспектів створення вебзастосунків — обробка наборів даних та виведення інформації на екран. У проєкті з картками спортивних команд ви дізнаєтесь, як працювати з маніпулюванням DOM, деструктуризацією об’єктів, обробкою подій та фільтрацією даних.",
          "Цей проєкт охоплює різні поняття, серед яких параметри за замовчуванням та <code>Object.freeze()</code>, а також допоможе закріпити ваші знання з інструкції <code>switch</code> і методу <code>map()</code>."
        ]
      },
      "learn-advanced-array-methods-by-building-a-statistics-calculator": {
        "title": "Вивчіть передові методи масиву, створивши статистичний калькулятор",
        "intro": [
          "Ви розвиваєте навички володіння JavaScript, а отже потрібно розібратись з методами маніпулювання масивами, серед яких <code>map()</code>, <code>reduce()</code> та <code>filter()</code>.",
          "У цьому проєкті зі створення статистичного калькулятора ви здобудете досвід роботи з введення користувача, маніпулювання DOM та ланцюжкових методів, виконуючи статистичні обчислення середнього значення, медіани, моди, дисперсії та стандартного відхилення."
        ]
      },
      "learn-basic-oop-by-building-a-shopping-cart": {
        "title": "Вивчіть основи ООП, створивши список покупок",
        "intro": [
          "ООП, або об’єктноорієнтоване програмування — це один з основних підходів до процесу розробки програмного забезпечення. Розробники використовують об’єкти та класи, щоб впорядкувати код в ООП.",
          "У цьому проєкті зі списком покупок ви дізнаєтесь, як визначити класи та використати їх. Ви створите екземпляри класу та впровадите методи для маніпуляцій даними.",
          "Цей проєкт охопить такі поняття, як тернарний оператор, оператор розширення, ключове слово <code>this</code> та інше."
        ]
      },
      "learn-fetch-and-promises-by-building-an-fcc-authors-page": {
        "title": "Вивчіть фетч та проміси, створивши сторінку автора fCC",
        "intro": [
          "Один із загальних аспектів веброзробки, якого потрібно навчитись — отримувати дані від зовнішнього API, а потім працювати з асинхронним JavaScript.",
          "Цей проєкт зі сторінкою авторів freeCodeCamp покаже, як використовувати метод fetch, а потім оновити DOM, щоб відтворити отримані дані.",
          "Цей проєкт також навчить, як робити навігацію даних, щоб ви могли завантажувати результати партіями."
        ]
      },
      "learn-regular-expressions-by-building-a-spam-filter": {
        "title": "Вивчіть регулярні вирази, створивши спам-фільтр",
        "intro": [
          "Регулярні вирази (відомі як «regex» або «regexp») — шаблони, які допомагають програмістам поєднувати, шукати та замінювати текст. Регулярні вирази надзвичайно потужні, але їх важко зрозуміти, оскільки у них використовуються спеціальні символи.",
          "У цьому проєкті з фільтрування спаму ви дізнаєтеся про групи захоплення, позитивні та негативні перевірки, а також інші техніки, щоб текст відповідав бажаному."
        ]
      },
      "learn-basic-algorithmic-thinking-by-building-a-number-sorter": {
        "title": "Вивчіть базове алгоритмічне мислення, створивши сортувальник чисел",
        "intro": [
          "У галузі комп’ютерних наук існують основні алгоритми сортування, які всі розробники повинні вивчити. У цьому проєкті з сортування чисел ви навчитеся реалізовувати та візуалізувати різні алгоритми сортування, серед яких сортування бульбашкою, сортування вибором та сортування вставками з використанням JavaScript.",
          "Цей проєкт допоможе зрозуміти основні поняття за цими алгоритмами та як їх можна застосувати для сортування числових даних у вебзастосунках."
        ]
      },
      "review-algorithmic-thinking-by-building-a-dice-game": {
        "title": "Повторіть алгоритмічне мислення, створивши гру з кубиками",
        "intro": [
          "Алгоритмічне мислення передбачає здатність розбивати складні завдання на чітко визначені кроки.",
          "У проєкті зі створення гри з кубиками ви дізнаєтесь, як керувати станом гри та реалізуєте логіку гри, щоб викидати кубики, зберігати бали й застосовувати правила для різних комбінацій.",
          "Цей проєкт охоплює обробку подій, маніпулювання масивами, умовну логіку та динамічне оновлення інтерфейсу користувача на основі стану гри."
        ]
      },
      "learn-intermediate-oop-by-building-a-platformer-game": {
        "title": "Вивчіть проміжне ООП, створивши платформну гру",
        "intro": [
          "Створення ігор — чудовий спосіб засвоїти основні принципи програмування, ще й під час здобуття інтерактивного ігрового досвіду.",
          "У проєкті зі створення платформної гри ви продовжите вивчати класи, об’єкти, успадкування та інкапсуляцію. Ви також навчитеся ефективно проєктувати та організовувати елементи гри, отримаєте уявлення про розв’язання проблем та можливість повторного використання коду."
        ]
      },
      "learn-localstorage-by-building-a-todo-app": {
        "title": "Вивчіть localStorage, створивши застосунок зі списком справ",
        "intro": [
          "Локальне сховище — це функція вебпереглядача, яка дозволяє вебзастосункам зберігати пари ключ-значення в браузері користувача. Воно також дозволяє зберігати дані протягом одного сеансу та використовувати їх в наступному.",
          "У цьому застосунку для списку справ ви навчитеся обробляти введення форми, управляти локальним сховищем, виконувати операції CRUD (створення, читання, оновлення, видалення) на завданнях, реалізовувати слухачів подій та перемикати елементи інтерфейсу користувача."
        ]
      },
      "learn-the-date-object-by-building-a-date-formatter": {
        "title": "Вивчіть об’єкт Date, створивши форматувальник дат",
        "intro": [
          "При роботі з датами в JavaScript ви можете зіткнутися з викликами, оскільки доведеться орієнтуватися у різних методах, форматах і часових поясах. У цьому проєкті ви дізнаєтесь, як працювати з об’єктом Date в JavaScript, включно з його методами та властивостями, а також навчитеся форматувати дати.",
          "Цей проєкт охоплює такі поняття, як методи <code>getDate()</code>, <code>getMonth()</code> та <code>getFullYear()</code>."
        ]
      },
      "learn-asynchronous-programming-by-building-an-fcc-forum-leaderboard": {
        "title": "Вивчіть асинхронне програмування, створивши таблицю лідерів форуму fCC",
        "intro": [
          "JavaScript — це асинхронна мова програмування. Цей проєкт допоможе розібратись з асинхронними поняттями. Ви створите власну таблицю лідерів форуму freeCodeCamp.",
          "Цей проєкт охопить Fetch API, проміси, Async/Await та інструкцію try..catch."
        ]
      },
      "learn-basic-string-and-array-methods-by-building-a-music-player": {
        "title": "Вивчіть базові методи рядка та масиву, створивши музичний програвач",
        "intro": [
          "Тепер вивчимо основні методи рядка та масиву, серед яких <code>find()</code>, <code>forEach()</code>, <code>map()</code> та <code>join()</code>. Ці методи відіграють важливу роль для розробки динамічних вебзастосунків.",
          "У цьому проєкті ви створите MP3-плеєр за допомогою HTML, CSS та JavaScript. Цей проєкт охоплює ключові поняття, серед яких обробка відтворення аудіо, управління плейлистом, реалізація функцій програвання, паузи, наступної пісні та перемішування. Ви навіть дізнаєтесь, як динамічно оновити інтерфейс користувача на основі поточної пісні."
        ]
      },
      "learn-recursion-by-building-a-decimal-to-binary-converter": {
        "title": "Вивчіть рекурсію, створивши конвертер десяткових чисел в бінарні",
        "intro": [
          "Рекурсія — це таке поняття в програмуванні, коли функція викликає сама себе. Це може перетворити складне завдання на декілька менших простіших завдань, допоки вони не стануть зрозумілими.",
          "У цьому проєкті ви побудуєте конвертер десяткових чисел в бінарні за допомогою JavaScript. Ви вивчите основні поняття рекурсії, дослідите стек викликів та побудуєте візуальне представлення процесу рекурсії через анімацію."
        ]
      },
      "learn-introductory-javascript-by-building-a-pyramid-generator": {
        "title": "Вивчіть основи JavaScript, створивши генератор пірамід",
        "intro": [
          "JavaScript — це потужна скриптова мова, яку використовують, щоб зробити вебсайти інтерактивними. Це одна з основних технологій в мережі (разом з HTML та CSS), яка підтримується всіма сучасними браузерами.",
          "У цьому практичному проєкті ви вивчите основні поняття програмування на JavaScript, створивши власний генератор пірамід. Ви навчитеся працювати з масивами, рядками, функціями, циклами, інструкціями <code>if/else</code> тощо."
        ]
      },
      "review-js-fundamentals-by-building-a-gradebook-app": {
        "title": "Повторіть основи JavaScript, створивши журнал з оцінками",
        "intro": [
          "У цьому мініпроєкті ви зможете повторити основи JavaScript, серед яких функції, змінні, інструкції та багато іншого, створивши застосунок з журналом оцінювання.",
          "Це дозволить розв’язувати невеликі проблеми та краще розуміти базові поняття."
        ]
      },
      "learn-basic-debugging-by-building-a-random-background-color-changer": {
        "title": "Вивчіть базове налагодження, створивши перемикач фонового кольору",
        "intro": [
          "Налагодження програм — це процес перевірки коду на наявність помилок та їх виправлення.",
          "У цьому проєкті ви допоможете CamperBot побудувати перемикач фонового кольору, а також допоможете йому знаходити та налагоджувати помилки."
        ]
      },
      "review-dom-manipulation-by-building-a-rock-paper-scissors-game": {
        "title": "Повторіть маніпуляцію DOM, створивши гру «Камінь, ножиці, папір»",
        "intro": [
          "У попередніх проєктах ви навчились працювати з базовою маніпуляцією DOM. Тепер настав час це все повторити, створивши гру «Камінь, ножиці, папір».",
          "У цьому мініпроєкті ви пригадаєте інструкції, функції, <code>getElementById</code> та багато іншого. Це дозволить розв’язувати невеликі проблеми та краще розуміти базові поняття."
        ]
      }
    }
  },
  "front-end-development-libraries": {
    "title": "Бібліотеки Front End V8",
    "intro": [
      "Ви вже знайомі з HTML, CSS та JavaScript, тож час покращити свої навички. Тут ви дізнаєтесь про декілька популярних бібліотек верстки в галузі.",
      "У сертифікації «Бібліотеки Front End» ви навчитеся швидко стилізувати вебсайт за допомогою Bootstrap. Ви також навчитеся додавати логіку до CSS та покращувати його за допомогою Sass.",
      "Згодом ви розробите кошик для покупок та інші застосунки, щоб навчитися створювати потужні односторінкові застосунки (SPA) з React та Redux."
    ],
    "note": "",
    "blocks": {
      "bootstrap": {
        "title": "Bootstrap",
        "intro": [
          "Bootstrap — це фреймворк, створений для проєктування адаптивних вебсторінок та застосунків. Для веброзробки він використовує принцип «Mobile First» та включає попередньо інтегровані стилі, класи CSS і деякі функціональності JavaScript.",
          "Під час цього курсу ви навчитеся створювати адаптивні вебсайти за допомогою Bootstrap та використовувати готові шаблони для стилізації кнопок, зображень, форм, навігації та інших поширених елементів."
        ]
      },
      "jquery": {
        "title": "jQuery",
        "intro": [
          "jQuery — одна з найпопулярніших у світі бібліотек JavaScript.",
          "До її запуску у 2006 році, кожний браузер використовував JavaScript по-своєму. jQuery спростила роботу з JavaScript для користувачів, а також забезпечила кросбраузерність створених кодів.",
          "Під час цього курсу ви навчитеся використовувати jQuery для виділення, вилучення, копіювання та редагування різних елементів на сторінці."
        ]
      },
      "sass": {
        "title": "SASS",
        "intro": [
          "Sass, або «Syntactically Awesome StyleSheets» — це мовне розширення CSS, що містить функції, яких немає у базовому CSS, і тим самим допомагає спростити створення таблиць стилів для ваших проєктів.",
          "У цьому курсі ви навчитеся зберігати дані у змінних, вкладати CSS, створювати багаторазові стилі за допомогою міксин, додавати умовні конструкції та цикли до своїх стилів тощо."
        ]
      },
      "react": {
        "title": "React",
        "intro": [
          "React — це популярна бібліотека JavaScript для створення багаторазових компонентних користувацьких інтерфейсів для вебсторінок або застосунків.",
          "React поєднує HTML з функціями JavaScript, формуючи власну мову розмітки під назвою JSX. React також дозволяє легко керувати потоком даних у всьому застосунку.",
          "У цьому курсі ви навчитеся створювати різні компоненти React, керувати даними за допомогою пропсів, а також застосовувати різні методи життєвого циклу, такі як <code>componentDidMount</code> тощо."
        ]
      },
      "redux": {
        "title": "Redux",
        "intro": [
          "Зі збільшенням розмірів та кількості застосунків, керувати спільними даними стає все складніше. Redux називають «відкритою JS бібліотекою призначеною для управління станом програм JavaScript», яка забезпечує належну роботу ваших програм і спрощує тестування.",
          "Хоча ви можете використовувати його з будь-якою іншою бібліотекою, ми лише коротко розповімо про Redux, а тоді об’єднаємо його з React у наступному наборі курсів.",
          "Під час цього курсу ви вивчите базову інформацію про сховища, дії, редуктори та проміжне програмне забезпечення Redux для керування даними у своєму застосунку."
        ]
      },
      "react-and-redux": {
        "title": "React та Redux",
        "intro": [
          "React часто використовують разом із Redux, і не дарма. Redux і React створив один програміст, який хотів зробити процес передачі даних між компонентами простішим.",
          "Тепер коли ви вже навчились керувати загальними даними за допомогою Redux, ви можете виконувати дії в React. На курсах React і Redux, ви навчитесь будувати компонент React і дізнаєтесь, як локально керувати станом на рівні компонента, та й у цілому застосунку, за допомогою Redux."
        ]
      },
      "front-end-development-libraries-projects": {
        "title": "Проєкти «Бібліотеки Front End»",
        "intro": [
          "Прийшов час перевірити ваші навички роботи з бібліотеками front end. Використайте Bootstrap, jQuery, Sass, React та Redux для п’яти проєктів, що підтвердить ваші знання зі всього, що ви вивчили.",
          "Щоб отримати сертифікацію «Бібліотеки Front End», потрібно виконати п’ять проєктів."
        ]
      }
    }
  },
  "data-visualization": {
    "title": "Візуалізація даних V8",
    "intro": [
      "Дані повсюди, але це не означає, що більшість з них без форми чи контексту.",
      "У сертифікації «Візуалізація даних» ви створите діаграми, графіки та карти, що показують різні типи даних, за допомогою бібліотеки D3.js.",
      "Ви також дізнаєтесь про JSON (JavaScript Object Notation) та як працювати з даними онлайн, користуючись API (Application Programming Interface)."
    ],
    "note": "",
    "blocks": {
      "data-visualization-with-d3": {
        "title": "Візуалізація даних з D3",
        "intro": [
          "D3, або D3.js, розшифровується як «Data Driven Documents». Це бібліотека JavaScript для створення функціональної та інтерактивної візуалізації даних у браузері.",
          "D3 створено для роботи з поширеними вебстандартами, а саме: HTML, CSS і SVG (масштабована векторна графіка).",
          "D3 підтримує багато різних форматів даних. Тому, використовуючи її потужні вбудовані методи, ви можете перетворити ці дані у різні діаграми, графіки та карти.",
          "У курсі «Візуалізація даних з D3» ви навчитеся працювати з даними, аби створювати різні діаграми, графіки, елементи наведення та інші складові частини, аби створити динамічну та принадну візуалізацію даних."
        ]
      },
      "json-apis-and-ajax": {
        "title": "JSON API та AJAX",
        "intro": [
          "Так само як інтерфейс користувача (UI) допомагає людям користуватися програмами, API (Application Programming Interfaces) також допомагає програмам взаємодіяти між собою. API — це інструменти, які використовуються комп’ютерами для комунікування один з одним, і, частково, для надсилання та отримання даних.",
          "Програмісти часто використовують AJAX (Asynchronous JavaScript and XML) при роботі з API. AJAX належить до групи технологій, які роблять асинхронні запити до сервера для передачі даних, а потім завантажують будь-які отримані дані до сторінки. І дані, що були передані між браузером і сервером, часто мають формат JSON (JavaScript Object Notation).",
          "Цей курс навчить вас основ роботи з API та різними технологіями AJAX в браузері."
        ]
      },
      "data-visualization-projects": {
        "title": "Проєкти «Візуалізація даних»",
        "intro": [
          "Ви дізналися як працювати з технологіями D3, APIs та AJAX, тому перевірте свої навички завдяки тесту з п’яти проєктів візуалізації даних.",
          "У цих проєктах вам потрібно буде отримати й проаналізувати набір даних, тоді використати D3 для створення різної візуалізації даних. Завершіть усі проєкти, аби отримати сертифікацію «Візуалізація даних»."
        ]
      }
    }
  },
  "relational-database": {
    "title": "Реляційні бази даних V8",
    "intro": [
      "У цих курсах ви використовуватимете реальні інструменти розробника та програмне забезпечення, включно з VS Code, PostgreSQL та командним рядком Linux / Unix для завершення інтерактивних уроків і створення проєктів.",
      "Ці курси починаються з основних команд Bash. За допомогою терміналу ви навчитеся усього необхідного (від навігації та маніпуляції файловою системою, написання скрипту в Bash до просунутого використання).",
      "Далі ви навчитеся створювати та використовувати реляційну базу даних з PostgreSQL (система керування базами даних) та SQL (мова баз даних).",
      "Зрештою, ви дізнаєтеся про Git, систему контролю версій, важливий інструмент кожного розробника."
    ],
    "blocks": {
      "build-a-celestial-bodies-database-project": {
        "title": "База даних «Небесні тіла»",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви побудуєте базу даних небесних тіл, використовуючи PostgreSQL."
        ]
      },
      "build-a-number-guessing-game-project": {
        "title": "Гра «Вгадай число»",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви використовуватимете сценарії Bash, PostgreSQL та Git, щоб створити гру з вгадуванням чисел, яка запускається в терміналі та зберігає інформацію користувача."
        ]
      },
      "build-a-periodic-table-database-project": {
        "title": "База даних «Періодична таблиця»",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите Bash-скрипт, щоб отримати інформацію про хімічні елементи з бази даних періодичної таблиці."
        ]
      },
      "build-a-salon-appointment-scheduler-project": {
        "title": "Планувальник «Записи в салоні»",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите інтерактивну програму Bash, яка використовує PostgreSQL для відстеження клієнтів і зустрічей у вашому салоні."
        ]
      },
      "build-a-world-cup-database-project": {
        "title": "База даних «Чемпіонат світу»",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви створите скрипт Bash, який вводить інформацію з ігор чемпіонату світу в PostgreSQL, а потім запитує базу даних для отримання статистики."
        ]
      },
      "learn-advanced-bash-by-building-a-kitty-ipsum-translator": {
        "title": "Вивчіть прогресивний Bash, створивши перекладач Kitty Ipsum",
        "intro": [
          "У командах Bash більше, ніж ви могли собі уявити.",
          "У цьому курсі з 140 уроків ви дізнаєтеся про деякі складніші команди, а також детально дізнаєтеся як вони працюють."
        ]
      },
      "learn-bash-and-sql-by-building-a-bike-rental-shop": {
        "title": "Вивчіть Bash та SQL, створивши магазин прокату велосипедів",
        "intro": [
          "У цьому курсі з 210 уроків ви створите інтерактивну програму Bash, яка зберігатиме інформацію про оренду для вашого магазину прокату велосипедів, використовуючи PostgreSQL."
        ]
      },
      "learn-bash-by-building-a-boilerplate": {
        "title": "Вивчіть Bash, створивши шаблонний код",
        "intro": [
          "Термінал дозволяє відправляти текстові команди на ваш комп’ютер, які можуть маніпулювати файловою системою, запускати програми, автоматизувати завдання та багато іншого.",
          "У цьому курсі з 170 уроків ви вивчите команди терміналу, створивши шаблонний код вебсайту, використовуючи лише командний рядок."
        ]
      },
      "learn-bash-scripting-by-building-five-programs": {
        "title": "Вивчіть скрипт Bash, створивши п’ять програм",
        "intro": [
          "Скрипти Bash поєднують команди терміналу та логіку в програми, які можуть виконувати або автоматизувати завдання та багато іншого.",
          "У цьому курсі з 220 уроків ви вивчите більше про команди терміналу та як їх використовувати в скриптах Bash, створивши п’ять невеликих програм."
        ]
      },
      "learn-git-by-building-an-sql-reference-object": {
        "title": "Вивчіть Git, створивши об’єкт SQL",
        "intro": [
          "Git — це система контролю версій, яка відстежує усі зміни, внесені вами до свого коду.",
          "У цьому курсі з 240 уроків ви вивчите як Git відстежує ваш код, створюючи об’єкт, що містить часто використовувані команди SQL."
        ]
      },
      "learn-nano-by-building-a-castle": {
        "title": "Вивчіть Nano, створивши замок",
        "intro": [
          "Nano — це програма, яка дозволяє редагувати файли одразу в терміналі.",
          "У цьому курсі з 40 уроків ви вивчите як редагувати файли в терміналі за допомогою Nano під час будівництва замку."
        ]
      },
      "learn-relational-databases-by-building-a-database-of-video-game-characters": {
        "title": "Вивчіть реляційні бази даних, створивши базу даних з персонажами відеоігор",
        "intro": [
          "Реляційна база даних організовує дані в таблиці, які пов’язані між собою через спорідненість.",
          "У цьому курсі зі 165 уроків ви вивчите основи реляційної бази даних, створивши базу даних PostgreSQL, наповнену персонажами з відеоігор."
        ]
      },
      "learn-sql-by-building-a-student-database-part-1": {
        "title": "Вивчіть SQL, створивши студентську базу даних (частина 1)",
        "intro": [
          "SQL, або Structured Query Language (мова структурованих запитів) — це мова для спілкування з реляційною базою даних.",
          "В цьому курсі з 140 уроків ви створите скрипт Bash, який використовує SQL для введення інформації про ваших студентів з науки про дані в PostgreSQL."
        ]
      },
      "learn-sql-by-building-a-student-database-part-2": {
        "title": "Вивчіть SQL, створивши студентську базу даних (частина 2)",
        "intro": [
          "Команди об’єднання SQL використовуються, щоб поєднати інформацію з кількох таблиць у реляційній базі даних",
          "У цьому курсі з 140 уроків ви завершите свою базу даних студентів, глибше занурившись в команди SQL."
        ]
      }
    }
  },
  "back-end-development-and-apis": {
    "title": "Back End та API V8",
    "intro": [
      "Наразі ви використовували JavaScript тільки для front end: щоб зробити вебсторінку інтерактивнішою, розв’язати завдання з алгоритмами або створити SPA. Але JavaScript можна використовувати і для back end, щоб створити вебзастосунки.",
      "Сьогодні один із найпопулярніших способів створення застосунків — за допомогою мікрослужб, які є маленькими модульними застосунками та разом формують єдине ціле.",
      "У сертифікації «Back End та API» ви навчитеся писати back end за допомогою Node.js та npm. Ви створите вебзастосунок за допомогою фреймворку Express, а також мікрослужбу для пошуку людей за допомогою MongoDB і бібліотеки Mongoose."
    ],
    "note": "",
    "blocks": {
      "managing-packages-with-npm": {
        "title": "Керування пакетами з NPM",
        "intro": [
          "npm (Node Package Manager) — це інструмент командного рядка для встановлення, створення та поширення пакетів коду JavaScript, написаного для Node.js. На npm знаходиться багато пакетів з відкритим вихідним кодом, тому спершу ретельно їх вивчіть, щоб вам не довелося виправляти помилки під час роботи з даними чи отримання даних з API.",
          "У цьому курсі ви вивчите основи використання npm, включно з тим як працювати із <code>package.json</code> та як керувати встановленими залежностями."
        ]
      },
      "basic-node-and-express": {
        "title": "Основи Node та Express",
        "intro": [
          "Node.js — це середовище виконання JavaScript, що дозволяє розробникам писати back end (серверні програми) в JavaScript. Node.js має кілька вбудованих модулів (маленьких незалежних програм), які допомагають з цим. Деякі з основних модулів містять HTTP, що працює на зразок сервера, та файлову систему (модуль для читання і редагування файлів).",
          "В останній групі курсів ви навчилися встановлювати та керувати пакетами npm, які є скупченнями менших модулів. Ці пакети можуть допомогти вам створити більші, складніші застосунки.",
          "Express — це спрощений фреймворк вебзастосунків та один з найбільш популярних пакетів на npm. Express значно полегшує створення сервера та керування маршрутизацією вашого застосунку, що відповідає за такі речі, як перенаправлення людей до потрібної сторінки, коли вони відвідують певну кінцеву точку (наприклад, <pre>/blog</pre>).",
          "У цьому курсі ви дізнаєтесь основи Node та Express, включно з тим, як створювати сервер, обслуговувати різні файли та обробляти різні запити з браузера."
        ]
      },
      "mongodb-and-mongoose": {
        "title": "MongoDB та Mongoose",
        "intro": [
          "MongoDB — це програма бази даних, яка зберігає JSON документи (чи записи), які ви можете використати у своєму застосунку. На відміну від SQL, іншого типу бази даних, MongoDB — це нереляційна, або «NoSQL» база даних. Це означає, що MongoDB зберігає усі збірні дані в межах одного запису, замість того, щоб тримати їх у багатьох попередньо налаштованих таблицях, як у базі даних SQL.",
          "Moongoose — це популярний пакет npm для взаємодії з MongoDB. З Moongoose ви можете використовувати прості об’єкти JavaScript замість JSON, що полегшує роботу із MongoDB. Він також дозволяє створити нарис документів під назвою «схеми», щоб ви ненароком не зберегли хибний тип даних та не спричинили помилок.",
          "На курсах MongoDB та Mongoose ви вивчите основи роботи із постійними даними, враховуючи налаштування моделі, збереження, видалення та пошук документів у базі даних."
        ]
      },
      "back-end-development-and-apis-projects": {
        "title": "Проєкти «Back End та API»",
        "intro": [
          "Раніше ви мали справу з API, але тепер, коли ви знайомі із nmp, Node, Express, Mongo DB та Mongoose, прийшов час створити щось власне. Застосуйте усі отримані знання, щоб створити 5 окремих мікрослужб, які є меншими застосунками з обмеженими можливостями.",
          "Створивши їх, ви матимете п’ять крутих мікрослужб API, якими можна похвалитися перед друзями, рідними чи потенційними роботодавцями. О, а ще новеньку сертифікацію «Back End та API»."
        ]
      }
    }
  },
  "quality-assurance": {
    "title": "Забезпечення якості",
    "intro": [
      "Оскільки ваші програми чи вебзастосунки стають складнішими, ви захочете протестувати їх, щоб переконатися, що нові зміни не порушують початкові функції.",
      "У сертифікації «Забезпечення якості» ви дізнаєтесь як писати тести з Chai, щоб переконатись, що ваші застосунки працюють так, як ви очікуєте.",
      "Потім ви створите застосунок чату, щоб вивчити розширені концепції Node та Express. Ви також будете використовувати Pug як шаблонізатор, Passport для автентифікації та Socket.io для комунікування в режимі реального часу між сервером та підключеними клієнтами."
    ],
    "note": "",
    "blocks": {
      "quality-assurance-and-testing-with-chai": {
        "title": "Забезпечення якості та тестування з Chai",
        "intro": [
          "Chai — це бібліотека тестування JavaScript, яка допомагає переконатись, що після внесення змін до коду ваша програма досі поводиться так, як ви очікуєте.",
          "Використовуючи Chai, ви зможете писати тести, які описують ваші програмні вимоги, та бачити чи ваш застосунок відповідає їм.",
          "У цьому курсі ви дізнаєтесь про припущення, глибоку рівність, правдивість, тестування API та інші основи тестування програм JavaScript."
        ]
      },
      "advanced-node-and-express": {
        "title": "Просунутий Node та Express",
        "intro": [
          "Настав час глибоко зануритися у Node.js та Express.js, створивши застосунок чату із системою входу.",
          "Щоб безпечно впровадити систему входу, вам потрібно буде дізнатися про автентифікацію. Це акт перевірки особи або процесу.",
          "У цьому курсі ви дізнаєтесь, як використовувати Passport для управління автентифікацією, Pug для створення шаблонів багаторазового використання для швидкого створення інтерфейсу та вебсокети для комунікування в реальному часі між клієнтами та сервером."
        ]
      },
      "quality-assurance-projects": {
        "title": "Проєкти «Забезпечення якості»",
        "intro": [
          "Тепер, коли ви добре розбираєтесь у frond end та back end, настав час застосувати всі навички та поняття, які ви вивчили до цього моменту. Ви створите п’ять різних вебзастосунків і напишете тести для кожного, щоб переконатися, чи вони працюють і обробляють всі можливі сценарії.",
          "Після завершення цих проєктів із забезпечення якості у вас буде ще 5 проєктів, а також нова сертифікація, якою можна похвалитись у портфоліо."
        ]
      }
    }
  },
  "scientific-computing-with-python": {
    "title": "Наукові обчислення з Python",
    "intro": [
      "Навчальна програма «Наукові обчислення з Python» допоможе отримати навички аналізу та маніпулювання даними за допомогою Python — потужної та універсальної мови програмування. Ви вивчите ключові поняття, серед яких структури даних, алгоритми, об’єктноорієнтоване програмування, а також як виконувати складні обчислення за допомогою різноманітних інструментів.",
      "Цей комплексний курс ознайомить вас з основами наукових обчислень, включно зі структурами даних та алгоритмами."
    ],
    "note": "",
    "blocks": {
      "learn-string-manipulation-by-building-a-cipher": {
        "title": "Вивчіть маніпуляцію рядками, створивши шифр",
        "intro": [
          "Python — це потужна та популярна мова програмування, яку широко використовують для науки про дані, візуалізації даних, веброзробки, розробки ігор, машинного навчання та багатьох інших галузей.",
          "У цьому проєкті ви ознайомитеся з основними поняттями програмування на Python, серед яких змінні, функції, цикли та умовні інструкції. Ви використаєте їх для написання своїх перших програм."
        ]
      },
      "learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm": {
        "title": "Навчіться працювати з числами та рядками, імплементувавши алгоритм Луна",
        "intro": [
          "Алгоритм Луна широко використовується для перевірки помилок у різних програмах (наприклад, щоб перевірити номер кредитної картки).",
          "Створивши цей проєкт, ви отримаєте досвід роботи з чисельними обчисленнями та маніпулюванням рядками."
        ]
      },
      "learn-list-comprehension-by-building-a-case-converter-program": {
        "title": "Вивчіть спискові вирази Python, створивши програму для зміни регістру",
        "intro": [
          "Спискові вирази — це спосіб створення нового списку Python з ітерабельних типів (списків, кортежів і рядків) без використання циклу for або методу списку .append().",
          "У цьому проєкті ви напишете програму, яка приймає рядок у верхньому або нижньому верблюдячому регістрі, а потім перетворює його у зміїний регістр.",
          "Проєкт складається з двох етапів: спочатку ви використаєте цикл for, щоб імплементувати програму. Потім ви дізнаєтесь, як використовувати спискові вирази замість циклу, щоб отримати ті ж результати."
        ]
      },
      "learn-regular-expressions-by-building-a-password-generator": {
        "title": "Вивчіть регулярні вирази, створивши генератор паролів",
        "intro": [
          "Модуль Python — це файл, який містить набір інструкцій та визначень, які можна використати у коді.",
          "У цьому проєкті ви навчитеся імпортувати модулі зі стандартної бібліотеки Python. Також ви дізнаєтесь, як використовувати регулярні вирази, створивши власну програму для генерації паролів."
        ]
      },
      "learn-algorithm-design-by-building-a-shortest-path-algorithm": {
        "title": "Вивчіть алгоритмічний дизайн, створивши алгоритм найкоротшого шляху",
        "intro": [
          "Алгоритми — це покрокові процедури, які розробники використовують для виконання розрахунків та розв’язання обчислювальних задач.",
          "У цьому проєкті ви дізнаєтеся, як використовувати функції, цикли, умовні інструкції та словникові вирази, щоб імплементувати алгоритм найкоротшого шляху."
        ]
      },
      "learn-recursion-by-solving-the-tower-of-hanoi-puzzle": {
        "title": "Вивчіть рекурсію, розгадавши головоломку Ханойської вежі",
        "intro": [
          "Рекурсія — це підхід до програмування, який дозволяє розв’язати обчислювальні задачі за допомогою невеликої кількості коду.",
          "У цьому проєкті ви почнете з підходу на основі циклів, щоб розв’язати математичну головоломку Ханойської вежі. Потім ви дізнаєтеся, як імплементувати рекурсивний розв’язок."
        ]
      },
      "learn-data-structures-by-building-the-merge-sort-algorithm": {
        "title": "Вивчіть структури даних, створивши алгоритм сортування злиттям",
        "intro": [
          "Алгоритм сортування злиттям — це алгоритм сортування, заснований на принципі «розділяй і володарюй».",
          "У цьому проєкті ви навчитеся взаємодіяти зі структурами даних, сортуючи список випадкових чисел за допомогою алгоритму сортування злиттям."
        ]
      },
      "learn-classes-and-objects-by-building-a-sudoku-solver": {
        "title": "Вивчіть класи та об’єкти, створивши розв’язувач судоку",
        "intro": [
          "Класи та об’єкти є важливими поняттями програмування. Ці інструменти об’єктноорієнтованого програмування допомагають розробникам з модульністю коду, абстракцією та читабельністю, а також сприяють повторному використанню.",
          "У цьому проєкті з розв’язувачем судоку ви дізнаєтесь, як використовувати класи та об’єкти, щоб створити сітку судоку та вирішити цю головоломку."
        ]
      },
      "learn-tree-traversal-by-building-a-binary-search-tree": {
        "title": "Вивчіть обхід дерева, створивши бінарне дерево пошуку",
        "intro": [
          "Бінарне дерево пошуку — це поширена структура даних, де дані впорядковані ієрархічно.",
          "У цьому проєкті ви дізнаєтесь, як сконструювати власне бінарне дерево пошуку і виконати серединний обхід. Також ви ознайомитеся з ключовими операціями (наприклад, вставка, пошук та видалення)."
        ]
      },
      "learn-lambda-functions-by-building-an-expense-tracker": {
        "title": "Вивчіть лямбда-функції, створивши трекер витрат",
        "intro": [
          "Завдяки лямбда-функціям можна написати невеликі одноразові функції у своєму коді.",
          "У цьому проєкті ви дослідите потужність лямбда-функцій, створивши трекер витрат. Кінцевий застосунок продемонструє, як можна використовувати лямбда-функції для ефективних і оптимізованих операцій."
        ]
      },
      "build-an-arithmetic-formatter-project": {
        "title": "Проєкт «Створіть арифметичний форматор»",
        "intro": ["Цей проєкт потрібно виконати, щоб отримати сертифікацію."]
      },
      "build-a-time-calculator-project": {
        "title": "Проєкт «Створіть калькулятор часу»",
        "intro": ["Цей проєкт потрібно виконати, щоб отримати сертифікацію."]
      },
      "build-a-budget-app-project": {
        "title": "Проєкт «Створіть застосунок для ведення бюджету»",
        "intro": ["Цей проєкт потрібно виконати, щоб отримати сертифікацію."]
      },
      "build-a-polygon-area-calculator-project": {
        "title": "Проєкт «Створіть калькулятор площі багатокутника»",
        "intro": ["Цей проєкт потрібно виконати, щоб отримати сертифікацію."]
      },
      "build-a-probability-calculator-project": {
        "title": "Проєкт «Створіть калькулятор вірогідностей»",
        "intro": ["Цей проєкт потрібно виконати, щоб отримати сертифікацію."]
      },
      "learn-interfaces-by-building-an-equation-solver": {
        "title": "Вивчіть інтерфейси, створивши розв’язувач рівнянь",
        "intro": [
          "Абстрактні класи дозволяють визначити формальні інтерфейси — а саме об’єкти, які виступають як шаблони для класів.",
          "У цьому проєкті ви дізнаєтесь, як реалізувати інтерфейс у Python, створивши просту програму для розв’язку рівнянь."
        ]
      },
      "learn-special-methods-by-building-a-vector-space": {
        "title": "Вивчіть спеціальні методи, створивши векторний простір",
        "intro": [
          "Спеціальні методи в Python викликаються у відповідь на конкретні операції та дозволяють налаштувати поведінку об’єктів у деталізований й ефективний спосіб.",
          "У цьому проєкті ви дослідите деякі з найпоширеніших спеціальних методів, вивчаючи вектори через створення векторного простору."
        ]
      },
      "learn-encapsulation-by-building-a-projectile-trajectory-calculator": {
        "title": "Вивчіть інкапсуляцію, створивши калькулятор траєкторії налітної частинки",
        "intro": [
          "Інкапсуляція — це основний принцип ООП, що базується на написанні коду, який обмежує прямий доступ до даних.",
          "У цьому проєкті ви відкриєте нові поняття, пов’язані з інкапсуляцією, серед яких гетери, сетери та спотворення імен, і використовуватимете їх разом з тим, що вже вивчили, щоб створити програму, яка обчислює траєкторію налітної частинки."
        ]
      },
      "learn-the-bisection-method-by-finding-the-square-root-of-a-number": {
        "title": "Вивчіть метод бісекції, знайшовши квадратний корінь числа",
        "intro": [
          "Числові методи використовують для наближеного розв‘язку математичних задач, які важко або неможливо розв’язати аналітично.",
          "У цьому проєкті ви дізнаєтесь про числовий метод бісекції, щоб знайти квадратний корінь числа, поступово звужуючи можливий діапазон його значень."
        ]
      }
    }
  },
  "data-analysis-with-python": {
    "title": "Аналіз даних з Python",
    "intro": [
      "Аналіз даних існує вже давно. Але ще кілька років тому розробники практикували його за допомогою дорогих інструментів із закритим кодом, таких як Tableau. Але нещодавно Python, SQL та інші відкриті бібліотеки назавжди змінили аналіз даних.",
      "У сертифікації «Аналіз даних з Python» ви дізнаєтесь про основи аналізу даних за допомогою Python. Наприкінці цієї сертифікації ви будете знати, як читати дані з таких джерел, як CSV та SQL, і як використовувати бібліотеки, такі як Numpy, Pandas, Matplotlib та Seaborn для обробки та візуалізації даних."
    ],
    "note": "",
    "blocks": {
      "data-analysis-with-python-course": {
        "title": "Аналіз даних з Python",
        "intro": [
          "У цих комплексних відеокурсах, створених Сантьяго Басульто, ви дізнаєтесь про весь процес аналізу даних. Ви будете зчитувати дані з різних джерел (CSV, SQL, Excel), обробляти ці дані за допомогою NumPy та Pandas і візуалізовувати їх за допомогою Matplotlib та Seaborn.",
          "Крім того, ми включили детальний курс по Jupyter Notebook та короткий довідник з Python, щоб оновити ваші навички програмування."
        ]
      },
      "numpy": {
        "title": "Numpy",
        "intro": [
          "Вивчіть основи бібліотеки NumPy у наступному відеокурсі, створеному Кейтом Галлі.",
          "У цьому курсі ви дізнаєтесь, як працює NumPy і як він порівнюється із вбудованими списками Python. Ви також дізнаєтесь, як писати код з NumPy, індексувати, змінювати форму, застосовувати статистику та багато іншого."
        ]
      },
      "data-analysis-with-python-projects": {
        "title": "Проєкти «Аналіз даних з Python»",
        "intro": [
          "Існує багато способів аналізу даних за допомогою Python. Завершивши ці проєкти, ви продемонструєте, що володієте хорошими фундаментальними знаннями аналізу даних, використовуючи Python.",
          "Завершіть всі проєкти, щоб отримати сертифікацію «Аналіз даних з Python»."
        ]
      }
    }
  },
  "learn-python-for-beginners": {
    "title": "Python для початківців",
    "summary": [
      "Опануйте основи програмування на Python із самого початку, практикуючи базові поняття і створюючи невеликі проєкти."
    ],
    "intro": [
      "Python — одна з найпопулярніших мов програмування. Вона легка для вивчення, читабельна і універсальна.",
      "У цьому комплексному курсі ви опануєте основи Python з нуля. Ви почнете з таких базових понять, як змінні й типи даних, а потім перейдете до керування потоком і функцій. Щоб закріпити знання, ви створите декілька проєктів."
    ],
    "note": "",
    "blocks": {
      "python-setup-first-steps": {
        "title": "Налаштування Python та перші кроки",
        "intro": [
          "У цих відео популярний інструктор Майк Дейн познайомить вас із Python і покаже, як налаштувати локальне середовище."
        ]
      },
      "core-primitives-in-python": {
        "title": "Основні примітиви в Python",
        "intro": [
          "У цих відео ви дізнаєтесь про змінні, типи даних, рядки, числа та отримання вхідних даних від користувача."
        ]
      },
      "small-python-projects": {
        "title": "Малі проєкти на Python",
        "intro": [
          "У цих відео ви попрактикуєте здобуті знання, створивши базовий калькулятор і гру «Mad Libs»."
        ]
      },
      "lists-and-tuples": {
        "title": "Списки і кортежі",
        "intro": [
          "У цих відео ви дізнаєтесь про списки і кортежі, а також поширені операції над ними."
        ]
      },
      "control-flow-and-functions-in-python": {
        "title": "Керування потоком і функції",
        "intro": [
          "У цих відео ви дізнаєтесь, як контролювати потік програм за допомогою інструкцій if. Ви також навчитесь писати код з функціями, який можна використовувати повторно."
        ]
      },
      "dictionaries-and-loops": {
        "title": "Словники та цикли",
        "intro": [
          "У цих відео ви навчитесь працювати зі словниками та різними циклами, включно з while і for."
        ]
      },
      "error-handling-files-and-modules-in-python": {
        "title": "Обробка помилок, файли і модулі",
        "intro": [
          "У цих відео ви навчитесь коректно обробляти помилки, читати й записувати файли, а також організовувати код за допомогою модулів і зовнішніх пакетів."
        ]
      },
      "object-oriented-programming-with-python": {
        "title": "Об’єктноорієнтоване програмування з Python",
        "intro": [
          "У цих відео ви вивчите об’єктноорієнтоване програмування, створюючи класи й об’єкти. Ви відпрацюєте навички, створивши застосунок із вікториною."
        ]
      }
    }
  },
  "introduction-to-algorithms-and-data-structures": {
    "title": "Вступ до алгоритмів та структур даних",
    "summary": [
      "У цьому курсі ви дізнаєтесь про поширені алгоритми і структури даних."
    ],
    "intro": [
      "Алгоритми і структури даних — це основа програмування, тому важливо навчитися працювати з ними.",
      "У цьому курсі ви ознайомитесь з поширеними алгоритмами сортування і пошуку, включно з сортуванням злиттям, швидким сортуванням і бінарним пошуком.",
      "Ви також дізнаєтеся, як працювати з поширеними структурами даних (зокрема, з масивами та списками)."
    ],
    "note": "",
    "blocks": {
      "searching-algorithms": {
        "title": "Алгоритми пошуку",
        "intro": [
          "У цих відео ви дізнаєтесь про алгоритм, а також як працювати з алгоритмами бінарного і лінійного пошуку."
        ]
      },
      "time-complexity": {
        "title": "Часова складність",
        "intro": [
          "У цих відео ви дізнаєтесь про часову складність і як вона вимірює ефективність алгоритмів."
        ]
      },
      "algorithms-in-code": {
        "title": "Алгоритми в коді",
        "intro": [
          "У цих відео ви напишете код на Python для алгоритмів лінійного і бінарного пошуку."
        ]
      },
      "recursion-and-space-complexity": {
        "title": "Рекурсія і просторова складність",
        "intro": [
          "У цих відео ви дізнаєтесь про рекурсію і вплив просторової складності на алгоритми."
        ]
      },
      "introduction-to-arrays": {
        "title": "Вступ до масивів",
        "intro": [
          "У цих відео ви навчитесь працювати з масивами. Ви дізнаєтесь про різні операції, серед яких вставка, видалення і пошук."
        ]
      },
      "introduction-to-linked-lists": {
        "title": "Вступ до зв’язаних списків",
        "intro": [
          "У цих відео ви дізнаєтесь про зв’язані списки. Ви навчитесь додавати вузли, а також видаляти і шукати список."
        ]
      },
      "merge-sort-algorithm": {
        "title": "Алгоритм сортування злиттям",
        "intro": ["У цих відео ви дізнаєтесь про алгоритм сортування злиттям."]
      },
      "sorting-a-linked-list": {
        "title": "Сортування зв’язаного списку",
        "intro": ["У цих відео ви дізнаєтесь, як відсортувати зв’язані списки."]
      },
      "sorting-algorithms": {
        "title": "Алгоритми сортування",
        "intro": [
          "У цих відео ви дізнаєтесь про поширені алгоритми сортування, зокрема про сортування вибором і швидке сортування."
        ]
      },
      "searching-names-using-sorting-and-searching-algorithms": {
        "title": "Пошук за допомогою алгоритмів сортування і пошуку",
        "intro": [
          "У цих відео ви будете шукати імена за допомогою алгоритмів сортування і пошуку, а також порівняєте час їх виконання."
        ]
      }
    }
  },
  "learn-rag-mcp-fundamentals": {
    "title": "Знайомство з RAG та MCP",
    "summary": ["У цьому відеокурсі ви ознайомитесь з RAG та MCP."],
    "intro": [
      "RAG — це Retrieval-Augmented Generation (укр. доповнене пошуком генерування). MCP — це Model Context Protocol (укр. протокол контексту моделі). Це потужні фреймворки для створення ШІ-агентів, які можуть отримувати інформацію з бази знань, генерувати відповіді на її основі і відповідно планувати свої дії.",
      "У цьому курсі ви дізнаєтесь основне про RAG і MCP, а також про їхнє практичне застосування. Ви ознайомитесь з різними компонентами, включно з інформаційним пошуком, генерацією, пам’яттю, контекстом і плануванням. Під кінець курсу ви будете чітко розуміти, як працюють RAG і MCP та як їх можна використати для створення агентів."
    ],
    "note": "",
    "blocks": {
      "understanding-rag": {
        "title": "Розуміння RAG",
        "intro": [
          "Дізнайтесь про RAG (доповнене пошуком генерування), зокрема: що це таке, коли його використовувати і основні поняття."
        ]
      },
      "retrieval-engine-internals": {
        "title": "Внутрішня організація пошукових систем",
        "intro": [
          "Зануртеся у семантичний пошук, моделі ембедингів, векторні бази даних і чанкування, щоб зрозуміти, як працює інформаційний пошук під капотом."
        ]
      },
      "designing-reliable-rag-systems": {
        "title": "Створення надійних RAG-систем",
        "intro": [
          "Ознайомтеся з архітектурою RAG, моніторингом, обробкою помилок і способами розгортання RAG-систем."
        ]
      },
      "mcp-ecosystem-and-tooling": {
        "title": "Екосистема та інструменти MCP",
        "intro": [
          "Дізнайтесь, навіщо існує MCP, як побудована його архітектура, що таке JSON-RPC, а також як ефективно створювати й використовувати MCP-сервери та клієнтів."
        ]
      }
    }
  },
  "introduction-to-precalculus": {
    "title": "Вступ до числення",
    "summary": [
      "Ознайомтесь з численням, зокрема з функціями та тригонометрією."
    ],
    "intro": [
      "Числення — це розділ математики, який традиційно є вступом до математичного аналізу. Він охоплює широкий спектр тем, зокрема функції і тригонометрію."
    ],
    "note": "",
    "blocks": {
      "function-basics": {
        "title": "Основи функцій",
        "intro": [
          "У цих відео ви дізнаєтесь про функції і навчитесь працювати з ними."
        ]
      },
      "angles-and-circular-motion": {
        "title": "Кути та рух по колу",
        "intro": ["У цих відео ви дізнаєтесь про кути та рух по колу."]
      },
      "right-triangle-trigonometry": {
        "title": "Тригонометрія прямокутного трикутника",
        "intro": [
          "У цих відео ви дізнаєтесь про тригонометрію прямокутного трикутника і як працювати з ним."
        ]
      },
      "trig-graphs-inverses": {
        "title": "Графіки функцій та обернені функції",
        "intro": [
          "У цих відео ви дізнаєтесь про графіки функцій та обернені функції."
        ]
      },
      "solving-trig-equations": {
        "title": "Розв’язок тригонометричних рівнянь",
        "intro": [
          "У цих відео ви навчитесь розв’язувати тригонометричні рівняння."
        ]
      },
      "trig-identities-formulas": {
        "title": "Тригонометричні тотожності та формули",
        "intro": [
          "У цих відео ви дізнаєтесь про тригонометричні тотожності та формули."
        ]
      },
      "advanced-trig-conics": {
        "title": "Вища тригонометрія та конічні перерізи",
        "intro": [
          "У цих відео ви дізнаєтесь про вищу тригонометрію та конічні перерізи."
        ]
      }
    }
  },
  "introduction-to-bash": {
    "title": "Вступ до Bash",
    "summary": [
      "Навчіться використовувати термінал і писати скрипти Bash, щоб автоматизувати завдання та керувати файлами і процесами."
    ],
    "intro": [
      "Bash — це unix-оболонка і командна мова, яка надає потужний інтерфейс для взаємодії з операційною системою комп’ютера. Вона дозволяє виконувати команди та автоматизувати завдання, а також ефективно керувати файлами і процесами.",
      "У цьому курсі ви дізнаєтесь основне про скрипти Bash, а також як орієнтуватись у файловій системі та маніпулювати файлами."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-the-command-line-and-working-with-bash": {
        "title": "Знайомство з командним рядком та робота з Bash",
        "intro": [
          "У цих лекціях ви дізнаєтесь про командний рядок і роботу з Bash."
        ]
      },
      "workshop-bash-boilerplate": {
        "title": "Створіть шаблонний код",
        "intro": [
          "Термінал дозволяє надсилати на комп’ютер текстові команди, які можуть маніпулювати файловою системою, запускати програми, автоматизувати завдання та багато іншого.",
          "У цьому практичному занятті зі 170 уроків ви вивчите команди терміналу, створивши шаблонний код вебсайту, використовуючи лише командний рядок."
        ]
      },
      "review-bash-commands": {
        "title": "Повторення команд Bash",
        "intro": [
          "Пригадайте поняття з теми «Команди Bash», щоб підготуватись до тесту."
        ]
      },
      "quiz-bash-commands": {
        "title": "Тест «Команди Bash»",
        "intro": ["Перевірте, що ви дізнались про команди bash."]
      }
    }
  },
  "introduction-to-sql-and-postgresql": {
    "title": "Вступ до SQL та PostgreSQL",
    "summary": [
      "Навчіться використовувати SQL та PostgreSQL для створення і управління реляційними базами даних."
    ],
    "intro": [
      "SQL (мова структурованих запитів) — це мова програмування, яку використовують для керування і маніпуляції реляційними базами даних. Це дозволяє створювати, читати, оновлювати та видаляти дані з бази даних.",
      "PostgreSQL — це потужна система керування реляційними базами даних з відкритим кодом, яка використовує SQL як мову запитів. Вона забезпечує надійну і масштабовану платформу для зберігання та управління даними."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-relational-databases": {
        "title": "Робота з реляційними базами даних",
        "intro": [
          "У цих лекціях ви навчитесь працювати з реляційними базами даних."
        ]
      },
      "workshop-database-of-video-game-characters": {
        "title": "Створіть базу даних з ігровими персонажами",
        "intro": [
          "Реляційна база даних організовує дані в таблиці, які пов’язані між собою через спорідненість.",
          "У цьому практичному занятті зі 165 уроків ви вивчите основи реляційної бази даних, створивши базу даних PostgreSQL, наповнену персонажами з відеоігор."
        ]
      },
      "lab-celestial-bodies-database": {
        "title": "Створіть базу даних «Небесні тіла»",
        "intro": [
          "У цьому проєкті ви побудуєте базу даних з небесними тілами, використовуючи PostgreSQL."
        ]
      },
      "review-sql-and-postgresql": {
        "title": "Повторення SQL та PostgreSQL",
        "intro": [
          "Пригадайте поняття з теми «SQL та PostgreSQL», щоб підготуватись до тесту."
        ]
      },
      "quiz-sql-and-postgresql": {
        "title": "Тест «SQL та PostgreSQL»",
        "intro": ["Перевірте, що ви дізнались про SQL та PostgreSQL."]
      }
    }
  },
  "learn-bash-scripting": {
    "title": "Вивчення скриптів Bash",
    "summary": [
      "Навчіться писати скрипти Bash для автоматизації завдань та керування файлами і процесами."
    ],
    "intro": [
      "Скрипти Bash поєднують команди терміналу і логіку в програми, які можуть виконувати або автоматизувати завдання та багато іншого.",
      "У цьому курсі ви детальніше вивчите команди терміналу та як використовувати їх в скриптах Bash, створивши п’ять невеликих програм."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-bash-scripting": {
        "title": "Знайомство зі скриптами Bash",
        "intro": ["У цих лекціях ви дізнаєтесь про скрипти Bash."]
      },
      "workshop-bash-five-programs": {
        "title": "Створіть п’ять програм",
        "intro": [
          "Скрипти Bash поєднують команди терміналу і логіку в програми, які можуть виконувати або автоматизувати завдання та багато іншого.",
          "У цьому практичному занятті з 220 уроків ви детальніше вивчите команди терміналу та як їх використовувати в скриптах Bash, створивши п’ять невеликих програм."
        ]
      },
      "review-bash-scripting": {
        "title": "Повторення скриптів Bash",
        "intro": [
          "Пригадайте поняття з теми «Скрипти Bash», щоб підготуватись до тесту."
        ]
      },
      "quiz-bash-scripting": {
        "title": "Тест «Скрипти Bash»",
        "intro": ["Перевірте, що ви дізнались про скрипти bash."]
      }
    }
  },
  "learn-sql-and-bash": {
    "title": "Вивчення SQL та Bash",
    "summary": [
      "Навчіться використовувати SQL та Bash для керування і маніпулювання реляційними базами даних."
    ],
    "intro": [
      "SQL, скорочено від Structured Query Language (укр. мова структурованих запитів) — це мова для спілкування з реляційною базою даних. Bash — це unix-оболонка і командна мова, яка надає потужний інтерфейс для взаємодії з операційною системою комп’ютера.",
      "У цьому курсі ви створите скрипт Bash, який використовує SQL для введення інформації про студентів з інформатики в PostgreSQL."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-sql": {
        "title": "Робота з SQL",
        "intro": [
          "У цих лекціях ви дізнаєтесь про SQL-ін’єкції, нормалізацію та проблему N+1."
        ]
      },
      "workshop-sql-student-database-part-1": {
        "title": "Створіть базу даних студентів: частина 1",
        "intro": [
          "SQL, або Structured Query Language (мова структурованих запитів) — це мова спілкування з реляційною базою даних.",
          "У цьому практичному занятті зі 140 уроків ви створите скрипт Bash, який використовує SQL, щоб ввести інформацію про студентів з інформатики в PostgreSQL."
        ]
      },
      "workshop-sql-student-database-part-2": {
        "title": "Створіть базу даних студентів: частина 2",
        "intro": [
          "У SQL використовують команди join, щоб об’єднати інформацію з декількох таблиць у реляційну базу даних.",
          "У цьому практичному занятті зі 140 уроків ви завершите свою базу даних студентів, глибше занурившись в команди SQL."
        ]
      },
      "lab-world-cup-database": {
        "title": "Створіть базу даних «Чемпіонат світу»",
        "intro": [
          "У цьому проєкті ви створите скрипт Bash, який вводить інформацію з ігор чемпіонату світу в PostgreSQL, а потім запитує базу даних для отримання статистики."
        ]
      },
      "workshop-kitty-ipsum-translator": {
        "title": "Створіть перекладача Kitty Ipsum",
        "intro": [
          "Команди Bash можуть більше, ніж ви могли собі уявити.",
          "У цьому практичному занятті зі 140 уроків ви вивчите деякі складніші команди, а також дізнаєтесь про деталі їхньої роботи."
        ]
      },
      "workshop-bike-rental-shop": {
        "title": "Створіть магазин прокату велосипедів",
        "intro": [
          "У цьому практичному занятті з 210 уроків ви створите інтерактивну програму Bash, яка зберігатиме інформацію про магазин прокату велосипедів, використовуючи PostgreSQL."
        ]
      },
      "lab-salon-appointment-scheduler": {
        "title": "Створіть планер записів у салоні",
        "intro": [
          "У цій лабораторній роботі ви створите інтерактивну програму Bash, яка використовує PostgreSQL, щоб відстежувати клієнтів і записи в салоні."
        ]
      },
      "review-bash-and-sql": {
        "title": "Повторення Bash та SQL",
        "intro": [
          "Пригадайте поняття з теми «Bash та SQL», щоб підготуватись до тесту."
        ]
      },
      "quiz-bash-and-sql": {
        "title": "Тест «Bash та SQL»",
        "intro": ["Перевірте, що ви дізнались про Bash та SQL."]
      }
    }
  },
  "introduction-to-nano": {
    "title": "Вступ до Nano",
    "summary": [
      "Навчіться користуватись текстовим редактором Nano, щоб створювати і редагувати файли в терміналі."
    ],
    "intro": [
      "Nano — це простий і зручний текстовий редактор, який виконується в терміналі. Він дозволяє створювати і редагувати файли, не покидаючи командного рядка.",
      "У цьому курсі ви навчитесь використовувати Nano, щоб створювати і редагувати файли, орієнтуватись в тексті та виконувати базові операції з редагування."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-nano": {
        "title": "Робота з Nano",
        "intro": ["У цій лекції ви дізнаєтесь про Nano."]
      },
      "workshop-castle": {
        "title": "Створіть замок",
        "intro": [
          "Nano — це програма, яка дозволяє редагувати файли одразу в терміналі.",
          "У цьому практичному занятті з 40 уроків ви дізнаєтесь, як редагувати файли в терміналі за допомогою Nano, створивши замок."
        ]
      }
    }
  },
  "introduction-to-git-and-github": {
    "title": "Вступ до Git та GitHub",
    "summary": [
      "Навчіться користуватись Git та HitHub для роботи і співпраці над проєктами."
    ],
    "intro": [
      "Git — це система контролю версій, яка дозволяє розробникам відстежувати зміни в коді та співпрацювати з іншими. GitHub — це вебплатформа, яка зберігає репозиторії Git, завдяки чому розробники легко діляться проєктами і співпрацюють.",
      "У цьому курсі ви ознайомтесь з Git та GitHub; зокрема, ви навчитесь створювати репозиторії, вносити зміни та співпрацювати з іншими розробниками."
    ],
    "note": "",
    "blocks": {
      "lecture-introduction-to-git-and-github": {
        "title": "Вступ до Git та GitHub",
        "intro": ["У цих лекціях ви дізнаєтесь, як працювати з Git і GitHub."]
      },
      "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": {
        "title": "Робота з переглядом коду, гілками, розгортанням та CI/CD",
        "intro": [
          "У цих лекціях ви дізнаєтесь про перегляд коду, гілки, розгортання та CI/CD."
        ]
      },
      "workshop-sql-reference-object": {
        "title": "Створіть референсний об’єкт SQL",
        "intro": [
          "Git — це система контролю версій, яка відстежує усі зміни, внесені вами до кодової бази.",
          "У цьому практичному занятті з 240 уроків ви дізнаєтесь, як Git відстежує код, створивши об’єкт, що містить часто використовувані команди SQL."
        ]
      },
      "review-git": {
        "title": "Повторення Git",
        "intro": [
          "Пригадайте поняття з теми «Git», щоб підготуватись до тесту."
        ]
      },
      "quiz-git": {
        "title": "Тест «Git»",
        "intro": ["Перевірте, що ви дізнались про Git."]
      }
    }
  },
  "learn-oop-with-python": {
    "title": "Дізнайтесь про ООП з Python",
    "summary": [
      "У цьому відеокурсі ви дізнаєтесь про об’єктноорієнтоване програмування на Python."
    ],
    "intro": [
      "Об’єктноорієнтоване програмування (ООП) — це парадигма програмування, заснована на концепції об’єктів і яка може містити дані та код, щоб маніпулювати цими даними. У цьому курсі ви ознайомитесь з основними поняттями ООП (включно з класами, об’єктами і успадкуванням) та дізнаєтесь, як застосувати їх на практиці."
    ],
    "note": "",
    "blocks": {
      "oop-basics": {
        "title": "Основи ООП",
        "intro": [
          "У цих відео ви ознайомитесь з ООП; зокрема, навчитесь створювати класи і працювати з конструкторами."
        ]
      },
      "methods-and-inheritance": {
        "title": "Методи та успадкування",
        "intro": ["У цих відео ви дізнаєтесь про методи та успадкування в ООП."]
      },
      "advanced-oop-concepts": {
        "title": "Складніші поняття ООП",
        "intro": [
          "У цих відео ви дізнаєтесь про складніші поняття ООП, включно з гетерами, сетерами та іншими важливими принципами."
        ]
      }
    }
  },
  "introduction-to-python-basics": {
    "title": "Вступ до Python",
    "summary": ["Дізнайтеся про основи програмування на Python."],
    "intro": [
      "У цьому інтерактивному курсі ви дізнаєтесь про базовий синтаксис, типи даних і контрольні структури Python."
    ],
    "note": "",
    "blocks": {
      "lecture-introduction-to-python": {
        "title": "Вступ до Python",
        "intro": [
          "У цих лекціях ви дізнаєтесь, що таке Python і як налаштувати середовище розробки."
        ]
      },
      "lecture-understanding-variables-and-data-types": {
        "title": "Знайомство зі змінними і типами даних",
        "intro": [
          "У цих лекціях ви дізнаєтесь про змінні та типи даних у Python."
        ]
      },
      "workshop-report-card-printer": {
        "title": "Створіть принтер табеля успішності",
        "intro": [
          "У цьому практичному занятті ви будете працювати з примітивними типами даних у Python, створивши принтер табеля успішності."
        ]
      },
      "lecture-introduction-to-python-strings": {
        "title": "Вступ до рядків",
        "intro": ["У цих лекціях ви дізнаєтесь про рядки в Python."]
      },
      "workshop-employee-profile-generator": {
        "title": "Створіть генератор інформації про співробітників",
        "intro": [
          "У цьому практичному занятті ви будете маніпулювати рядками в Python, створивши інструмент для генерації відформатованих бейджів співробітників і їхнього аналізу."
        ]
      },
      "lecture-numbers-and-mathematical-operations": {
        "title": "Числа та математичні операції",
        "intro": [
          "У цих лекціях ви дізнаєтесь про числа та математичні операції в Python."
        ]
      },
      "workshop-bill-splitter": {
        "title": "Створіть програму з груповими витратами",
        "intro": [
          "У цьому практичному занятті ви будете працювати з числами і математичними операціями, створивши програму з груповими витратами."
        ]
      },
      "lecture-booleans-and-conditionals": {
        "title": "Булеві значення та умовні оператори",
        "intro": [
          "У цих лекціях ви дізнаєтесь про булеві значення та умовні оператори в Python."
        ]
      },
      "workshop-movie-ticket-booking-calculator": {
        "title": "Створіть калькулятор для бронювання квитків",
        "intro": [
          "У цьому практичному занятті ви будете використовувати булеві значення і умовні оператори у Python, створивши калькулятор для бронювання квитків у кіно."
        ]
      },
      "lab-travel-weather-planner": {
        "title": "Створіть планер для дороги",
        "intro": [
          "У цій лабораторній роботі ви створите планер для дороги, використовуючи умовні оператори."
        ]
      },
      "lecture-understanding-functions-and-scope": {
        "title": "Знайомство з функціями і областю видимості",
        "intro": [
          "У цих лекціях ви дізнаєтесь про функції та область видимості в Python."
        ]
      },
      "lab-discount-calculator": {
        "title": "Створіть калькулятор знижок",
        "intro": [
          "У цій лабораторній роботі ви попрактикуєтесь в основах Python, створивши калькулятор знижок."
        ]
      },
      "workshop-caesar-cipher": {
        "title": "Створіть шифр Цезаря",
        "intro": [
          "У цьому практичному занятті ви створите шифр Цезаря, застосовуючи основні поняття з Python (серед яких рядки, умовні інструкції, функції тощо)."
        ]
      },
      "lab-rpg-character": {
        "title": "Створіть RPG-персонажа",
        "intro": [
          "У цій лабораторній роботі ви попрактикуєтеся в основах Python, створивши RPG-персонажа."
        ]
      },
      "review-python-basics": {
        "title": "Повторення основ Python",
        "intro": [
          "Перш ніж перейти до тесту «Основи Python», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з рядками, функціями, операторами порівняння тощо."
        ]
      },
      "quiz-python-basics": {
        "title": "Тест «Основи Python»",
        "intro": ["Перевірте, що ви дізнались про основи Python."]
      }
    }
  },
  "learn-python-loops-and-sequences": {
    "title": "Дізнайтесь про цикли та послідовності в Python",
    "summary": [
      "Дізнайтесь, як працювати з циклами та послідовностями в Python."
    ],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з циклами та послідовностями у Python."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-loops-and-sequences": {
        "title": "Робота з циклами та послідовностями",
        "intro": [
          "У цих лекціях ви навчитесь працювати з циклами і послідовностями."
        ]
      },
      "workshop-pin-extractor": {
        "title": "Створіть витягач PIN-кодів",
        "intro": [
          "У цьому практичному занятті ви створите функцію, яка витягуватиме PIN-коди, заховані в поезіях."
        ]
      },
      "lab-number-pattern-generator": {
        "title": "Створіть генератор множин чисел",
        "intro": [
          "У цій лабораторній роботі ви створите генератор множин чисел."
        ]
      },
      "review-loops-and-sequences": {
        "title": "Повторення циклів та послідовностей",
        "intro": [
          "Перш ніж перейти до тесту «Цикли та послідовності», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати цикли, списки, кортежі та поширені методи роботи з ними."
        ]
      },
      "quiz-loops-and-sequences": {
        "title": "Тест «Цикли та послідовності»",
        "intro": [
          "Перевірте, що ви дізнались про цикли та послідовності в Python."
        ]
      }
    }
  },
  "learn-python-dictionaries-and-sets": {
    "title": "Дізнайтесь про словники та набори в Python",
    "summary": ["Навчіться працювати зі словниками і наборами в Python."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати зі словниками та наборами у Python."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-dictionaries-and-sets": {
        "title": "Робота зі словниками та наборами",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати зі словниками і наборами."
        ]
      },
      "lecture-working-with-modules": {
        "title": "Робота з модулями",
        "intro": ["У цих лекціях ви дізнаєтесь, як працювати з модулями."]
      },
      "workshop-medical-data-validator": {
        "title": "Створіть валідатор медичних даних",
        "intro": [
          "У цьому практичному занятті ви будете працювати зі словниками та наборами, перевіряючи медичні дані."
        ]
      },
      "lab-user-configuration-manager": {
        "title": "Створіть менеджера для налаштувань користувача",
        "intro": [
          "У цій лабораторній роботі ви будете працювати зі словниками в Python."
        ]
      },
      "review-dictionaries-and-sets": {
        "title": "Повторення словників та наборів",
        "intro": [
          "Перш ніж перейти до тесту «Словники та набори», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати поняття, які стосуються словників і наборів, а також імпорту модулів."
        ]
      },
      "quiz-dictionaries-and-sets": {
        "title": "Тест «Словники та набори»",
        "intro": ["Перевірте, що ви дізнались про словники та набори в Python."]
      }
    }
  },
  "learn-error-handling-in-python": {
    "title": "Дізнайтесь про обробку помилок в Python",
    "summary": ["Дізнайтесь, як обробляти помилки і винятки в Python."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь обробляти помилки і винятки в Python."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-error-handling": {
        "title": "Знайомство з обробкою помилок",
        "intro": [
          "У цих лекціях ви дізнаєтесь про обробку помилок в Python. Ви дізнаєтесь про різні типи помилок, хороші практики налагодження, які бувають виключення і як їх обробляти."
        ]
      },
      "lab-isbn-validator": {
        "title": "Налагодьте валідатор ISBN",
        "intro": [
          "У цій лабораторній роботі ви будете працювати над застосунком, де потрібно знайти й виправити помилки, доки він не працюватиме правильно."
        ]
      },
      "review-error-handling": {
        "title": "Повторення обробки помилок",
        "intro": [
          "Перш ніж перейти до тесту «Обробка помилок», повторіть основні поняття."
        ]
      },
      "quiz-error-handling": {
        "title": "Тест «Обробка помилок»",
        "intro": ["Перевірте, що ви дізнались про обробку помилок в Python."]
      }
    }
  },
  "learn-python-classes-and-objects": {
    "title": "Дізнайтесь про класи та об’єкти в Python",
    "summary": ["Дізнайтесь, як працювати з класами та об’єктами в Python."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з класами та об’єктами в Python."
    ],
    "note": "",
    "blocks": {
      "lecture-classes-and-objects": {
        "title": "Класи та об’єкти",
        "intro": ["У цих лекціях ви дізнаєтесь про класи та об’єкти."]
      },
      "workshop-musical-instrument-inventory": {
        "title": "Створіть інвентар музичних інструментів",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь про класи, об’єкти та методи в Python, створивши інвентар музичних інструментів."
        ]
      },
      "lab-planet-class": {
        "title": "Створіть клас Planet",
        "intro": [
          "У цій лабораторній роботі ви створите клас, який представляє планету."
        ]
      },
      "workshop-email-simulator": {
        "title": "Створіть симулятор електронної пошти",
        "intro": [
          "У цьому практичному занятті ви будете використовувати класи й об’єкти для створення симулятора електронної пошти, який імітує надсилання, отримання та керування листами між різними користувачами."
        ]
      },
      "lab-budget-app": {
        "title": "Створіть застосунок для ведення бюджету",
        "intro": [
          "У цій лабораторній роботі ви побудуєте застосунок для ведення бюджету, створивши клас і методи для нього."
        ]
      },
      "review-classes-and-objects": {
        "title": "Повторення класів та об’єктів",
        "intro": [
          "Перш ніж перейти до тесту «Класи та об’єкти», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати про класи, об’єкти, методи, атрибути, спеціальні методи та багато іншого."
        ]
      },
      "quiz-classes-and-objects": {
        "title": "Тест «Класи та об’єкти»",
        "intro": ["Перевірте, що ви дізнались про класи та об’єкти в Python."]
      }
    }
  },
  "introduction-to-oop-in-python": {
    "title": "Вступ до ООП в Python",
    "summary": [
      "Вивчіть основне про об’єктноорієнтоване програмування (ООП) в Python."
    ],
    "intro": [
      "У цьому інтерактивному курсі ви ознайомитесь з основами об’єктноорієнтованого програмування (ООП) в Python."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-object-oriented-programming-and-encapsulation": {
        "title": "Знайомство з об’єктноорієнтованим програмуванням та інкапсуляцією",
        "intro": [
          "У цих лекціях ви дізнаєтесь про об’єктноорієнтоване програмування та інкапсуляцію."
        ]
      },
      "workshop-salary-tracker": {
        "title": "Створіть трекер зарплат",
        "intro": [
          "У цьому практичному занятті ви попрактикуєтесь із інкапсуляцією, властивостями та іншими поняттями ООП, створивши систему відстеження зарплат для працівників."
        ]
      },
      "lab-game-character-stats": {
        "title": "Створіть трекер зі статистикою ігрового персонажа",
        "intro": [
          "У цій лабораторній роботі ви створите ігрового персонажа з різними характеристиками, використовуючи об’єктноорієнтоване програмування."
        ]
      },
      "lecture-understanding-inheritance-and-polymorphism": {
        "title": "Знайомство з успадкуванням та поліморфізмом",
        "intro": [
          "У цих лекціях ви дізнаєтесь про успадкування та поліморфізм."
        ]
      },
      "workshop-media-catalogue": {
        "title": "Створіть каталог із медіа",
        "intro": [
          "У цьому практичному занятті ви створите каталог із медіа, використовуючи принципи об’єктноорієнтованого програмування."
        ]
      },
      "lecture-understanding-abstraction": {
        "title": "Знайомство з абстракцією",
        "intro": ["У цих лекціях ви дізнаєтесь про абстракцію."]
      },
      "workshop-discount-calculator": {
        "title": "Створіть калькулятор знижки",
        "intro": [
          "У цьому практичному занятті ви створите гнучкий калькулятор знижок, використовуючи базові абстрактні класи, що дозволить застосовувати кілька алгоритмів без зміни основної логіки."
        ]
      },
      "lab-player-interface": {
        "title": "Створіть інтерфейс гравця",
        "intro": [
          "У цій лабораторній роботі ви використаєте модуль <code>abc</code>, щоб створити інтерфейс гравця."
        ]
      },
      "lab-polygon-area-calculator": {
        "title": "Створіть калькулятор площі багатокутника",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати об’єктноорієнтоване програмування, щоб розрахувати площу різних багатокутників (наприклад, квадратів і прямокутників)."
        ]
      },
      "review-object-oriented-programming": {
        "title": "Повторення об’єктноорієнтованого програмування",
        "intro": [
          "Перш ніж перейти до тесту «Об’єктноорієнтоване програмування», повторіть основні поняття."
        ]
      },
      "quiz-object-oriented-programming": {
        "title": "Тест «Об’єктноорієнтоване програмування»",
        "intro": [
          "Перевірте, що ви дізнались про об’єктноорієнтоване програмування в Python."
        ]
      }
    }
  },
  "introduction-to-linear-data-structures-in-python": {
    "title": "Вступ до лінійних структур даних у Python",
    "summary": ["Вивчіть основне про лінійні структури даних в Python."],
    "intro": [
      "У цьому інтерактивному курсі ви ознайомитесь з лінійними структурами даних в Python."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-common-data-structures": {
        "title": "Робота з поширеними структурами даних",
        "intro": [
          "У цих лекціях ви навчитесь працювати з поширеними структурами даних."
        ]
      },
      "workshop-linked-list-class": {
        "title": "Створіть зв’язаний список",
        "intro": [
          "У цьому практичному занятті ви попрактикуєтесь працювати зі структурами даних, створивши зв’язаний список."
        ]
      },
      "lab-hash-table": {
        "title": "Створіть хеш-таблицю",
        "intro": [
          "Хеш-таблиця — це структура даних, яку використовують для зберігання пар ключ-значення і оптимізовують для швидкого пошуку.",
          "У цій лабораторній роботі ви застосуєте знання про структури даних, щоб створити хеш-таблицю."
        ]
      },
      "review-data-structures": {
        "title": "Повторення структур даних",
        "intro": [
          "Перш ніж перейти до тесту «Структури даних», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати про різні структури даних, алгоритми, часову і просторову складність, а також нотацію Ландау."
        ]
      },
      "quiz-data-structures": {
        "title": "Тест «Структури даних»",
        "intro": ["Перевірте, що ви дізнались про структури даних в Python."]
      }
    }
  },
  "learn-algorithms-in-python": {
    "title": "Дізнайтесь про алгоритми в Python",
    "summary": ["Вивчіть основне про алгоритми в Python."],
    "intro": [
      "У цьому інтерактивному курсі ви ознайомитесь з алгоритмами в Python."
    ],
    "note": "",
    "blocks": {
      "lecture-searching-and-sorting-algorithms": {
        "title": "Алгоритми пошуку та сортування",
        "intro": [
          "Дізнайтесь про базові алгоритми пошуку й сортування, включно з лінійним пошуком, бінарним пошуком і сортуванням злиттям.",
          "Ці лекції охоплюють імплементацію алгоритмів, аналіз часової та просторової складності, а також парадигму «розділяй і володарюй»."
        ]
      },
      "workshop-binary-search": {
        "title": "Імплементуйте алгоритм бінарного пошуку",
        "intro": [
          "Алгоритм бінарного пошуку — це алгоритм пошуку, який використовують для пошуку конкретного елемента у відсортованому списку.",
          "У цьому практичному занятті ви імплементуєте алгоритм бінарного пошуку і повернете шлях до потрібного елемента або рядок 'Value not found'."
        ]
      },
      "lab-bisection-method": {
        "title": "Імплементуйте метод бісекції",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте метод бісекції для знаходження квадратного кореня числа."
        ]
      },
      "workshop-merge-sort": {
        "title": "Імплементуйте алгоритм сортування злиттям",
        "intro": [
          "Алгоритм сортування злиттям — це алгоритм сортування, заснований на принципі «розділяй і володарюй».",
          "У цьому практичному занятті ви імплементуєте алгоритм сортування злиттям, щоб відсортувати список випадкових чисел."
        ]
      },
      "lab-quicksort": {
        "title": "Імплементуйте алгоритм швидкого сортування",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм швидкого сортування, щоб відсортувати список цілих чисел."
        ]
      },
      "lab-selection-sort": {
        "title": "Імплементуйте алгоритм сортування вибором",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм сортування вибором."
        ]
      },
      "lab-luhn-algorithm": {
        "title": "Імплементуйте алгоритм Луна",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм Луна, щоб підтвердити ідентифікаційні номери (наприклад, номер кредитної картки)."
        ]
      },
      "lab-tower-of-hanoi": {
        "title": "Імплементуйте алгоритм «Ханойська вежа»",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм для розв'язання задачі «Ханойська вежа»."
        ]
      },
      "review-searching-and-sorting-algorithms": {
        "title": "Повторення алгоритмів пошуку та сортування",
        "intro": [
          "Перш ніж перейти до тесту «Алгоритми пошуку та сортування», повторіть основні поняття."
        ]
      },
      "quiz-searching-and-sorting-algorithms": {
        "title": "Тест «Алгоритми пошуку та сортування»",
        "intro": [
          "Перевірте, що ви дізнались про алгоритми пошуку та сортування в Python."
        ]
      }
    }
  },
  "learn-graphs-and-trees-in-python": {
    "title": "Дізнайтесь про графи та дерева в Python",
    "summary": ["Вивчіть основне про графи та дерева в Python."],
    "intro": [
      "У цьому інтерактивному курсі ви ознайомитесь з графами і деревами в Python."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-graphs-and-trees": {
        "title": "Знайомство з графами та деревами",
        "intro": [
          "У цій лекції ви дізнаєтесь про базові структури даних (зокрема, про графи та дерева), а також їхнє практичне застосування в комп’ютерних науках."
        ]
      },
      "workshop-shortest-path-algorithm": {
        "title": "Реалізуйте алгоритм найкоротшого шляху",
        "intro": [
          "У цьому практичному занятті ви реалізуєте алгоритм пошуку найкоротшого шляху між двома вузлами в графі."
        ]
      },
      "lab-adjacency-list-to-matrix-converter": {
        "title": "Створіть конвертер зі списку суміжності в матрицю",
        "intro": [
          "У цій лабораторній роботі ви створите функію, яка перетворює представлення графу у вигляді списку суміжності в матрицю."
        ]
      },
      "workshop-breadth-first-search": {
        "title": "Імплементуйте алгоритм пошуку в ширину",
        "intro": [
          "У цьому практичному занятті ви застосуєте алгоритм пошуку в ширину, щоб згенерувати всі допустимі комбінації дужок."
        ]
      },
      "lab-depth-first-search": {
        "title": "Імплементуйте алгоритм пошуку в глибину",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм пошуку в глибину."
        ]
      },
      "lab-n-queens-problem": {
        "title": "Імплементуйте задачу про n-ферзів",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте розв’язок для задачі про n-ферзів."
        ]
      },
      "review-graphs-and-trees": {
        "title": "Повторення графів та дерев",
        "intro": [
          "Перш ніж перейти до тесту «Графи та дерева», повторіть основні поняття."
        ]
      },
      "quiz-graphs-and-trees": {
        "title": "Тест «Графи та дерева»",
        "intro": ["Перевірте, що ви дізнались про графи та дерева в Python."]
      }
    }
  },
  "learn-dynamic-programming-in-python": {
    "title": "Дізнайтесь про динамічне програмування в Python",
    "summary": ["Вивчіть основне про динамічне програмування в Python."],
    "intro": [
      "У цьому інтерактивному курсі ви ознайомитесь з динамічним програмуванням в Python."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-dynamic-programming": {
        "title": "Знайомство з динамічним програмуванням",
        "intro": [
          "У цій лекції ви дізнаєтесь про динамічне програмування — алгоритмічну техніку, яка дозволяє ефективно розв’язувати складні задачі, розбиваючи їх на простіші."
        ]
      },
      "lab-nth-fibonacci-number": {
        "title": "Створіть калькулятор n-го числа Фібоначчі",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте калькулятор послідовності Фібоначчі, застосувавши динамічне програмування."
        ]
      },
      "review-dynamic-programming": {
        "title": "Повторення динамічного програмування",
        "intro": [
          "Перш ніж перейти до тесту «Динамічне програмування», повторіть основні поняття."
        ]
      },
      "quiz-dynamic-programming": {
        "title": "Тест «Динамічне програмування»",
        "intro": [
          "Перевірте, що ви дізнались про динамічне програмування в Python."
        ]
      }
    }
  },
  "introduction-to-variables-and-strings-in-javascript": {
    "title": "Вступ до змінних і рядків в JavaScript",
    "summary": ["Вивчіть основне про змінні та рядки в JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви ознайомитесь зі змінними і рядками — оновними поняттями для програмування на JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-introduction-to-javascript": {
        "title": "Вступ до JavaScript",
        "intro": [
          "У цих лекціях ви дізнаєтесь про основи JavaScript, зокрема про змінні, типи даних, взаємодію JavaScript з HTML і CSS, рядки та багато іншого."
        ]
      },
      "lecture-introduction-to-strings": {
        "title": "Вступ до рядків",
        "intro": [
          "У цих лекціях ви навчитесь працювати з рядками та об’єднувати їх."
        ]
      },
      "lecture-understanding-code-clarity": {
        "title": "Розуміння чіткості коду",
        "intro": [
          "У цих лекціях ви дізнаєтесь про коментарі в JavaScript та роль крапки з комою в програмуванні."
        ]
      },
      "workshop-greeting-bot": {
        "title": "Створіть вітального бота",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь, як працювати з основами JavaScript, створивши вітального бота.",
          "Ви дізнаєтесь про змінні, <code>let</code>, <code>const</code>, <code>console.log</code> та базове використання рядка."
        ]
      },
      "lab-javascript-trivia-bot": {
        "title": "Створіть бота з цікавими фактами",
        "intro": [
          "У цій лабораторній роботі ви будете працювати зі змінними та рядками в JavaScript, створивши бота."
        ]
      },
      "lab-sentence-maker": {
        "title": "Створіть творця речень",
        "intro": [
          "У цій лабораторній роботі ви продовжите працювати з рядками і конкатенацією, створюючи та налаштовуючи різні історії."
        ]
      },
      "lecture-working-with-data-types": {
        "title": "Робота з типами даних",
        "intro": [
          "У цих лекціях ви навчитесь працювати з різними типами даних в JavaScript. Ви також дізнаєтесь про різницю між динамічною і статичною типізацією, оператор <code>typeof</code> і помилку <code>typeof null</code>."
        ]
      },
      "review-javascript-variables-and-data-types": {
        "title": "Повторення змінних та типів даних в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Змінні та типи даних в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати змінні, типи даних, логи та коментування."
        ]
      },
      "quiz-javascript-variables-and-data-types": {
        "title": "Тест «Змінні та типи даних в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Змінні та типи даних в JavaScript»."
        ]
      },
      "lecture-working-with-strings-in-javascript": {
        "title": "Робота з рядками в JavaScript",
        "intro": [
          "У цих лекціях ви навчитеся працювати з рядками в JavaScript. Ви дізнаєтесь, як отримати доступ до символів рядка, як використовувати шаблонні літерали й інтерполяцію, як створити нову лінію в рядку та багато іншого."
        ]
      },
      "workshop-teacher-chatbot": {
        "title": "Створіть вчителя-бота",
        "intro": [
          "У цьому практичному занятті ви продовжите знайомство з рядками JavaScript, створивши чат-бот.",
          "Ви навчитеся працювати з шаблонними літерами та методом <code>indexOf</code>."
        ]
      },
      "lecture-working-with-string-character-methods": {
        "title": "Методи роботи з символами рядка",
        "intro": [
          "У цій лекції ви дізнаєтесь про систему ASCII, а також як використовувати методи <code>charCodeAt()</code> та <code>fromCharCode()</code> для перетворення символів і кодових значень ASCII."
        ]
      },
      "lecture-working-with-string-search-and-slice-methods": {
        "title": "Методи рядка: search та slice",
        "intro": [
          "У цій лекції ви дізнаєтесь, як знайти підрядок за допомогою методу <code>includes()</code> та як вирізати підрядок з рядка за допомогою методу <code>slice()</code>."
        ]
      },
      "workshop-string-inspector": {
        "title": "Створіть інспектора рядків",
        "intro": [
          "У цьому практичному занятті ви будете працювати з методами <code>includes()</code> та <code>slice()</code>, створивши інспектора рядків."
        ]
      },
      "lecture-working-with-string-formatting-methods": {
        "title": "Методи форматування рядка",
        "intro": [
          "У цій лекції ви дізнаєтесь про форматування рядків: як змінити регістр за допомогою методів <code>toUpperCase()</code> та <code>toLowerCase()</code>, а також як видалити пробіли за допомогою методів <code>trim()</code>, <code>trimStart()</code> та <code>trimEnd()</code>."
        ]
      },
      "workshop-string-formatter": {
        "title": "Створіть редактор рядків",
        "intro": [
          "У цьому практичному занятті ви будете працювати з різними методами роботи з рядками, серед яких <code>trim()</code>, <code>toUpperCase()</code> та <code>toLowerCase()</code>."
        ]
      },
      "lecture-working-with-string-modification-methods": {
        "title": "Методи зміни рядка",
        "intro": [
          "У цій лекції ви дізнаєтесь, як замінювати частини рядка за допомогою методу <code>replace()</code> і як повторювати рядок декілька разів за допомогою методу <code>repeat()</code>."
        ]
      },
      "workshop-string-transformer": {
        "title": "Створіть змінювач рядків",
        "intro": [
          "У цьому практичному занятті ви будете працювати з методами <code>replace()</code>, <code>replaceAll()</code> та <code>repeat()</code>."
        ]
      },
      "review-javascript-strings": {
        "title": "Повторення рядків у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Рядки в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з шаблонними літералами, а також з методами <code>slice</code>, <code>includes</code>, <code>trim</code> та багато іншого."
        ]
      },
      "quiz-javascript-strings": {
        "title": "Тест «Рядки в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Рядки в JavaScript»."
        ]
      }
    }
  },
  "introduction-to-booleans-and-numbers-in-javascript": {
    "title": "Вступ до булевих значень і чисел в JavaScript",
    "summary": ["Вивчіть основне про булеві значення та числа в JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з булевими значеннями і числами в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-numbers-and-arithmetic-operators": {
        "title": "Робота з числами та арифметичними операторами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про типи чисел, а також про арифметичні оператори та їхні методи роботи з числами і рядками."
        ]
      },
      "lab-debug-type-coercion-errors": {
        "title": "Налагодьте помилку приведення типів у застосунку",
        "intro": [
          "У цій лабораторній роботі ви будете працювати із застосунком, що містить кілька помилок приведення типів.",
          "Ваше завдання — знайти й виправити ці помилки, щоб застосунок працював правильно."
        ]
      },
      "lecture-working-with-operator-behavior": {
        "title": "Робота з поведінкою оператора",
        "intro": [
          "У цих лекціях ви дізнаєтесь про пріоритет операцій, оператори інкременту/декременту та оператори присвоєння."
        ]
      },
      "lab-debug-increment-and-decrement-operator-errors": {
        "title": "Налагодьте помилки оператора інкременту та декременту в застосунку",
        "intro": [
          "У цій лабораторній роботі ви налагодите застосунок, що має кілька помилок, пов’язаних з операторами інкременту і декременту.",
          "Ваше завдання — знайти й виправити ці помилки, щоб застосунок працював правильно."
        ]
      },
      "lecture-working-with-comparison-and-boolean-operators": {
        "title": "Робота з операторами порівняння та булевими операторами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про булеві значення, оператори рівності/нерівності та інші оператори порівняння."
        ]
      },
      "workshop-logic-checker-app": {
        "title": "Створіть застосунок для перевірки логіки",
        "intro": [
          "У цьому практичному занятті ви будете працювати з умовними операторами та операторами порівняння, створивши застосунок для перевірки логіки."
        ]
      },
      "lecture-working-with-unary-and-bitwise-operators": {
        "title": "Робота з унарними та бітовими операторами",
        "intro": ["У цих лекціях ви дізнаєтесь про унарні та бітові оператори."]
      },
      "lecture-working-with-conditional-logic-and-math-methods": {
        "title": "Робота з умовною логікою та методами об’єкта math",
        "intro": [
          "У цих лекціях ви дізнаєтесь про умовні інструкції, логічні оператори та об’єкт <code>Math</code>."
        ]
      },
      "workshop-mathbot": {
        "title": "Створіть математичного бота",
        "intro": [
          "У цьому практичному занятті ви пригадаєте, як працювати з різними методами об’єкта Math, створивши математичного бота."
        ]
      },
      "lab-fortune-teller": {
        "title": "Створіть генератор передбачень",
        "intro": [
          "У цій лабораторній роботі ви створите генератор передбачень, де користувач випадково обиратиме передбачення зі всіх доступних.",
          "Ви будете працювати з методами <code>Math.random()</code> та <code>Math.floor()</code>, щоб генерувати випадкові числа."
        ]
      },
      "lecture-working-with-numbers-and-common-number-methods": {
        "title": "Робота з числами та поширені методи роботи з ними",
        "intro": [
          "У цих лекціях ви дізнаєтесь про числа та поширені методи роботи з ними. До них належать <code>isNaN()</code>, <code>parseInt()</code>, <code>parseFloat()</code> та <code>toFixed()</code>."
        ]
      },
      "review-javascript-math": {
        "title": "Повторення об’єкту Math в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Об’єкт <code>Math</code> в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з методами <code>Math.random()</code>, <code>Math.floor()</code> тощо."
        ]
      },
      "quiz-javascript-math": {
        "title": "Тест «Об’єкт Math в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Об’єкт <code>Math</code> в JavaScript»."
        ]
      },
      "lecture-understanding-comparisons-and-conditionals": {
        "title": "Знайомство з порівняннями й умовами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про оператори порівняння і умовні вирази. Ви дізнаєтесь, чим відрізняються умовні вирази між собою, і як працюють порівняння з <code>null</code> та <code>undefined</code>."
        ]
      },
      "review-javascript-comparisons-and-conditionals": {
        "title": "Повторення порівняння та умов у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Порівняння та умови в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з інструкціями <code>switch</code>, а також з іншими типами умовних інструкцій."
        ]
      },
      "quiz-javascript-comparisons-and-conditionals": {
        "title": "Тест «Порівняння та умови в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Порівняння та умови в JavaScript»."
        ]
      }
    }
  },
  "introduction-functions-in-javascript": {
    "title": "Вступ до функцій в JavaScript",
    "summary": ["Вивчіть основне про функції в JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з функціями в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-functions": {
        "title": "Робота з функціями",
        "intro": [
          "У цих лекціях ви навчитесь повторно використовувати блок коду за допомогою функцій. Ви дізнаєтесь про головну мету функцій та як вони працюють, і що таке область видимості в програмуванні."
        ]
      },
      "workshop-calculator": {
        "title": "Створіть калькулятор",
        "intro": [
          "У цьому практичному занятті ви пригадаєте, як працювати з функціями, створивши калькулятор."
        ]
      },
      "lab-boolean-check": {
        "title": "Створіть перевірку булевого значення",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте функцію, яка перевіряє, чи значення є булевим."
        ]
      },
      "lab-email-masker": {
        "title": "Створіть маскування електронної пошти",
        "intro": [
          "У цій лабораторній роботі ви створите маскування електронної пошти, яке прийматиме адресу та приховуватиме її.",
          "Ви будете розрізати рядок, застосовувати конкатенацію та використовувати функції."
        ]
      },
      "workshop-loan-qualification-checker": {
        "title": "Створіть перевірку на дотримання вимог до позики",
        "intro": [
          "У цьому практичному занятті ви продовжите вивчати про умовні інструкції, створивши перевірку на дотримання вимог до позики.",
          "Ви детальніше дізнаєтесь про інструкції <code>if</code>, а також як використовувати оператори порівняння та декілька умов в інструкції <code>if</code>."
        ]
      },
      "lab-celsius-to-fahrenheit-converter": {
        "title": "Створіть конвертер з Цельсія в Фаренгейт",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка перетворює температуру з Цельсія в Фаренгейт."
        ]
      },
      "lab-counting-cards": {
        "title": "Створіть асистента для підрахунку карт",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати JavaScript для підрахунку карт."
        ]
      },
      "lab-leap-year-calculator": {
        "title": "Створіть калькулятор високосних років ",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати умовні інструкції та цикли, щоб визначити, чи рік високосний."
        ]
      },
      "lab-truncate-string": {
        "title": "Імплементуйте алгоритм скорочення рядка",
        "intro": [
          "У цій лабораторній роботі ви навчитесь скорочувати рядок до певної довжини."
        ]
      },
      "lab-string-ending-checker": {
        "title": "Створіть інструмент для перевірки кінця рядка",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка перевіряє, чи заданий рядок закінчується конкретними символами."
        ]
      },
      "review-javascript-functions": {
        "title": "Повторення функцій в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Функції в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати функції, стрілкові функції та область видимості."
        ]
      },
      "quiz-javascript-functions": {
        "title": "Тест «Функції в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Функції в JavaScript»."
        ]
      }
    }
  },
  "introduction-to-arrays-in-javascript": {
    "title": "Вступ до масивів в JavaScript",
    "summary": ["Вивчіть основне про масиви в JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з масивами в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-arrays": {
        "title": "Робота з масивами",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з масивами в JavaScript. Ви дізнаєтесь про масиви, різницю між одновимірними та багатовимірними масивами, як отримати доступ до елементів масиву та оновити їх, а також багато іншого."
        ]
      },
      "workshop-shopping-list": {
        "title": "Створіть список покупок",
        "intro": [
          "У цьому практичному занятті ви попрактикуєтесь працювати з масивами, створивши список покупок.",
          "Ви пригадаєте, як додавати й видаляти елементи з масиву за допомогою різних методів, серед яких <code>push</code>, <code>pop</code>, <code>shift</code> та <code>unshift</code>."
        ]
      },
      "lab-lunch-picker-program": {
        "title": "Створіть програму для вибору перекусу",
        "intro": [
          "У цій лабораторній роботі ви пригадаєте, як працювати з масивами й випадковими числами, створивши програму для вибору перекусу."
        ]
      },
      "lab-golf-score-translator": {
        "title": "Створіть конвертер очок в гольфі",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати методи масиву, щоб перетворити очки в гольфі у їхні назви."
        ]
      },
      "lecture-working-with-common-array-methods": {
        "title": "Поширені методи роботи з масивами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про масиви та їхні методи для виконання складніших операцій: як отримати позицію елемента, як перевірити наявність певного елемента, як скопіювати масив та багато іншого."
        ]
      },
      "review-javascript-arrays": {
        "title": "Повторення масивів у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Масиви в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати деструктуризацію масивів, додавання і вилучення елементів з масиву та багато іншого."
        ]
      },
      "quiz-javascript-arrays": {
        "title": "Тест «Масиви в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Масиви в JavaScript»."
        ]
      }
    }
  },
  "introduction-to-objects-in-javascript": {
    "title": "Вступ до об’єктів у JavaScript",
    "summary": ["Вивчіть основне про об’єкти в JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з об’єктами в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-introduction-to-javascript-objects-and-their-properties": {
        "title": "Вступ до об’єктів та їхніх властивостей",
        "intro": [
          "У цих лекціях ви ознайомитесь з об’єктами в JavaScript: як їх створювати і як отримати доступ до властивостей, а також дізнаєтесь ключові відмінності між примітивними та непримітивними типами даних."
        ]
      },
      "lecture-working-with-json": {
        "title": "Робота з JSON",
        "intro": [
          "У цих лекціях ви дізнаєтесь про JSON (JavaScript Object Notation), зокрема: як отримати доступ до даних JSON, а також як використовувати методи <code>JSON.parse()</code> та <code>JSON.stringify()</code>."
        ]
      },
      "lecture-working-with-optional-chaining-and-object-destructuring": {
        "title": "Робота з необов’язковим ланцюжком та деструктуризацією об’єкта",
        "intro": [
          "У цих лекціях ви дізнаєтесь про передові техніки маніпулювання об’єктами в JavaScript, зокрема про необов’язковий ланцюжок та деструктуризацію об’єкта."
        ]
      },
      "workshop-recipe-tracker": {
        "title": "Створіть трекер рецептів",
        "intro": [
          "У цьому практичному занятті ви пригадаєте, як працювати з об’єктами в JavaScript, створивши трекер рецептів."
        ]
      },
      "lab-quiz-game": {
        "title": "Створіть ігрову вікторину",
        "intro": [
          "У цій лабораторній роботі ви створите ігрову вікторину, використовуючи масиви та об’єкти в JavaScript.",
          "Ви будете використовувати функції для випадкового вибору запитання й відповіді з масиву та порівнюватимете їх."
        ]
      },
      "lab-record-collection": {
        "title": "Створіть колекцію платівок",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка керує колекцією платівок."
        ]
      },
      "review-javascript-objects": {
        "title": "Повторення об’єктів у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Об’єкти в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як отримувати інформацію з об’єктів, деструктуризацію об’єктів, роботу з JSON та багато іншого."
        ]
      },
      "quiz-javascript-objects": {
        "title": "Тест «Об’єкти в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Об’єкти в JavaScript»."
        ]
      }
    }
  },
  "introduction-to-loops-in-javascript": {
    "title": "Вступ до циклів у JavaScript",
    "summary": ["Вивчіть основне про цикли в JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з циклами в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-loops": {
        "title": "Робота з циклами",
        "intro": [
          "Цикли — це важлива частина JavaScript. Тому наступні лекції підготовлено для того, щоб ви дізналися про різні типи циклів, як вони працюють, а також про те, як працює ітерація."
        ]
      },
      "workshop-sentence-analyzer": {
        "title": "Створіть аналізатор речень",
        "intro": [
          "У цьому практичному занятті ви пригадаєте, як працювати з циклами в JavaScript, створивши аналізатор речень."
        ]
      },
      "lab-longest-word-in-a-string": {
        "title": "Створіть пошук найдовшого слова",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати цикли, щоб знайти довжину найдовшого слова в заданому реченні."
        ]
      },
      "lab-factorial-calculator": {
        "title": "Створіть калькулятор факторіалів ",
        "intro": [
          "У цій лабораторній роботі ви створите калькулятор факторіалів.",
          "Ви будете використовувати цикли та умови для обчислення факторіала числа."
        ]
      },
      "lab-mutations": {
        "title": "Імплементуйте алгоритм мутацій",
        "intro": [
          "У цій лабораторній роботі ви навчитесь ітерувати над двома різними рядками і порівнювати їхні символи."
        ]
      },
      "lab-chunky-monkey": {
        "title": "Імплементуйте алгоритм мавпочки Чанкі",
        "intro": [
          "У цій лабораторній роботі ви навчитесь ділити масив на менші частини, використовуючи метод на власний вибір."
        ]
      },
      "lab-profile-lookup": {
        "title": "Створіть перегляд профілю",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка шукатиме інформацію."
        ]
      },
      "lab-repeat-a-string": {
        "title": "Створіть функцію для повтору рядка",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте масиви, щоб повторити рядок задану кількість разів."
        ]
      },
      "lab-missing-letter-detector": {
        "title": "Створіть детектор літери, якої не хватає",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка знаходить пропущену літеру в заданому діапазоні послідовних літер і поверне її."
        ]
      },
      "review-javascript-loops": {
        "title": "Повторення циклів у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Цикли в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати цикл <code>for...of</code>, цикл <code>while</code>, інструкції <code>break and continue</code> та багато іншого."
        ]
      },
      "quiz-javascript-loops": {
        "title": "Тест «Цикли в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Цикли в JavaScript»."
        ]
      }
    }
  },
  "javascript-fundamentals-review": {
    "title": "Повторення основ JavaScript",
    "summary": ["Пригадайте основні поняття з теми «JavaScript»."],
    "intro": [
      "У цьому інтерактивному курсі ви ознайомитесь з основними поняттями в JavaScript (включно з циклами, об’єктами, масивами тощо)."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-types-and-objects": {
        "title": "Робота з типами та об’єктами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про рядкові об’єкти, метод <code>toString()</code>, конструктор <code>Number</code> і багато іншого."
        ]
      },
      "lecture-working-with-arrays-variables-and-naming-practices": {
        "title": "Робота з масивами, змінними та іменуваннями",
        "intro": [
          "У цих лекціях ви дізнаєтесь про поширені практики для найменування змінних і функцій, а також як працювати з масивами."
        ]
      },
      "lecture-working-with-code-quality-and-execution-concepts": {
        "title": "Робота з якістю коду та його виконанням",
        "intro": [
          "У цих лекціях ви дізнаєтесь про лінтери, форматери, керування пам’яттю та припинення."
        ]
      },
      "lab-reverse-a-string": {
        "title": "Змініть порядок символів рядка",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка обертає заданий рядок."
        ]
      },
      "lab-largest-number-finder": {
        "title": "Створіть пошук найбільшого числа",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка знаходить найбільше число в кожному підмасиві заданого масиву."
        ]
      },
      "lab-first-element-finder": {
        "title": "Створіть пошук першого елемента",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка переглядає масив і повертає перший елемент, який проходить тест на «істинність»."
        ]
      },
      "lab-slice-and-splice": {
        "title": "Імплементуйте алгоритм розрізання і з’єднання",
        "intro": ["У цій лабораторній роботі ви навчитесь з’єднувати масиви."]
      },
      "lab-pyramid-generator": {
        "title": "Створіть генератор пірамід",
        "intro": [
          "У цій лабораторній роботі ви створите генератор пірамід.",
          "Ви будете приймати число як вхідні дані та, використовуючи цикл, згенеруєте піраміду з такою кількістю рівнів."
        ]
      },
      "lab-gradebook-app": {
        "title": "Створіть відомість з оцінками",
        "intro": [
          "У цій лабораторній роботі ви створите електронну відомість з оцінками.",
          "Ви будете використовувати умови, щоб визначити підсумкову оцінку студента на основі його балів."
        ]
      },
      "lecture-the-var-keyword-and-hoisting": {
        "title": "Ключове слово var та підняття",
        "intro": [
          "У цих лекціях ви дізнаєтесь про ключове слово <code>var</code> та чому його більше не рекомендують використовувати. Ви також ознайомитеся з підйомом в JavaScript, щоб уникати неочевидних помилок у коді."
        ]
      },
      "lab-title-case-converter": {
        "title": "Створіть змінювач регістру",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка змінює регістр рядка."
        ]
      },
      "lab-falsy-remover": {
        "title": "Створіть викривача брехні",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка видаляє всі хибні значення з масиву."
        ]
      },
      "lab-inventory-management-program": {
        "title": "Створіть програму керування запасами",
        "intro": [
          "У цій лабораторній роботі ви створите програму керування запасами за допомогою JavaScript.",
          "Ви будете використовувати масив об’єктів JavaScript для керування запасами."
        ]
      },
      "lecture-understanding-modules-imports-and-exports": {
        "title": "Знайомство з модулями, імпортом та експортом",
        "intro": [
          "У цій лекції ви дізнаєтесь про модулі, імпорти та експорти в JavaScript."
        ]
      },
      "lecture-working-with-the-arguments-object-and-rest-parameters": {
        "title": "Робота з об’єктом arguments та параметрами rest",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з об’єктом <code>arguments</code> та синтаксисом залишкових параметрів."
        ]
      },
      "lab-unique-sorted-union": {
        "title": "Створіть унікально відсортований масив",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка приймає два або більше масивів та повертає новий масив унікальних значень у порядку наданих масивів."
        ]
      },
      "lab-password-generator": {
        "title": "Створіть генератор паролів",
        "intro": [
          "У цій лабораторній роботі ви створите застосунок для генерації паролів на основі вхідних даних користувача."
        ]
      },
      "lab-sum-all-numbers-algorithm": {
        "title": "Імплементуйте алгоритм суми всіх чисел",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм суми всіх чисел. Цей алгоритм приймає два числа і повертає їхню суму, до якої також додається сума всіх чисел між ними."
        ]
      },
      "lab-dna-pair-generator": {
        "title": "Створіть генератор ДНК",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм, що перетворює ланцюг в молекулу ДНК."
        ]
      },
      "lab-html-entitiy-converter": {
        "title": "Створіть конвертер HTML-сутностей",
        "intro": [
          "У цій лабораторній роботі ви перетворите спеціальні символи в рядку відповідно до HTML-сутностей."
        ]
      },
      "lab-odd-fibonacci-sum-calculator": {
        "title": "Створіть калькулятор непарних чисел Фібоначчі",
        "intro": [
          "У цій лабораторній роботі ви створите калькулятор непарних чисел Фібоначчі, який приймає число і повертає суму всіх непарних чисел Фібоначчі, які менші або дорівнюють заданому числу."
        ]
      },
      "lab-element-skipper": {
        "title": "Імплементуйте пропуск елементів",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка пропускає елементи в масиві на основі вказаного значення."
        ]
      },
      "review-javascript-fundamentals": {
        "title": "Повторення основ JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Основи JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати замикання, управління пам’яттю та багато іншого."
        ]
      },
      "quiz-javascript-fundamentals": {
        "title": "Тест «Основи JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Основи JavaScript»."
        ]
      }
    }
  },
  "introduction-to-higher-order-functions-and-callbacks-in-javascript": {
    "title": "Вступ до функцій вищого порядку і зворотного виклику в JavaScript",
    "summary": [
      "Вивчіть основне про функції вищого порядку і зворотного виклику в JavaScript."
    ],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з функціями вищого порядку і зворотного виклику в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-higher-order-functions-and-callbacks": {
        "title": "Робота з функціями вищого порядку та зворотного виклику",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з функціями вищого порядку та функціями зворотного виклику. До функцій вищого порядку, які ви вивчите, належать <code>map()</code>, <code>filter()</code>, <code>reduce()</code>, <code>sort()</code>, <code>every()</code> та <code>some()</code>. Ви також навчитеся зв’язувати ці методи у послідовність для отримання бажаних результатів."
        ]
      },
      "workshop-library-manager": {
        "title": "Створіть менеджера бібліотеки",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь про методи роботи з масивами вищого порядку, створивши менеджера бібліотеки."
        ]
      },
      "lab-book-organizer": {
        "title": "Створіть органайзер для книжок",
        "intro": [
          "У цій лабораторній роботі ви створите органайзер для книжок, використовуючи функції вищого порядку в JavaScript."
        ]
      },
      "lab-sorted-index-finder": {
        "title": "Імплементуйте пошук відсортованого індексу",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка знаходить індекс, за яким потрібно вставити число до відсортованого масиву, при цьому зберігши його порядок."
        ]
      },
      "lab-symmetric-difference": {
        "title": "Створіть функцію симетричної різниці",
        "intro": [
          "У цій лабораторній роботі ви будете користуватись функціями вищого порядку, щоб знайти симетричну різницю двох масивів."
        ]
      },
      "lab-value-remover-function": {
        "title": "Створіть функцію для видалення значення",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка видаляє всі екземпляри вказаного значення з масиву."
        ]
      },
      "lab-matching-object-filter": {
        "title": "Створіть фільтр для відповідності об’єктів",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка переглядає масив об’єктів і повертає масив всіх об’єктів з відповідними парами властивість-значення."
        ]
      },
      "lab-prime-number-sum-calculator": {
        "title": "Створіть калькулятор суми простих чисел",
        "intro": [
          "У цій лабораторній роботі ви створите калькулятор простих чисел, який приймає число і повертає суму всіх чисел, які менші або дорівнюють заданому числу."
        ]
      },
      "lab-range-based-lcm-calculator": {
        "title": "Створіть калькулятор НСК",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка приймає масив з двома числами, а потім повертає найменше спільне кратне (НСК) і всі числа між ними."
        ]
      },
      "lab-deep-flattening-tool": {
        "title": "Створіть інструмент для сплощування",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка може сплощувати глибоко вкладені масиви, справляючись без вбудованих методів."
        ]
      },
      "lab-all-true-property-validator": {
        "title": "Створіть валідатор правдивих значень",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка перевіряє, чи всі об’єкти в масиві мають дійсне значення конкретної властивості."
        ]
      },
      "review-javascript-higher-order-functions": {
        "title": "Повторення функцій вищого порядку в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Функції вищого порядку в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з методами <code>map()</code>, <code>filter()</code> та <code>reduce()</code>."
        ]
      },
      "quiz-javascript-higher-order-functions": {
        "title": "Тест «Функції вищого порядку в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Функції вищого порядку в JavaScript»."
        ]
      }
    }
  },
  "learn-dom-manipulation-and-events-with-javascript": {
    "title": "Дізнайтесь про маніпуляцію DOM та події з JavaScript",
    "summary": [
      "Дізнайтесь, як маніпулювати DOM та працювати з подіями в JavaScript."
    ],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь маніпулювати DOM та працювати з подіями в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-the-dom-click-events-and-web-apis": {
        "title": "Робота з DOM, подіями click та web API",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з об’єктною моделлю документа (DOM), методом <code>addEventListener()</code>, різними подіями і веб-API."
        ]
      },
      "workshop-storytelling-app": {
        "title": "Створіть застосунок з оповіданнями",
        "intro": [
          "У цьому практичному занятті ви створите застосунок з оповіданнями, що дозволить відтворювати їхній список за жанром."
        ]
      },
      "workshop-emoji-reactor": {
        "title": "Створіть реакції з емоджі",
        "intro": [
          "У цьому практичному занятті ви створите реакції з емоджі, щоб застосувати <code>querySelector</code> та <code>querySelectorAll</code> на практиці."
        ]
      },
      "lab-favorite-icon-toggler": {
        "title": "Створіть перемикач іконки вподобання",
        "intro": [
          "У цій лабораторній роботі ви створите перемикач іконки вподобання, використовуючи подію click в JavaScript."
        ]
      },
      "lecture-understanding-the-event-object-and-event-delegation": {
        "title": "Знайомство з подіями та їх делегуванням",
        "intro": [
          "У цих лекціях ви дізнаєтесь про об’єкт <code>event</code>, подію <code>change</code>, бульбашковий механізм та делегування подій."
        ]
      },
      "workshop-music-instrument-filter": {
        "title": "Створіть фільтр з музичними інструментами",
        "intro": [
          "У цьому практичному занятті ви створите фільтр з музичними інструментами за допомогою JavaScript."
        ]
      },
      "lab-real-time-counter": {
        "title": "Створіть лічильник символів",
        "intro": [
          "У цій лабораторній роботі ви створите лічильник символів у реальному часі.",
          "Ви будете працювати з подією <code>input</code>, де користувач вводить текст у поле введення даних."
        ]
      },
      "lab-lightbox-viewer": {
        "title": "Створіть переглядач Lightbox",
        "intro": [
          "У цій лабораторній роботі ви створите переглядач lightbox для перегляду зображень у сфокусованому режимі.",
          "Ви будете практикуватись працювати з подіями натискання та перемиканням класів."
        ]
      },
      "workshop-rps-game": {
        "title": "Створіть гру «Камінь-ножиці-папір»",
        "intro": [
          "У цьому практичному занятті ви пригадаєте маніпуляцію та події DOM, створивши гру «Камінь-ножиці-папір»."
        ]
      },
      "lab-football-team-cards": {
        "title": "Створіть набір карток футбольних команд",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати маніпуляцію DOM, деструктуризацію об’єктів, обробку подій та фільтрацію даних, щоб створити набір карток футбольних команд."
        ]
      },
      "review-dom-manipulation-and-click-events-with-javascript": {
        "title": "Повторення маніпуляції DOM та подій Click в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Маніпуляція DOM та події Click в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з <code>DOM</code>, <code>Web API</code>, методом <code>addEventListener()</code>, зміною подій та багато іншого."
        ]
      },
      "quiz-dom-manipulation-and-click-event-with-javascript": {
        "title": "Тест «Маніпуляція DOM та події Click в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Маніпуляція DOM та події Click в JavaScript»."
        ]
      }
    }
  },
  "introduction-to-javascript-and-accessibility": {
    "title": "Вступ до JavaScript та доступності",
    "summary": [
      "Дізнайтесь, як використовувати JavaScript для покращення вебдоступності."
    ],
    "intro": [
      "У цьому інтерактивному курсі ви дізнаєтесь, як використовувати JavaScript для покращення доступності."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": {
        "title": "Знайомство з aria-expanded, aria-live та поширеними станами ARIA",
        "intro": [
          "У цих лекціях ви дізнаєтесь більше про ARIA-атрибути (серед яких <code>aria-expanded</code> та <code>aria-live</code>), а також про поширені ARIA-стани."
        ]
      },
      "workshop-planets-tablist": {
        "title": "Створіть перелік планет",
        "intro": [
          "У цьому практичному занятті ви створите динамічну вкладку з фактами про планети Сонячної системи."
        ]
      },
      "workshop-note-taking-app": {
        "title": "Створіть застосунок для нотаток",
        "intro": [
          "У цьому практичному занятті ви створите доступний застосунок для нотаток.",
          "У вас буде можливість застосувати атрибут <code>aria-live</code> на практиці."
        ]
      },
      "lab-theme-switcher": {
        "title": "Створіть перемикач тем",
        "intro": [
          "У цій лабораторній роботі ви створите перемикач тем, а також попрацюєте з атрибутами <code>aria-haspopup</code>, <code>aria-expanded</code> та <code>aria-controls</code>."
        ]
      },
      "review-js-a11y": {
        "title": "Повторення JavaScript та доступності",
        "intro": [
          "Перш ніж перейти до тесту «JavaScript та доступність», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з атрибутами <code>aria-expanded</code>, <code>aria-live</code> та <code>aria-controls</code>."
        ]
      },
      "quiz-js-a11y": {
        "title": "Тест «JavaScript та доступність»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «JavaScript та доступність»."
        ]
      }
    }
  },
  "learn-javascript-debugging": {
    "title": "Дізнайтесь про налагодження JavaScript",
    "summary": ["Дізнайтесь, як ефективно налагоджувати JavaScript-код."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь налагоджувати JavaScript-код."
    ],
    "note": "",
    "blocks": {
      "lecture-debugging-techniques": {
        "title": "Техніки налагодження",
        "intro": [
          "У цих лекціях ви дізнаєтесь про поширені помилки в JavaScript та техніки, за допомогою яких їх можна виправити — процес, який називається «налагодженням»."
        ]
      },
      "lab-random-background-color-changer": {
        "title": "Налагодьте перемикач кольору фону",
        "intro": [
          "У цій лабораторній роботі ви налагодите перемикач кольору фону та виправите помилки, щоб він працював правильно."
        ]
      },
      "review-debugging-javascript": {
        "title": "Повторення налагодження JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Налагодження JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з інструкцією <code>throw</code>, <code>try...catch...finally</code> та багато іншого."
        ]
      },
      "quiz-debugging-javascript": {
        "title": "Тест «Налагодження JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Налагодження JavaScript»."
        ]
      }
    }
  },
  "learn-basic-regex-with-javascript": {
    "title": "Дізнайтесь про регулярні вирази з JavaScript",
    "summary": ["Вивчіть основне про регулярні вирази в JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви ознайомитесь з регулярними виразами і навчитесь користуватись ними в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-regular-expressions": {
        "title": "Робота з регулярними виразами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про регулярні вирази в JavaScript. Ви дізнаєтесь про методи роботи з регулярними виразами, модифікатори, класи символів, перевірки вперед і назад, зворотні посилання, квантори та багато іншого."
        ]
      },
      "workshop-spam-filter": {
        "title": "Створіть спам-фільтр",
        "intro": [
          "Регулярні вирази (відомі як «regex» або «regexp») — це шаблони, які допомагають програмістам поєднувати, шукати та замінювати текст. Регулярні вирази надзвичайно потужні, але їх важко зрозуміти, оскільки у них використовуються спеціальні символи.",
          "У цьому практичному занятті ви будете використовувати групи захоплення, позитивні та негативні перевірки, а також інші техніки, щоб текст відповідав бажаному."
        ]
      },
      "lab-palindrome-checker": {
        "title": "Створіть перевірку паліндрома",
        "intro": [
          "У цій лабораторній роботі ви створите застосунок, який перевіряє, чи слово є паліндромом."
        ]
      },
      "lab-regex-sandbox": {
        "title": "Створіть пісочницю для регулярних виразів",
        "intro": [
          "У цій лабораторній роботі ви створите пісочницю для регулярних виразів."
        ]
      },
      "lab-spinal-case-converter": {
        "title": "Імплементуйте шашличний регістр",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка змінює регістр заданого рядка на шашличний (всі слова починаються з малої літери і розділені дефісами)."
        ]
      },
      "lab-pig-latin": {
        "title": "Імплементуйте перекладач зі свинячої латини",
        "intro": [
          "У цій лабораторній роботі ви створите перекладача зі свинячої латини.",
          "Ви будете працювати з маніпулюванням рядків, умовною логікою та регулярними виразами."
        ]
      },
      "lab-smart-word-replacement": {
        "title": "Створіть функцію для розумної заміни слів",
        "intro": [
          "У цій лабораторній роботі ви застосуєте регулярні вирази для створення функції, яка виконує пошук і замінює слова в заданому рядку."
        ]
      },
      "lab-markdown-to-html-converter": {
        "title": "Створіть конвертер з markdown у HTML",
        "intro": [
          "У цій лабораторній роботі ви створите конвертер з markdown у HTML за допомогою JavaScript.",
          "Ви будете працювати з регулярними виразами, маніпулювати рядками та багато іншого."
        ]
      },
      "review-javascript-regular-expressions": {
        "title": "Повторення регулярних виразів у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Регулярні вирази в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати перевірки уперед і назад, загальні модифікатори регулярних виразів та багато іншого."
        ]
      },
      "quiz-javascript-regular-expressions": {
        "title": "Тест «Регулярні вирази в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Регулярні вирази в JavaScript»."
        ]
      }
    }
  },
  "introduction-to-dates-in-javascript": {
    "title": "Вступ до дат у JavaScript",
    "summary": ["Дізнайтесь, як працювати з датами в JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з датами в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-dates": {
        "title": "Робота з датами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про об’єкт <code>date</code> в JavaScript. Ви ознайомитесь з різними методами, щоб працювати з датами та форматувати їх."
        ]
      },
      "lab-date-conversion": {
        "title": "Створіть програму для перетворення дати",
        "intro": [
          "У цій лабораторній роботі ви створите програму, яка перетворюватиме дату з одного формату в інший."
        ]
      },
      "review-javascript-dates": {
        "title": "Повторення дат у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Дати в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати об’єкт <code>Date()</code> та поширені методи."
        ]
      },
      "quiz-javascript-dates": {
        "title": "Тест «Дати в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Дати в JavaScript»."
        ]
      }
    }
  },
  "learn-audio-and-video-events-with-javascript": {
    "title": "Дізнайтесь про аудіо- та відеоподії з JavaScript",
    "summary": [
      "Дізнайтесь, як працювати з аудіо- та відеоподіями в JavaScript."
    ],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з аудіо- та відеоподіями в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-audio-and-video": {
        "title": "Робота з аудіо та відео",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з аудіо- та відеофайлами за допомогою JavaScript. Ви дізнаєтесь про конструктори <code>Audio</code> і <code>Video</code>, їхні методи і властивості, аудіо- і відеоформати, кодеки, <code>HTMLMediaElement</code> API та багато іншого."
        ]
      },
      "workshop-music-player": {
        "title": "Створіть MP3-плеєр",
        "intro": [
          "У цьому практичному занятті ви створите звичайний MP3-плеєр за допомогою HTML, CSS та JavaScript.",
          "Цей проєкт охоплює ключові поняття, серед яких обробка аудіо, управління плейлистом, реалізація функцій програвання, паузи, наступної пісні та перемішування, а також динамічне оновлення інтерфейсу користувача на основі поточної пісні."
        ]
      },
      "lab-drum-machine": {
        "title": "Створіть драм-машину",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати елемент <code>audio</code>, щоб створити драм-машину."
        ]
      },
      "review-javascript-audio-and-video": {
        "title": "Повторення аудіо та відео в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Аудіо та відео в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати конструктор <code>Audio</code>, <code>HTMLMediaElement</code> API та багато іншого."
        ]
      },
      "quiz-javascript-audio-and-video": {
        "title": "Тест «Аудіо та відео в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Аудіо та відео в JavaScript»."
        ]
      }
    }
  },
  "introduction-to-maps-and-sets-in-javascript": {
    "title": "Вступ до map і set в JavaScript",
    "summary": ["Вивчіть основне про об’єкти map та set в JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь працювати з об’єктами map і set в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-maps-and-sets": {
        "title": "Робота з map та set",
        "intro": [
          "У цих лекціях ви дізнаєтесь про <code>Map</code> та <code>Set</code> в JavaScript. Ви також дізнаєтесь, як вони відрізняються від <code>WeakSets</code> та <code>WeakMaps</code>."
        ]
      },
      "workshop-plant-nursery-catalog": {
        "title": "Створіть каталог рослин",
        "intro": [
          "У цьому практичному занятті ви попрактикуєте map та set, створивши каталог рослин."
        ]
      },
      "lab-voting-system": {
        "title": "Створіть систему для голосування",
        "intro": [
          "У цій лабораторній роботі ви створите систему для голосування, використовуючи map та set.",
          "Ви будете використовувати об’єкт <code>Map</code> для зберігання пар ключ-значення та об’єкт <code>Set</code> для зберігання унікальних значень."
        ]
      },
      "review-javascript-maps-and-sets": {
        "title": "Повторення map та set в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Map та set в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати об’єкти <code>Map</code> та <code>Set</code>, а також WeakSet й WeakMap."
        ]
      },
      "quiz-javascript-maps-and-sets": {
        "title": "Тест «Map та set в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Map та set в JavaScript»."
        ]
      }
    }
  },
  "learn-localstorage-and-crud-operations-with-javascript": {
    "title": "Дізнайтесь про localStorage та CRUD-операції з JavaScript",
    "summary": [
      "Дізнайтесь, як використовувати localStorage та виконувати CRUD-операції в JavaScript."
    ],
    "intro": [
      "У цьому інтерактивному курсі ви навчитесь користуватись localStorage та виконувати CRUD-операції в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-working-with-client-side-storage-and-crud-operations": {
        "title": "Робота зі сховищем на клієнтській стороні та операціями CRUD",
        "intro": [
          "У цих лекціях ви дізнаєтесь про сховище пам’яті на стороні клієнта та CRUD-операції в JavaScript. Ви дізнаєтесь про <code>localStorage</code> та <code>sessionStorage</code> разом з їхніми методами та властивостями, файли cookie, Cache API, IndexedDB та багато іншого."
        ]
      },
      "workshop-todo-app": {
        "title": "Створіть застосунок зі справами за допомогою локального сховища",
        "intro": [
          "Локальне сховище — це функція вебпереглядача, яка дозволяє вебзастосункам зберігати пари ключ-значення в браузері користувача. Воно також дозволяє зберігати дані протягом одного сеансу та використовувати їх в наступному.",
          "У цьому практичному занятті ви навчитеся обробляти вхідні дані, управляти локальним сховищем, виконувати операції CRUD (створення, читання, оновлення, видалення), реалізовувати слухачів подій та перемикати елементи інтерфейсу користувача."
        ]
      },
      "lab-bookmark-manager-app": {
        "title": "Створіть менеджера закладок",
        "intro": [
          "У цій лабораторній роботі ви створите менеджера закладок.",
          "Ви будете використовувати локальне сховище, щоб зберігати закладки, а також попрактикуєте їх додавання, видалення і відтворення."
        ]
      },
      "review-local-storage-and-crud": {
        "title": "Повторення локального сховища та CRUD",
        "intro": [
          "Перш ніж перейти до тесту «Локальне сховище та CRUD», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати властивості <code>localStorage</code>, <code>sessionStorage</code> та багато іншого."
        ]
      },
      "quiz-local-storage-and-crud": {
        "title": "Тест «Локальне сховище та CRUD»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Локальне сховище та CRUD»."
        ]
      }
    }
  },
  "introduction-to-javascript-classes": {
    "title": "Вступ до класів у JavaScript",
    "summary": ["Дізнайтесь, як працювати з класами в JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви дізнаєтесь про класи в JavaScript і навчитесь користуватись ними."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-how-to-work-with-classes-in-javascript": {
        "title": "Знайомство з класами в JavaScript",
        "intro": [
          "У цих лекціях ви дізнаєтесь про класи в JavaScript. Ви ознайомитеся з успадкуванням, ключовим словом <code>this</code>, статичними властивостями й методами та багато іншим."
        ]
      },
      "workshop-shopping-cart": {
        "title": "Створіть кошик для покупок",
        "intro": [
          "У цьому практичному занятті ви створите кошик для покупок, використовуючи класи JavaScript.",
          "Ви ознайомитесь з ключовим словом this, створите екземпляри класу, імплементуєте методи для маніпуляції даними та багато іншого."
        ]
      },
      "lab-project-idea-board": {
        "title": "Створіть дошку ідей",
        "intro": [
          "У цій лабораторній роботі ви створите дошку ідей за допомогою ООП в JavaScript.",
          "Ви будете створювати класи, додавати методи до класів та створювати екземпляри класів."
        ]
      },
      "lab-bank-account-manager": {
        "title": "Створіть програму для управління банківським рахунком",
        "intro": [
          "У цій лабораторній роботі ви створите просту систему управління транзакціями банківського рахунку."
        ]
      },
      "review-javascript-classes": {
        "title": "Повторення класів у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Класи в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати ключове слово <code>this</code>, наслідування класу та багато іншого."
        ]
      },
      "quiz-javascript-classes": {
        "title": "Тест «Класи в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Класи в JavaScript»."
        ]
      }
    }
  },
  "learn-recursion-with-javascript": {
    "title": "Дізнайтесь про рекурсію з JavaScript",
    "summary": [
      "Дізнайтесь про рекурсію і як її використовувати в JavaScript."
    ],
    "intro": [
      "У цьому інтерактивному курсі ви дізнаєтесь про рекурсію в JavaScript і навчитесь користуватись нею для розв’язання проблем."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-recursion-and-the-call-stack": {
        "title": "Знайомство з рекурсією та стеком викликів",
        "intro": ["У цій лекції ви дізнаєтесь про рекурсію та стек викликів."]
      },
      "workshop-countup": {
        "title": "Створіть лічильник",
        "intro": [
          "У цьому практичному занятті ви створите функцію, яка повертає масив чисел від 1 до заданого числа."
        ]
      },
      "lab-countdown": {
        "title": "Створіть відлік",
        "intro": [
          "У цьому практичному занятті ви створите функцію, яка повертає масив чисел від заданого числа до 1."
        ]
      },
      "lab-range-of-numbers": {
        "title": "Створіть генератор діапазону чисел",
        "intro": [
          "У цій лабораторній роботі ви використаєте рекурсію, щоб згенерувати масив чисел у заданому діапазоні.",
          "Ви попрактикуєтесь із рекурсивними викликами функцій, базовими випадками та побудовою масивів через рекурсію."
        ]
      },
      "workshop-decimal-to-binary-converter": {
        "title": "Створіть конвертер десяткових чисел в бінарні",
        "intro": [
          "Рекурсія — це таке поняття в програмуванні, коли функція викликає сама себе. Це може перетворити складне завдання на декілька менших простіших завдань, допоки вони не стануть зрозумілими.",
          "У цьому практичному занятті ви побудуєте конвертер десяткових чисел в бінарні за допомогою JavaScript. Ви будете використовувати основи рекурсії, дослідите стек викликів та створите візуальне представлення процесу рекурсії через анімацію."
        ]
      },
      "lab-permutation-generator": {
        "title": "Створіть генератор перестановок",
        "intro": [
          "У цій лабораторній роботі ви створите генератор, який видаватиме всі можливі перестановки заданого рядка."
        ]
      },
      "review-recursion": {
        "title": "Повторення рекурсії",
        "intro": [
          "Перш ніж перейти до тесту «Рекурсія», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати рекурсію і для чого її використовують."
        ]
      },
      "quiz-recursion": {
        "title": "Тест «Рекурсія»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Рекурсія»."
        ]
      }
    }
  },
  "introduction-to-functional-programming-with-javascript": {
    "title": "Вступ до функціонального програмування з JavaScript",
    "summary": [
      "Вивчіть основне про функціональне програмування на JavaScript."
    ],
    "intro": [
      "У цьому інтерактивному курсі ви дізнаєтесь про поняття і техніки функціонального програмування в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-functional-programming": {
        "title": "Знайомство з функціональним програмуванням",
        "intro": [
          "У цих лекціях ви дізнаєтесь про функціональне програмування і як вкладати функції за допомогою техніки під назвою «каррування»."
        ]
      },
      "workshop-recipe-ingredient-converter": {
        "title": "Створіть конвертер інгредієнтів",
        "intro": [
          "У попередніх лекціях ви дізнались основні поняття функціонального програмування і каррування.",
          "Зараз ви зможете застосувати на практиці все те, що вивчили про каррування та функціональне програмування, створивши застосунок із конвертацією інгредієнтів."
        ]
      },
      "lab-optional-arguments-sum-function": {
        "title": "Створіть функцію для знаходження суми аргументів",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка приймає два аргументи і додає їх; якщо надано лише один аргумент, то вона повертає іншу функцію, яка чекає на другий аргумент."
        ]
      },
      "lab-sorting-visualizer": {
        "title": "Створіть візуалізатор сортування",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати JavaScript, щоб візуалізувати кроки алгоритму сортування бульбашкою, необхідні для впорядкування масиву цілих чисел."
        ]
      },
      "review-javascript-functional-programming": {
        "title": "Повторення функціонального програмування в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Функціональне програмування в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати поняття з функціонального програмування, каррування та багато іншого."
        ]
      },
      "quiz-javascript-functional-programming": {
        "title": "Тест «Функціональне програмування в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Функціональне програмування в JavaScript»."
        ]
      }
    }
  },
  "introduction-to-asynchronous-javascript": {
    "title": "Вступ до асинхронного JavaScript",
    "summary": ["Вивчіть основне про асинхронне програмування на JavaScript."],
    "intro": [
      "У цьому інтерактивному курсі ви дізнаєтесь про поняття і техніки асинхронного програмування в JavaScript."
    ],
    "note": "",
    "blocks": {
      "lecture-understanding-asynchronous-programming": {
        "title": "Знайомство з асинхронним програмуванням",
        "intro": [
          "У цих лекціях ви дізнаєтесь про асинхронне програмування в JavaScript. Ви дізнаєтесь про відмінності між синхронним і асинхронним програмуванням, як працює ключове слово <code>async</code>, <code>Fetch</code> API, проміси, <code>async/await</code>, <code>Geolocation</code> API та багато іншого."
        ]
      },
      "workshop-fcc-authors-page": {
        "title": "Створіть сторінку авторів fCC",
        "intro": [
          "Один із загальних аспектів веброзробки, якого потрібно навчитись — отримувати дані від зовнішнього API, а потім працювати з асинхронним JavaScript.",
          "У цьому практичному занятті ви будете використовувати метод fetch, динамічно оновлювати DOM для відтворення отриманих даних, а також розбивати дані на сторінки, щоб завантажувати результати партіями."
        ]
      },
      "lab-fcc-forum-leaderboard": {
        "title": "Створіть таблицю лідерів на fCC",
        "intro": [
          "У цій лабораторній роботі ви застосуєте асинхронний JavaScript, щоб створити власну таблицю лідерів freeCodeCamp."
        ]
      },
      "lab-weather-app": {
        "title": "Створіть застосунок з прогнозом погоди",
        "intro": [
          "У цій лабораторній роботі ви створите застосунок з прогнозом погоди, використовуючи API.",
          "Ви будете отримувати і зберігати дані з API, а потім відтворювати їх у застосунку."
        ]
      },
      "review-asynchronous-javascript": {
        "title": "Повторення асинхронного JavaScript",
        "intro": [
          "Пригадайте поняття з теми «Асинхронний JavaScript», щоб підготуватись до тесту."
        ]
      },
      "quiz-asynchronous-javascript": {
        "title": "Тест «Асинхронний JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Асинхронний JavaScript»."
        ]
      }
    }
  },
  "information-security": {
    "title": "Інформаційна безпека",
    "intro": [
      "Завдяки всьому, що ми робимо в Інтернеті, величезна кількість конфіденційної інформації знаходиться в зоні ризику: електронні адреси, паролі, номери телефонів тощо.",
      "Завдяки сертифікації «Інформаційна безпека» ви створите безпечний вебзастосунок за допомогою HelmetJS, щоб вивчити основи захисту інформації людей в Інтернеті.",
      "Ви також створите TCP client, а ще Nmap і сканер портів у Python. Це допоможе вам вивчити основи тесту на проникнення — важливого компоненту надійної інформаційної безпеки."
    ],
    "note": "",
    "blocks": {
      "information-security-with-helmetjs": {
        "title": "Інформаційна безпека з HelmetJS",
        "intro": [
          "Цей курс програмування зосереджений на HelmetJS, типі проміжного програмного забезпечення для застосунків на основі Express, яке автоматично встановлює заголовки HTTP. Таким чином, він може запобігти випадковому передаванню конфіденційної інформації між сервером та клієнтом.",
          "Завершення курсів допоможе вам зрозуміти, як захистити свій сайт від зловмисної поведінки."
        ]
      },
      "python-for-penetration-testing": {
        "title": "Python для тесту на проникнення",
        "intro": [
          "Ці відеокурси навчать вас тесту на проникнення за допомогою Python. Також відомий як пен тест (pen test), тест на проникнення — це змодельована атака на систему задля перевірки на вразливі місця.",
          "У цьому курсі ви дізнаєтеся про сокети, створите TCP сервер та клієнт, створите Nmap сканер і інші інструменти та техніки, які пен тестувальники використовують щоденно."
        ]
      },
      "information-security-projects": {
        "title": "Проєкти «Інформаційна безпека»",
        "intro": [
          "Настав час перевірити ваші навички з інформаційної безпеки на практиці. Ці проєкти дадуть вам шанс застосувати всі набуті вміння, вивчені правила та поняття з інформаційної безпеки.",
          "Коли ви закінчите, у вас буде достатньо проєктів з інформаційної безпеки за плечима, разом з сертифікацією, якою ви можете похизуватись перед друзям, сім’єю та роботодавцями."
        ]
      }
    }
  },
  "machine-learning-with-python": {
    "title": "Машинне навчання з Python",
    "intro": [
      "Машинне навчання має багато практичних застосунків, які ви можете використовувати у своїх проєктах чи роботі.",
      "У сертифікації «Машинне навчання з Python» ви використовуватимете фреймворк TensorFlow, аби створити декілька нейронних мереж і вивчити складніші техніки, серед яких обробка природної мови й навчання з підкріпленням.",
      "Також ви зануритеся у нейронні мережі та вивчите правила, за якими працюють глибокі, рекурентні та згорткові нейронні мережі."
    ],
    "note": "",
    "blocks": {
      "tensorflow": {
        "title": "TensorFlow",
        "intro": [
          "Tensorflow — це фреймворк з відкритим вихідним кодом, що полегшує використання машинного навчання та нейронних мереж.",
          "Наступний відеокурс був створений Тімом Рущіцею, також відомим як «Tech With Tim». Він допоможе зрозуміти TensorFlow і деякі з його потужних можливостей."
        ]
      },
      "how-neural-networks-work": {
        "title": "Як працюють нейронні мережі",
        "intro": [
          "Нейронні мережі лежать в основі того, що ми зараз називаємо штучним інтелектом. Але їх, як правило, складно зрозуміти. Особливо початківцям у галузі машинного навчання.",
          "Навіть якщо ви вперше зіштовхуєтеся з нейронними мережами, ці відеокурси Брендона Рорера навчать вас орієнтуватися у їхніх поняттях та підрахунках."
        ]
      },
      "machine-learning-with-python-projects": {
        "title": "Проєкти «Машинне навчання з Python»",
        "intro": [
          "Машинне навчання може бути дуже корисним. Завершивши ці безоплатні складні проєкти з програмування, ви покажете, що маєте базові знання з машинного навчання й отримаєте сертифікацію «Машинне навчання з Python»."
        ]
      }
    }
  },
  "college-algebra-with-python": {
    "title": "Алгебра з Python",
    "intro": [
      "Цей курс розроблений як односеместровий курс коледжу. Він складається з навчальних відео та блокнотів Google Colaboratory, за якими потрібно слідкувати протягом інтерактивів, завдань та проєктів.",
      "Під час проходження кожної частини курсу ви повністю зрозумієте алгебру та навчитесь писати код Python, який розв’язуватиме приклади.",
      "Протягом курсу ви також побудуєте блокнот Algebra Colab, який зможете використовувати як власний калькулятор. Цей курс (та код, який ви напишете) надасть вам основу, щоб краще зрозуміти математику та науку про дані."
    ],
    "note": "",
    "blocks": {
      "learn-ratios-and-proportions": {
        "title": "Вивчіть співвідношення та пропорції",
        "intro": [
          "Тут починається ваша подорож. Ви дізнаєтесь, як налаштувати Colab Notebook, який може запускати код Python. Потім ви використовуватимете блокнот, щоб за допомогою відео вивчити співвідношення та пропорції з Python."
        ]
      },
      "learn-how-to-solve-for-x": {
        "title": "Вивчіть, як знайти Х",
        "intro": [
          "Ця тема фокусуватиметься на знаходженні невідомого числа (часто називається «х»), використовуючи алгебраїчні вирази та код Python."
        ]
      },
      "learn-fractions-and-decimals": {
        "title": "Вивчіть дроби та десяткові числа",
        "intro": [
          "Ця тема зосереджуватиметься на перетворенні десяткових чисел у дроби та відсотки."
        ]
      },
      "learn-functions-and-graphing": {
        "title": "Вивчіть функції та графіки",
        "intro": ["Ця тема навчить вас математичних функцій."]
      },
      "learn-linear-functions": {
        "title": "Вивчіть лінійні функції",
        "intro": [
          "Ця тема покаже, як знайти рівняння прямої, що проходить через дві задані точки."
        ]
      },
      "learn-common-factors-and-square-roots": {
        "title": "Вивчіть спільні множники та квадратні корені",
        "intro": [
          "У цій темі ви навчитесь знаходити спільні множники та скорочувати їх. Це буде корисно при спрощенні дробів та розкладанні квадратних коренів."
        ]
      },
      "build-a-multi-function-calculator-project": {
        "title": "Багатофункціональний калькулятор",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви побудуєте багатофункціональний калькулятор."
        ]
      },
      "learn-how-to-graph-systems-of-equations": {
        "title": "Вивчіть, як побудувати графік системи рівнянь",
        "intro": [
          "Ця тема фокусуватиметься на побудові графіку з двома рівняннями на одній координатній площині, де можна побачити перетин ліній."
        ]
      },
      "learn-how-to-solve-systems-of-equations": {
        "title": "Вивчіть, як розв’язувати системи рівнянь",
        "intro": [
          "У цій темі ви навчитесь розв’язувати систему з двох рівнянь (з двома змінними) без графіка. Ви побачите, як можна розкласти рівняння та розв’язати задану змінну в Python. Після цього ви зможете розв’язувати та будувати графік системи за допомогою одного блоку коду."
        ]
      },
      "learn-applications-of-linear-systems": {
        "title": "Дізнайтесь про прикладне застосування лінійних систем",
        "intro": [
          "У цій темі ви побачите, як можна використовувати вивчену алгебру для розв’язку завдань, пов’язаних з реальним світом."
        ]
      },
      "learn-quadratic-equations": {
        "title": "Вивчіть квадратні рівняння",
        "intro": [
          "Ця тема виходить за межі лінійних рівнянь і зосереджується на піднесенні до степеня та побудові параболи. Ви навчитеся знаходити ключові точки на параболах і розв’язувати квадратні рівняння."
        ]
      },
      "build-a-graphing-calculator-project": {
        "title": "Графічний калькулятор",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви побудуєте графічний калькулятор."
        ]
      },
      "learn-parent-graphs-and-polynomials": {
        "title": "Вивчіть батьківські графіки та многочлени",
        "intro": [
          "Ця тема покаже багато різних видів «батьківських» графіків, тобто базових шаблонів, з яких створюються складніші графіки. Многочлени — це математичні вирази з декількома елементами, тобто складнішими членами. Ви побачите, як ці графіки виглядають, як їх змінити та як зробити це за допомогою Python."
        ]
      },
      "build-three-math-games-project": {
        "title": "Три математичні ігри",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви побудуєте три математичні ігри."
        ]
      },
      "learn-business-applications-of-college-algebra": {
        "title": "Дізнайтесь про прикладне застосування алгебри у бізнесі",
        "intro": [
          "Ця тема покаже, як застосувати навички розв’язання та побудови графіків, щоб знайти витрати, дохід та прибуток. Ви напишете код, який створюватиме криву попиту з двох точок. Ви побачите, як ціна впливає на графік прибутку і те, як взаємодіють усі рівняння."
        ]
      },
      "learn-simple-and-compound-interest": {
        "title": "Вивчіть прості та складні відсотки",
        "intro": [
          "Ця тема покаже, як розрахувати відсотки, сплату позики та прогнозний розрахунок інвестицій. Ви побачите математичні формули та перетворите їх у код. Оскільки ці формули зазвичай складні, корисно мати код і лише змінювати значення."
        ]
      },
      "learn-exponents-and-logarithms": {
        "title": "Вивчіть піднесення до степеня та логарифми",
        "intro": [
          "Ця тема покаже, що піднесення до степеня та логарифми є оберненими функціями, які можна використовувати для різного застосування."
        ]
      },
      "build-a-financial-calculator-project": {
        "title": "Фінансовий калькулятор",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви побудуєте фінансовий калькулятор."
        ]
      },
      "college-algebra-with-python-conclusion": {
        "title": "Алгебра з Python: висновок",
        "intro": [
          "Це остання тема даного курсу. Поглянемо, як ви можете поєднати знання з математики та Python із зовнішніми даними."
        ]
      },
      "build-a-data-graph-explorer-project": {
        "title": "Дослідник графіку даних",
        "intro": [
          "Цей проєкт потрібно виконати, щоб отримати сертифікацію.",
          "У цьому проєкті ви побудуєте дослідник графіку даних."
        ]
      }
    }
  },
  "python-for-everybody": {
    "title": "Python для всіх (застаріла версія)",
    "intro": [
      "Python — одна з найпопулярніших гнучких мов програмування на сьогодні. Ви можете використовувати її для всього: від базових скриптів до машинного навчання."
    ],
    "note": "",
    "blocks": {
      "python-for-everybody": {
        "title": "Python для всіх",
        "intro": [
          "Python для всіх — це безоплатна серія відеокурсів, яка вчить основам використання Python 3.",
          "Курси були створені Чарльзом Северансом (також відомим як Dr. Chuck). Він є професором школи інформації університету Мічигану, де викладає різні технологічні курси, включно з програмуванням, дизайном баз даних та веброзробкою."
        ]
      }
    }
  },
  "coding-interview-prep": {
    "title": "Підготовка до співбесіди з програмування",
    "intro": [
      "Шукаєте безоплатні вправи з програмування, щоб підготуватися до наступної співбесіди? Ми про це подбали.",
      "Цей розділ містить завдання з програмування, які перевіряють ваші знання алгоритмів, структур даних і математики. Тут також є декілька проєктів, які ви можете використати для зміцнення навичок або просто додати їх до свого портфоліо.",
      "Тут містяться матеріали з <a href=\"https://www.wikipedia.org/\" target=\"_blank\">вікіпедії</a>, які дозволені ліцензією <a href=\"https://creativecommons.org/licenses/by-sa/4.0/\" target=\"_blank\">Creative Commons Attribution-ShareAlike License 4.0</a>. Оригінальний вміст міг бути змінений та адаптований. Для перегляду оригінальної версії та інших деталей відвідайте оригінальну сторінку на <a href=\"https://www.wikipedia.org/\" target\"_blank\">вікіпедії</a>."
    ],
    "blocks": {
      "algorithms": {
        "title": "Алгоритми",
        "intro": [
          "Ці безоплатні вправи з програмування навчать вас загальних алгоритмів, з якими ви скоріш за все зіткнетеся в житті. Це чудова можливість вдосконалити як логіку, так і програмувальні навички.",
          "Подібні алгоритми часто використовують на співбесідах, щоб перевірити навички кандидатів. Ми чітко пояснимо, як саме функціонують різноманітні алгоритми, щоб ви могли підібрати рішення до кожного.",
          "ПРИМІТКА: ці завдання підтримують розв’язок лише на JavaScript."
        ]
      },
      "data-structures": {
        "title": "Структура даних",
        "intro": [
          "Ці безплатні курси програмування спрямовані на те, щоб допомогти вам у роботі з численними структурами даних, з якими ви ще не стикалися.",
          "Під час роботи з цими курсами, ви вивчите кожний тип структур даних та реалізуєте алгоритми, щоб зрозуміти їх краще.",
          "ПРИМІТКА: ці завдання підтримують розв’язок лише на JavaScript."
        ]
      },
      "take-home-projects": {
        "title": "Проєкти на самостійне опрацювання",
        "intro": [
          "Люди завжди нервують на співбесідах з програмування. Іноді, замість інтерв’ю, кандидатам можуть запропонувати створити проєкт вдома. Співбесіди такого типу часто передбачають виконання великого обсягу роботи, однак якнайкраще показують роботодавцям ваші здібності.",
          "Попрактикуйтеся створювати запропоновані нами проєкти. Не поспішайте, добре над ними попрацюйте та додайте до свого резюме чи портфоліо, щоб вразити потенційних роботодавців."
        ]
      }
    }
  },
  "the-odin-project": {
    "title": "Проєкт «Odin»: версія freeCodeCamp",
    "intro": [
      "Проєкт «Odin» був створений розробником Еріком Траутманом у 2013 році. Протягом років з’явилася відкрита спільнота, яка доглядає за проєктом та розширює його.",
      "freeCodeCamp розширив відкриту навчальну програму, щоб зробити її інтерактивною у браузері. Проєкт міститиме тести, щоб оцінити ваш код та переконатись, що ви зрозуміли основні поняття.",
      "Якщо ви хочете отримати оригінальний досвід налаштування проєкту на локальному комп’ютері, див. першоджерело проєкту на <a href='https://www.theodinproject.com/' target='_blank' rel='noopener noreferrer nofollow'>The Odin Project</a>. Велика подяка спільноті проєкту «Odin» за підтримку цього цінного навчального ресурсу для розробників з усього світу.",
      "Цей курс неофіційний та не підтримується The Odin Project. До навчальної програми проєкту було внесено зміни, а весь навчальний матеріал курсу підлягає ліцензуванню <a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' target='_blank' rel='noopener noreferrer nofollow'>CC-BY-SA-NC 4.0</a>",
      "<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/deed' target='_blank' rel='noopener noreferrer nofollow'>&copy; Проєкт «Odin»</a>",
      "Цей курс містить матеріал з <a href='https://javascript.info/' target='_blank' rel='noopener noreferrer nofollow'>JavaScript.info</a>, що підлягає ліцензуванню <a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' target='_blank' rel='noopener noreferrer nofollow'>CC-BY-NC-SA 4.0</a>."
    ],
    "blocks": {
      "top-learn-html-foundations": {
        "title": "Вивчіть основи HTML",
        "intro": [
          "Вивчіть основи HTML за допомогою цього курсу. Від структурування вебсторінок до розуміння семантичних тегів, ви побудуєте міцну основу для створення організованого та доступного контенту в мережі."
        ]
      },
      "top-working-with-text": {
        "title": "Робота з текстом",
        "intro": [
          "Дізнайтесь про складнощі роботи з текстом у веброзробці. Вивчіть форматування, маніпулювання та презентацію тексту, щоб покращити свої навички у створенні вебконтенту."
        ]
      },
      "top-links-and-images": {
        "title": "Посилання та зображення",
        "intro": [
          "Дізнайтеся, як використовувати посилання та зображення у вебпроєктах. Цей курс охоплює основи створення посилань та вбудовування зображень, щоб зробити вебсайт більш інтерактивним та візуально привабливим."
        ]
      },
      "top-build-a-recipe-project": {
        "title": "Вивчіть основи HTML, побудувавши сторінку з рецептами",
        "intro": [
          "Використайте свої навички HTML, створивши сторінку з рецептами. Цей практичний проєкт дозволяє застосувати отримані знання та створити функціональну вебсторінку, закріпивши ключові поняття розробки HTML."
        ]
      },
      "top-learn-css-foundations": {
        "title": "Вивчіть основи CSS",
        "intro": [
          "Зануртеся у світ каскадних таблиць стилів (CSS) та дізнайтесь, як стилізувати елементи HTML. Вивчіть властивості стилізації, селектори та макети, щоб оживити вебсторінки."
        ]
      },
      "top-learn-css-foundations-projects": {
        "title": "Проєкти «Вивчіть основи CSS»",
        "intro": [
          "Розвиньте свої навички CSS, працюючи над практичними проєктами. Цей курс надає практичний досвід застосування CSS для створення адаптивних дизайнів для реальних сценаріїв."
        ]
      },
      "top-learn-css-specificity": {
        "title": "Вивчіть специфічність CSS",
        "intro": [
          "Дослідіть специфічність CSS та отримайте краще розуміння того, як застосовувати стилі до елементів HTML. Цей курс навчає правил CSS, що допоможе написати ефективні та націлені стилі для вебсторінок."
        ]
      },
      "top-the-box-model": {
        "title": "Вивчіть блокову модель",
        "intro": [
          "Вивчіть блокову модель CSS завдяки цьому курсу. Дізнайтесь, як відтворюються елементи, та навчіться маніпулювати простором, кордонами та відступами, щоб досягти бажаного макету та дизайну."
        ]
      },
      "top-introduction-to-flexbox": {
        "title": "Вступ до Flexbox",
        "intro": [
          "Відкрийте для себе потужність Flexbox — моделі макету, яка спрощує проєктування гнучких та адаптивних вебмакетів. Навчіться створювати динамічні та адаптивні структури сторінок з легкістю."
        ]
      },
      "top-learn-block-and-inline": {
        "title": "Вивчіть блокові та рядкові елементи",
        "intro": [
          "Дослідіть відмінності між блоковими та рядковими елементами в HTML та CSS. Цей курс надасть уявлення про те, як такі відтворення впливають на макет та поведінку, що дозволить вам приймати обґрунтовані рішення у дизайні."
        ]
      },
      "top-learn-variables-and-operators": {
        "title": "Вивчіть змінні та оператори",
        "intro": [
          "Почніть знайомство з JavaScript зі змінних та операторів. Цей курс охоплює основи програмування на JavaScript, включно з типами даних, операторами та оголошенням змінних."
        ]
      },
      "top-learn-data-types-and-conditionals": {
        "title": "Вивчіть типи даних та умови",
        "intro": [
          "Дізнайтесь про типи даних та умовні інструкції в JavaScript."
        ]
      },
      "top-learn-function-basics": {
        "title": "Вивчіть основи функцій",
        "intro": ["Дізнайтесь про функції в JavaScript."]
      },
      "top-basic-function-projects": {
        "title": "Проєкти «Базові функції»",
        "intro": [
          "Випробуйте свої навички по JavaScript, побудувавши базові функції."
        ]
      },
      "top-learn-arrays-and-loops": {
        "title": "Вивчіть масиви та цикли",
        "intro": ["Дізнайтесь про масиви та цикли в JavaScript."]
      },
      "top-learn-to-solve-problems-and-understand-errors": {
        "title": "Навчіться розв’язувати проблеми та розуміти помилки",
        "intro": [
          "Дізнайтесь, як розв’язувати проблеми та розуміти помилки в JavaScript."
        ]
      },
      "top-build-a-rock-paper-scissors-game": {
        "title": "Створіть гру «Камінь-ножиці-папір»",
        "intro": [
          "Випробуйте свої навички по JavaScript, побудувавши гру «Камінь-ножиці-папір»."
        ]
      }
    }
  },
  "project-euler": {
    "title": "Проєкт Ейлера",
    "intro": [
      "Виконайте завдання з програмування з архівів проєкту Ейлера. Вони удосконалять ваші алгоритмічні та математичні знання.",
      "Тут є завдання різної складності, а для багатьох здобуття досвіду полягає в індуктивному методі навчання. Тобто вирішення одного завдання прояснить нову концепцію та дозволить вирішити раніше незрозуміле завдання. Чи під силу вам вирішити кожне?"
    ],
    "blocks": {
      "project-euler-problems-1-to-100": {
        "title": "Проєкт Ейлера. Завдання 1-100",
        "intro": [
          "У першому наборі завдань ви використовуватимете послідовність Фібоначчі, теорему про розподіл простих чисел та комбінаторику, щоб написати алгоритми для розв’язку завдань.",
          "ПРИМІТКА: ці завдання підтримують розв’язок лише на JavaScript."
        ]
      },
      "project-euler-problems-101-to-200": {
        "title": "Проєкт Ейлера. Завдання 101-200",
        "intro": [
          "У цьому наборі завдань ви закріпите знання з першої частини курсу та використовуватимете обчислення вектора, трикутник Паскаля й алгоритм RSA, щоб розв’язати завдання.",
          "ПРИМІТКА: ці завдання підтримують розв’язок лише на JavaScript."
        ]
      },
      "project-euler-problems-201-to-300": {
        "title": "Проєкт Ейлера. Завдання 201-300",
        "intro": [
          "У цьому наборі завдань ви продовжите розвивати навички з попередніх завдань та використовуватимете біном Ньютона, числа Гемінґа й послідовність Коллатца.",
          "ПРИМІТКА: ці завдання підтримують розв’язок лише на JavaScript."
        ]
      },
      "project-euler-problems-301-to-400": {
        "title": "Проєкт Ейлера. Завдання 301-400",
        "intro": [
          "Тут ви продовжите працювати над своїми навичками, використовуючи комбінаторну теорію ігор, бітові операції та послідовність Ґоломба.",
          "ПРИМІТКА: ці завдання підтримують розв’язок лише на JavaScript."
        ]
      },
      "project-euler-problems-401-to-480": {
        "title": "Проєкт Ейлера. Завдання 401-480",
        "intro": [
          "У кінцевому наборі завдань ви підкреслите свої знання та використовуватимете унітарні дільники, програму Капрекара та багато іншого, щоб розв’язати складні завдання.",
          "ПРИМІТКА: ці завдання підтримують розв’язок лише на JavaScript."
        ]
      }
    }
  },
  "foundational-c-sharp-with-microsoft": {
    "title": "Безоплатна сертифікація «Основи C# з Microsoft»",
    "intro": [
      "Цей курс пропонує всебічне знайомство з мовою програмування C#, розглядаючи основні поняття, синтаксис та практичне застосування у розробці програмного забезпечення.",
      "Завдяки практичним вправам та проєктам ви вивчите основи C#, включно зі змінними, типами даних, структурами керування та принципами об’єктноорієнтованого програмування.",
      "Після завершення курсу ви отримаєте практичні навички та знання, необхідні для впевненого використання C# при побудові застосунків."
    ],
    "note": "Кожен розділ має трофей, пов’язаний з розділом, та який ви маєте отримати на навчальній платформі Microsoft. Після здобуття кожного трофею, їх потрібно підтвердити на freeCodeCamp. Після цього ви зможете скласти екзамен з сертифікації.",
    "blocks": {
      "write-your-first-code-using-c-sharp": {
        "title": "Написання першого коду за допомогою C#",
        "intro": [
          "Розпочніть подорож із написання коду на C#. Завдяки основам та синтаксису мови ви отримаєте хорошу базу, створивши підґрунтя для своїх пригод з програмування."
        ]
      },
      "create-and-run-simple-c-sharp-console-applications": {
        "title": "Створення та запуск простих консольних застосунків C#",
        "intro": [
          "Опануйте мистецтво створення та запуску звичайних консольних застосунків C#. Пориньте у світ консольного програмування, де ви отримаєте практичний досвід та побачите свій код у дії."
        ]
      },
      "add-logic-to-c-sharp-console-applications": {
        "title": "Додавання логіки до консольних застосунків C#",
        "intro": [
          "Розблокуйте потужність логіки у консольних застосунках C#. Дізнайтесь, як додати логіку та прийняття рішень до свого коду, що дозволить застосункам робити динамічний вибір та реагувати на різні сценарії."
        ]
      },
      "work-with-variable-data-in-c-sharp-console-applications": {
        "title": "Робота з даними змінних в консольних застосунках C#",
        "intro": [
          "Дізнайтесь більше про дані змінних у консольних застосунках C#. Приборкайте можливість зберігати та маніпулювати різними типами даних, серед яких числа й текст, ознайомившись з основними поняттями змінних та обробки даних."
        ]
      },
      "create-methods-in-c-sharp-console-applications": {
        "title": "Створення методів в консольних застосунках C#",
        "intro": [
          "Перенесіть власні консольні застосунки C# на новий рівень, опанувавши мистецтво створення методів. Дізнайтесь, як організувати та модуляризувати свій код, зробивши його слухнянішим та ефективнішим."
        ]
      },
      "debug-c-sharp-console-applications": {
        "title": "Налагодження консольних застосунків C#",
        "intro": [
          "Вдоскональте свої навички з усунення неполадок у консольних застосунках C#. Отримайте можливість визначити та розв’язати проблеми у своєму коді, забезпечуючи безперебійну роботу програм та бажані результати."
        ]
      },
      "foundational-c-sharp-with-microsoft-certification-exam": {
        "title": "Екзамен з сертифікації «Основи C# з Microsoft»",
        "intro": [
          "Використайте набуті знання, щоб скласти екзамен та отримати сертифікацію «Основи C# з Microsoft»"
        ]
      }
    }
  },
  "a2-english-for-developers": {
    "title": "Сертифікація «Англійська мова A2 для розробників (бета)»",
    "intro": [
      "У цьому курсі з вивчення англійської мови для розробників ви опануєте основи англійської комунікації. Курс створено відповідно до загальноєвропейських рекомендацій з мовної освіти рівня A2 (CEFR). Ми зосередилися на словниковому запасі, що є особливо корисним для розробників.",
      "Перша частина допоможе освоїти граматику та використання англійської мови. Ви виконаєте багато практичних вправ, дізнавшись основи (наприклад, представлення себе, проведення коротких розмов і обговорення роботи).",
      "У другій частині ви практикуватимете словниковий запас, специфічний для розробки програмного забезпечення. Ви навчитеся описувати код, обговорювати технологічні тенденції та брати участь у зустрічах.",
      "Весь курс рівня A2 складається з 105 різних діалогів. Кожен з них створений для того, щоб розширити ваш словниковий запас та підвищити впевненість під час спілкування в професійному середовищі."
    ],
    "note": "Сертифікація знаходиться в бета-версії.",
    "blocks": {
      "learn-greetings-in-your-first-day-at-the-office": {
        "title": "Дізнайтесь про привітання в офісі першого робочого дня",
        "intro": [
          "У цьому курсі ви навчитеся поширених висловів для ситуацій, з якими можете зіткнутись у перший робочий день. Ви дізнаєтесь про представлення, знайомство з іншими людьми, спілкування під час перерви та отримання картки доступу."
        ]
      },
      "en-a2-quiz-first-day-conversations-at-work": {
        "title": "Тест «Розмова в перший робочий день»",
        "intro": ["", ""]
      },
      "learn-introductions-in-an-online-team-meeting": {
        "title": "Дізнайтесь про знайомство на онлайн-зустрічі",
        "intro": [
          "У цьому курсі ви навчитеся представляти себе, а також вказувати свою професію та ділитися цілями на групових зустрічах."
        ]
      },
      "en-a2-quiz-meeting-introductions-at-work": {
        "title": "Тест «Знайомство на роботі»",
        "intro": ["", ""]
      },
      "learn-conversation-starters-in-the-break-room": {
        "title": "Дізнайтесь про початок розмови в кімнаті відпочинку",
        "intro": [
          "У цьому курсі ви навчитеся розпочинати розмову в неформальних обставинах. Ви також дізнаєтеся, як говорити про свої хобі та особисті риси, і навіть навчитеся запитувати про місця у місті."
        ]
      },
      "en-a2-quiz-conversation-starters-at-work": {
        "title": "Тест «Розмова в кімнаті відпочинку»",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-a-typical-workday-and-tasks": {
        "title": "Дізнайтесь, як говорити про типовий робочий день та завдання",
        "intro": [
          "У цьому курсі ви навчитесь розповідати про свій робочий день і завдання, які виконуєте на роботі, а також як ділитися ними з іншими. Основний акцент зроблено на структурах, які використовують для опису діяльності, а також на словниковому запасі, пов’язаному з завданнями."
        ]
      },
      "en-a2-quiz-work-routines-and-tasks": {
        "title": "Тест «Типовий робочий день»",
        "intro": ["", ""]
      },
      "learn-how-to-discuss-your-morning-or-evening-routine": {
        "title": "Дізнайтесь, як обговорювати ранкову або вечірню рутину",
        "intro": [
          "У цьому курсі ви навчитесь розповідати про свою щоденну рутину та ділитися нею з іншими. Основний акцент зроблено на структурах, які використовують для опису рутини, а також на словниковому запасі, пов’язаному з щоденними завданнями."
        ]
      },
      "en-a2-quiz-daily-life-routines": {
        "title": "Тест «Щоденна робоча рутина»",
        "intro": ["", ""]
      },
      "learn-how-to-describe-your-current-project": {
        "title": "Дізнайтесь, як описувати поточний проєкт",
        "intro": [
          "У цьому курсі ви навчитесь розповідати про проєкти, в яких ви берете участь, та як інформувати інших про свою участь. Основний акцент зроблено на структурах, які використовують для інформування, а також на пов’язаному словниковому запасі."
        ]
      },
      "en-a2-quiz-what-are-you-working-on": {
        "title": "Тест «Опис поточного проєкту»",
        "intro": ["", ""]
      },
      "learn-how-to-ask-and-share-about-educational-and-professional-background": {
        "title": "Дізнайтесь, як запитувати та розповідати про освіту і досвід роботи",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як запитувати про освіту та досвід роботи іншої людини, а також навчитесь ділитися інформацією про власний досвід."
        ]
      },
      "en-a2-quiz-educational-and-professional-background": {
        "title": "Тест «Освіта і досвід роботи»",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-hobbies-and-interests": {
        "title": "Дізнайтесь, як говорити про хобі та захоплення",
        "intro": [
          "У цьому курсі ви навчитесь говорити про хобі та речі, які вас цікавлять. Ви також дізнаєтесь, як запитувати про захоплення інших людей та як запропонувати їм скласти компанію."
        ]
      },
      "en-a2-quiz-hobbies-and-interests": {
        "title": "Тест «Хобі та захоплення»",
        "intro": ["", ""]
      },
      "learn-how-to-discuss-roles-and-responsibilities": {
        "title": "Дізнайтесь, як обговорювати посади та обов’язки",
        "intro": [
          "У цьому курсі ви обговорюватимете посади та обов’язки людей в компанії й поза нею. Ви дізнаєтеся, як запитувати про посади та обов’язки, а також як ділитися власною інформацією на цю тему."
        ]
      },
      "en-a2-quiz-discuss-roles-responsibilities": {
        "title": "Тест «Посада та обов’язки»",
        "intro": ["", ""]
      },
      "learn-how-to-have-a-conversation-about-preferences-and-motivations": {
        "title": "Дізнайтесь, як говорити про вподобання та вмотивованість",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як запитувати про мотивацію в особистому і професійному житті, як відповідати на такі запитання та як обговорювати вподобання."
        ]
      },
      "en-a2-quiz-preferences-and-motivations": {
        "title": "Тест «Вподобання та вмотивованість»",
        "intro": ["", ""]
      },
      "learn-how-to-discuss-popular-trends-in-technology": {
        "title": "Дізнайтесь, як обговорювати технологічні тренди",
        "intro": [
          "У цьому курсі ви навчитеся обговорювати технології, про які зараз всі говорять."
        ]
      },
      "en-a2-quiz-sharing-opinions": {
        "title": "Тест «Технологічні тренди»",
        "intro": ["", ""]
      },
      "learn-how-to-clarify-information-in-different-interactions": {
        "title": "Дізнайтесь, як уточнити інформацію в різних ситуаціях",
        "intro": [
          "У цьому курсі ви навчитеся перевіряти інформацію та правильно просити уточнення, якщо щось не зрозуміло."
        ]
      },
      "en-a2-quiz-getting-the-details-right": {
        "title": "Тест «Уточнення інформації»",
        "intro": ["", ""]
      },
      "learn-how-to-use-basic-programming-vocabulary-in-conversations": {
        "title": "Дізнайтесь, як використовувати базові слова з програмування",
        "intro": [
          "Цей курс ознайомить вас з основною термінологією, пов’язаною з програмуванням. Ви навчитесь ставити запитання щодо основних понять програмування."
        ]
      },
      "en-a2-quiz-basic-programming-vocabulary": {
        "title": "Тест «Базові слова з програмування»",
        "intro": ["", ""]
      },
      "learn-how-to-use-code-related-concepts-and-terms": {
        "title": "Дізнайтесь, як використовувати поняття та терміни з програмування",
        "intro": [
          "У цьому курсі ви ознайомитесь з термінами, пов’язаними з програмуванням, і навчитесь використовувати їх у розмові."
        ]
      },
      "en-a2-quiz-key-programming-terms": {
        "title": "Тест «Поняття та терміни з програмування»",
        "intro": ["", ""]
      },
      "learn-how-to-discuss-tech-trends-and-updates": {
        "title": "Дізнайтесь, як обговорювати технологічні тренди та оновлення",
        "intro": [
          "У цьому курсі ви ознайомитесь з деякими останніми трендами у світі технологій і навчитесь обговорювати їх англійською мовою."
        ]
      },
      "en-a2-quiz-discussing-new-ideas": {
        "title": "Тест «Технологічні тренди та оновлення»",
        "intro": ["", ""]
      },
      "learn-how-to-help-a-coworker-troubleshoot-on-github": {
        "title": "Дізнайтесь, як допомогти колезі розв’язати проблему на GitHub",
        "intro": [
          "У цьому курсі ви вивчите вирази, пов’язані із проханням про допомогу у колеги, а також тим, як запропонувати свою допомогу."
        ]
      },
      "en-a2-quiz-discussing-problems-and-solutions": {
        "title": "Тест «Допомога колезі на GitHub»",
        "intro": ["", ""]
      },
      "learn-how-to-share-your-progress-in-weekly-stand-up-meetings": {
        "title": "Дізнайтесь, як ділитись своїм прогресом на щотижневій зустрічі",
        "intro": [
          "Цей курс покаже, як говорити про свої проєкти в контексті того, що ви вже зробили та що виконуєте зараз."
        ]
      },
      "en-a2-quiz-collaborating-in-meetings": {
        "title": "Тест «Прогрес на щотижневій зустрічі»",
        "intro": ["", ""]
      },
      "learn-how-to-ask-for-clarification-on-code-understanding": {
        "title": "Дізнайтесь, як просити роз’яснення коду",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як ставити запитання, щоб уточнити те, що не зовсім зрозуміле у коді."
        ]
      },
      "en-a2-quiz-understanding-problems": {
        "title": "Тест «Прохання пояснити код»",
        "intro": ["", ""]
      },
      "learn-how-to-document-code-for-a-project": {
        "title": "Дізнайтесь, як документувати код проєкту",
        "intro": [
          "Цей курс ознайомить вас з виразами, пов’язаними із документацією коду."
        ]
      },
      "en-a2-quiz-document-code-project": {
        "title": "Тест «Документування коду»",
        "intro": ["", ""]
      },
      "learn-how-to-read-and-understand-code-documentation": {
        "title": "Дізнайтесь, як читати та розуміти документацію",
        "intro": [
          "У цьому курсі ще більше виразів, пов’язаних із документацією коду, а також декілька порад, як розуміти його."
        ]
      },
      "en-a2-quiz-read-understand-code-documentation": {
        "title": "Тест «Розуміння документації коду»",
        "intro": ["", ""]
      },
      "learn-how-to-analyze-code-documentation": {
        "title": "Дізнайтесь, як аналізувати документацію",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як правильно читати документацію та аналізувати її."
        ]
      },
      "en-a2-quiz-analyzing-documentation": {
        "title": "Тест «Аналіз документації коду»",
        "intro": ["", ""]
      },
      "learn-how-to-share-progress-and-accomplishments": {
        "title": "Дізнайтесь, як ділитись прогресом та досягненнями",
        "intro": [
          "У цьому курсі ви навчитесь ділитись прогресом та досягненнями зі своїми колегами."
        ]
      },
      "en-a2-quiz-discussing-progress-and-results": {
        "title": "Тест «Прогрес та досягнення»",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-updates-and-plans-for-tasks-and-projects": {
        "title": "Дізнайтесь, як говорити про оновлення та плани щодо завдань і проєктів",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як говорити про останні досягнення проєктів та про свої плани."
        ]
      },
      "en-a2-quiz-task-project-updates-plans": {
        "title": "Тест «Оновлення щодо завдань і проєкту»",
        "intro": ["", ""]
      },
      "learn-how-to-express-agreement-or-disagreement": {
        "title": "Дізнайтесь, як погоджуватись та не погоджуватись",
        "intro": [
          "Цей курс навчить, як погоджуватись та не погоджуватись з твердженнями інших."
        ]
      },
      "en-a2-quiz-express-agreement-disagreement": {
        "title": "Тест «Вираження згоди та незгоди»",
        "intro": ["", ""]
      },
      "learn-how-to-offer-technical-support-and-guidance": {
        "title": "Дізнайтесь, як надавати технічну підтримку та супровід",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як пропонувати свою допомогу по технічних питаннях."
        ]
      },
      "en-a2-quiz-following-best-practices": {
        "title": "Тест «Надання технічної підтримки»",
        "intro": ["", ""]
      },
      "learn-how-to-request-and-receive-guidance": {
        "title": "Дізнайтесь, як запитувати та отримувати супровід",
        "intro": [
          "Цей курс роз’яснить, як просити допомоги від колеги, коли це потрібно."
        ]
      },
      "en-a2-quiz-asking-for-help": {
        "title": "Тест «Прохання і отримання порад»",
        "intro": ["", ""]
      },
      "learn-how-to-provide-explanations-when-helping-others": {
        "title": "Дізнайтесь, як надавати пояснення при допомозі іншим",
        "intro": [
          "Цей курс ознайомить з тим, як правильно надавати пояснення іншим людям."
        ]
      },
      "en-a2-quiz-giving-adivice-and-suggestions": {
        "title": "Тест «Пояснення іншим людям»",
        "intro": ["", ""]
      },
      "en-a2-certification-exam": {
        "title": "Екзамен з сертифікації «Англійська мова A2 для розробників»",
        "intro": [
          "Це обов’язковий екзамен, щоб отримати сертифікацію «Англійська мова A2 для розробників»."
        ]
      }
    }
  },
  "b1-english-for-developers": {
    "title": "Сертифікація «Англійська мова B1 для розробників (бета)»",
    "intro": [
      "У цьому курсі з вивчення англійської мови для розробників ви опануєте основи англійської комунікації. Курс створено відповідно до загальноєвропейських рекомендацій з мовної освіти рівня B1 (CEFR). Ми зосередилися на словниковому запасі, що є особливо корисним для розробників.",
      "Курс допоможе зміцнити базові знання, одночасно ознайомлюючи із більш складною граматикою та використанням. Ви навчитесь описувати місця та речі, ділитися досвідом і впевнено використовувати часи, серед яких теперішній доконаний та простий майбутній. А також отримаєте практичні поради: як вести розмову, ділитись думкою та висловлювати згоду чи незгоду.",
      "Основний фокус на застосуванні цих навичок у професійній та технологічній галузях. Ви будете практикувати словниковий запас і фрази, важливі для розробників: як описувати код, брати участь у зустрічах і обговорювати технологічні тенденції. До складніших тем належать умовні речення, порівняльні конструкції та підтримка розмови, щоб підготувати вас до реальних взаємодій у технологічній індустрії.",
      "Весь курс рівня B1 складається з 73 різних діалогів. Кожен з них створений для того, щоб розширити ваш словниковий запас та підвищити впевненість під час спілкування в професійному середовищі."
    ],
    "note": "Сертифікація знаходиться в бета-версії.",
    "blocks": {
      "learn-how-to-describe-places-and-events": {
        "title": "Дізнайтесь, як описувати місця і події",
        "intro": ["У цьому курсі ви навчитеся говорити про місця та події."]
      },
      "en-b1-quiz-describe-places-events": {
        "title": "Тест «Опис місць і подій»",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-past-experiences": {
        "title": "Дізнайтесь, як говорити про досвід",
        "intro": ["У цьому курсі ви навчитеся ділитись власним досвідом."]
      },
      "en-b1-quiz-past-experiences": {
        "title": "Тест «Досвід»",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-past-activities": {
        "title": "Дізнайтесь, як говорити про дії з минулого",
        "intro": ["У цьому курсі ви навчитеся говорити про речі, які зробили."]
      },
      "en-b1-quiz-past-activities": {
        "title": "Тест «Дії з минулого»",
        "intro": ["", ""]
      },
      "learn-present-perfect-while-talking-about-accessibility": {
        "title": "Дізнайтесь про теперішній доконаний час, говорячи про доступність",
        "intro": [
          "У цьому курсі ви навчитеся використовувати теперішній доконаний час і трішки дізнаєтесь про доступність."
        ]
      },
      "en-b1-quiz-present-perfect-accessibility": {
        "title": "Тест «Present Perfect та доступність»",
        "intro": ["", ""]
      },
      "learn-how-to-plan-future-events": {
        "title": "Дізнайтесь, як планувати майбутні події",
        "intro": [
          "У цьому курсі ви навчитеся використовувати майбутній час, щоб планувати різні події."
        ]
      },
      "en-b1-quiz-plan-future-events": {
        "title": "Тест «Планування подій»",
        "intro": ["", ""]
      },
      "learn-future-continuous-while-describing-actions": {
        "title": "Дізнайтесь про майбутній тривалий час, описуючи дії",
        "intro": [
          "У цьому курсі ви навчитеся використовувати майбутній тривалий час та описувати дії, які будуть виконані."
        ]
      },
      "en-b1-quiz-future-continuous-actions": {
        "title": "Тест «Future Continuous»",
        "intro": ["", ""]
      },
      "learn-how-to-use-conditionals": {
        "title": "Дізнайтесь, як використовувати умовні речення",
        "intro": [
          "У цьому курсі ви навчитесь використовувати умовні речення, щоб описувати уявні ситуації, які залежать від певних умов."
        ]
      },
      "en-b1-quiz-conditionals": {
        "title": "Тест «Умовні речення»",
        "intro": ["", ""]
      },
      "learn-how-to-share-feedback": {
        "title": "Дізнайтесь, як ділитись фідбеком",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як ділитись зворотним зв’язком щодо роботи, підкреслюючи сильні сторони і моменти для покращення."
        ]
      },
      "en-b1-quiz-share-feedback": {
        "title": "Тест «Зворотний зв’язок»",
        "intro": ["", ""]
      },
      "learn-how-to-share-your-opinion": {
        "title": "Дізнайтесь, як ділитись своєю думкою",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як ділитись своїми ідеями і емоціями під час дискусії."
        ]
      },
      "en-b1-quiz-share-opinions": {
        "title": "Тест «Обмін думками»",
        "intro": ["", ""]
      },
      "learn-how-to-express-agreement": {
        "title": "Дізнайтесь, як виражати згоду",
        "intro": [
          "У цьому курсі ви навчитесь виражати згоду в будь-якій ситуації на роботі."
        ]
      },
      "en-b1-quiz-express-agreement": {
        "title": "Тест «Вираження згоди»",
        "intro": ["", ""]
      },
      "learn-how-to-express-disagreement": {
        "title": "Дізнайтесь, як виражати незгоду",
        "intro": [
          "У цьому курсі ви навчитесь виражати незгоду в будь-якій ситуації на роботі."
        ]
      },
      "en-b1-quiz-express-disagreement": {
        "title": "Тест «Вираження незгоди»",
        "intro": ["", ""]
      },
      "learn-how-to-express-concerns": {
        "title": "Дізнайтесь, як виражати занепокоєння",
        "intro": [
          "У цьому курсі ви навчитеся ділитись переживаннями щодо своїх проєктів і завдань."
        ]
      },
      "en-b1-quiz-express-concerns": {
        "title": "Тест «Вираження занепокоєння»",
        "intro": ["", ""]
      },
      "learn-how-to-express-decisions-based-on-comparisons": {
        "title": "Дізнайтесь, як виражати вибір на основі порівняння",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як порівнювати інструменти або компанії за допомогою таких слів, як better, faster та the best. Також ви практикуватимете дружні розмови, де висловлюють думку та приймають рішення."
        ]
      },
      "en-b1-quiz-decisions-comparisons": {
        "title": "Тест «Прийняття рішень на основі порівнянь»",
        "intro": ["", ""]
      },
      "learn-how-to-use-modal-verbs": {
        "title": "Дізнайтесь, як використовувати модальні дієслова",
        "intro": [
          "У цьому курсі ви навчитесь говорити про правила, а також описувати необхідні дії та можливий розвиток подій. Ви також попрактикуєтесь ставити запитання, чітко відповідати на них та надавати корисні деталі до своїх ідей."
        ]
      },
      "en-b1-quiz-modal-verbs": {
        "title": "Тест «Модальні дієслова»",
        "intro": ["", ""]
      },
      "learn-how-to-manage-a-conversation": {
        "title": "Дізнайтесь, як керувати бесідою",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як керувати розмовою на роботі (наприклад, як продовжити розмову після перерви, ввічливо змінити тему або перервати за необхідності). Ви також попрактикуєте корисні вирази, які роблять розмову чіткою, дружньою та структурованою."
        ]
      },
      "en-b1-quiz-manage-conversations": {
        "title": "Тест «Керування бесідою»",
        "intro": ["", ""]
      },
      "learn-how-to-clarify-misunderstandings": {
        "title": "Дізнайтесь, як уточнити непорозуміння",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як запитувати й давати пояснення, коли щось не зрозуміло, завдяки ввічливим запитанням та корисним відповідям. Ви також вгадуватимете значення нових слів, описуватимете проблеми та виправлятимете непорозуміння в дружній і професійній манері."
        ]
      },
      "en-b1-quiz-clarify-misunderstandings": {
        "title": "Тест «Уточнення непорозуміння»",
        "intro": ["", ""]
      },
      "learn-about-speculation-and-requests": {
        "title": "Дізнайтесь про припущення та запити",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як говорити про події, які мали або могли трапитися в минулому, а також як ділитись пропозиціями і робити ввічливі запити. Ви також будете використовувати вирази, які допомагають дізнатись причину проблеми і розв’язати її."
        ]
      },
      "en-b1-quiz-speculation-requests": {
        "title": "Тест «Припущення та запити»",
        "intro": ["", ""]
      },
      "learn-about-adverbial-phrases": {
        "title": "Дізнайтесь про прислівникові звороти",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як використовувати вирази, що дають більше інформації про те, коли, де, як часто або наскільки щось відбувається. Ви також будете використовувати ці вирази для опису завдань, обговорення планів та пояснення результатів у щоденній роботі."
        ]
      },
      "en-b1-quiz-adverbial-phrases": {
        "title": "Тест «Прислівникові звороти»",
        "intro": ["", ""]
      },
      "learn-how-to-use-adjectives-in-conversations": {
        "title": "Дізнайтесь, як використовувати прикметники",
        "intro": [
          "У цьому курсі ви навчитесь використовувати прикметники, щоб чітко описувати речі, порівнювати можливі варіанти та підкреслювати важливі деталі. Ви також дізнаєтесь, як зробити свої ідеї сильнішими та більш переконливими."
        ]
      },
      "en-b1-quiz-adjectives-conversations": {
        "title": "Тест «Прикметники в розмові»",
        "intro": ["", ""]
      },
      "learn-determiners-and-advanced-use-of-articles": {
        "title": "Дізнайтесь про означальні слова та поглиблене використання артиклів",
        "intro": [
          "У цьому курсі ви навчитесь використовувати означальні слова, щоб ділитись чіткою інформацією про кількість, вибір і класифікацію. Ви також розглянете артиклі у складнішому контексті, особливо в професійних розмовах про планування, завдання та ресурси."
        ]
      },
      "en-b1-quiz-determiners-articles": {
        "title": "Тест «Означальні слова та артиклі»",
        "intro": ["", ""]
      },
      "learn-how-to-use-reported-speech": {
        "title": "Дізнайтесь, як використовувати непряму мову",
        "intro": [
          "У цьому курсі ви навчитесь чітко звітувати про те, що сказав хтось інший. Ви також будете практикувати різні часи дієслів та структури речень для обміну зворотним зв’язком, пояснення ситуацій і обговорення минулих подій в професійних розмовах."
        ]
      },
      "en-b1-quiz-reported-speech": {
        "title": "Тест «Використання непрямої мови»",
        "intro": ["", ""]
      },
      "learn-how-to-use-prepositions-according-to-context": {
        "title": "Дізнайтесь, як використовувати прийменники відповідно до контексту",
        "intro": [
          "У цьому курсі ви навчитесь використовувати прийменники, щоб чітко описувати час, місце та напрям у щоденних робочих ситуаціях. Ви також будете говорити про графіки, давати вказівки та пояснювати, де знаходяться люди чи речі."
        ]
      },
      "en-b1-quiz-prepositions-context": {
        "title": "Тест «Вживання прийменників за контекстом»",
        "intro": ["", ""]
      },
      "learn-how-to-talk-about-numbers-with-a-coworker": {
        "title": "Дізнайтесь, як говорити про числа з колегою",
        "intro": [
          "У цьому курсі ви дізнаєтесь, як вживати числа, щоб говорити про завдання, графіки, бюджети та ресурси на робочому місці. Ви ознайомитесь з кількісними і порядковими числами, відсотками і дробами, щоб упорядковувати роботу, пояснювати прогрес й ділитись оновленнями щодо інвентаризації чи фінансування зі своєю командою."
        ]
      },
      "en-b1-quiz-numbers-at-work": {
        "title": "Тест «Робочі розмови про числа»",
        "intro": ["", ""]
      },
      "learn-common-phrasal-verbs-and-idioms": {
        "title": "Дізнайтесь про найпоширеніші фразові дієслова та ідіоми",
        "intro": [
          "У цьому курсі ви навчитесь використовувати поширені фразові дієслова та ідіоми, щоб звучати природніше й впевненіше на роботі. Ви будете використовувати різні вирази, щоб висловлювати думки, робити пропозиції, організовувати зустрічі та обговорювати завдання в щоденних робочих розмовах."
        ]
      },
      "en-b1-quiz-phrasal-verbs-idioms": {
        "title": "Тест «Фразові дієслова та ідіоми»",
        "intro": ["", ""]
      },
      "en-b1-certification-exam": {
        "title": "Екзамен з сертифікації «Англійська мова B1 для розробників»",
        "intro": [
          "Це обов’язковий екзамен, щоб отримати сертифікацію «Англійська мова B1 для розробників»."
        ]
      }
    }
  },
  "rosetta-code": {
    "title": "Rosetta Code",
    "intro": [
      "Розвиньте свої навички творчого підходу до розв’язання проблем за допомогою завдань з базової бібліотеки Rosetta Code.",
      "Ці завдання можуть виявитися важкими, але вони підштовхнуть ваше логічне мислення до нових висот.",
      "<a href='https://rosettacode.org/wiki/Rosetta_Code' target='_blank' rel='noopener noreferrer nofollow'>Атрибут: Rosetta Code</a>"
    ],
    "blocks": {
      "rosetta-code-challenges": {
        "title": "Завдання з «Rosetta Code»",
        "intro": [
          "Перелік завдань з «Rosetta Code».",
          "ПРИМІТКА: ці завдання підтримують розв’язок лише на JavaScript."
        ]
      }
    }
  },
  "javascript-v9": {
    "title": "Сертифікація «JavaScript»",
    "intro": [
      "Цей курс навчає основним поняттям програмування на JavaScript, таким як робота зі змінними, функціями, об’єктами, масивами та керування потоком. Ви також навчитесь маніпулювати DOM, обробляти події та застосовувати техніки, як-от асинхронне програмування, функціональне програмування та найкращі практики доступності.",
      "Щоб отримати сертифікацію «JavaScript»:",
      "- Виконайте п’ять обов’язкових проєктів, щоб отримати допуск до екзамену.",
      "- Успішно складіть екзамен «JavaScript»."
    ],
    "chapters": {
      "javascript": "JavaScript",
      "javascript-certification-exam": "Екзамен з сертифікації «JavaScript»"
    },
    "modules": {
      "javascript-variables-and-strings": "Змінні та рядки",
      "javascript-booleans-and-numbers": "Булеві значення та числа",
      "javascript-functions": "Функції",
      "javascript-arrays": "Масиви",
      "javascript-objects": "Об’єкти",
      "javascript-loops": "Цикли",
      "review-javascript-fundamentals": "Повторення основ JavaScript",
      "higher-order-functions-and-callbacks": "Функції вищого порядку та зворотного виклику",
      "dom-manipulation-and-events": "Маніпуляція DOM та події",
      "js-a11y": "JavaScript та доступність",
      "debugging-javascript": "Налагодження",
      "basic-regex": "Основи регулярних виразів",
      "lab-markdown-to-html-converter": "Створіть конвертер з markdown у HTML",
      "form-validation": "Валідація форм",
      "javascript-dates": "Дати",
      "audio-and-video-events": "Аудіо- та відеоподії",
      "lab-drum-machine": "Створіть драм-машину",
      "maps-and-sets": "Map та set",
      "lab-voting-system": "Створіть систему для голосування",
      "localstorage-and-crud-operations": "localStorage та операції CRUD",
      "classes-and-the-this-keyword": "Класи",
      "lab-bank-account-manager": "Створіть програму для управління банківським рахунком",
      "recursion": "Рекурсія",
      "data-structures": "Структури даних",
      "algorithms": "Алгоритми",
      "graphs-and-trees": "Графи та дерева",
      "dynamic-programming": "Динамічне програмування",
      "functional-programming": "Функціональне програмування",
      "asynchronous-javascript": "Асинхронний JavaScript",
      "lab-weather-app": "Створіть застосунок з прогнозом погоди",
      "review-javascript": "Повторення JavaScript",
      "javascript-certification-exam": "Екзамен з сертифікації «JavaScript»"
    },
    "module-intros": {
      "data-structures": {
        "note": "Очікуйте навесні",
        "intro": [
          "У цьому модулі ви дізнаєтесь про зв’язані списки, стеки, черги та багато іншого."
        ]
      },
      "algorithms": {
        "note": "Очікуйте навесні",
        "intro": [
          "У цьому модулі ви дізнаєтесь про поширені алгоритми сортування та пошуку, зокрема алгоритм сортування бульбашкою, алгоритм бінарного пошуку та інші."
        ]
      },
      "graphs-and-trees": {
        "note": "Очікуйте навесні",
        "intro": [
          "У цьому модулі ви дізнаєтесь про графи, дерева та префіксні дерева."
        ]
      },
      "dynamic-programming": {
        "note": "Очікуйте навесні",
        "intro": [
          "У цьому модулі ви дізнаєтесь, як працює динамічне програмування."
        ]
      }
    },
    "blocks": {
      "lecture-introduction-to-javascript": {
        "title": "Вступ до JavaScript",
        "intro": [
          "У цих лекціях ви дізнаєтесь про основи JavaScript, зокрема про змінні, типи даних, взаємодію JavaScript з HTML і CSS, рядки та багато іншого."
        ]
      },
      "lecture-introduction-to-strings": {
        "title": "Вступ до рядків",
        "intro": [
          "У цих лекціях ви навчитесь працювати з рядками та об’єднувати їх."
        ]
      },
      "lecture-understanding-code-clarity": {
        "title": "Розуміння чіткості коду",
        "intro": [
          "У цих лекціях ви дізнаєтесь про коментарі в JavaScript та роль крапки з комою в програмуванні."
        ]
      },
      "workshop-greeting-bot": {
        "title": "Створіть вітального бота",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь, як працювати з основами JavaScript, створивши вітального бота.",
          "Ви дізнаєтесь про змінні, <code>let</code>, <code>const</code>, <code>console.log</code> та базове використання рядка."
        ]
      },
      "lab-javascript-trivia-bot": {
        "title": "Створіть бота з цікавими фактами",
        "intro": [
          "У цій лабораторній роботі ви будете працювати зі змінними та рядками в JavaScript, створивши бота."
        ]
      },
      "lab-sentence-maker": {
        "title": "Створіть творця речень",
        "intro": [
          "У цій лабораторній роботі ви продовжите працювати з рядками і конкатенацією, створюючи та налаштовуючи різні історії."
        ]
      },
      "lecture-working-with-data-types": {
        "title": "Робота з типами даних",
        "intro": [
          "У цих лекціях ви навчитесь працювати з різними типами даних в JavaScript. Ви також дізнаєтесь про різницю між динамічною і статичною типізацією, оператор <code>typeof</code> і помилку <code>typeof null</code>."
        ]
      },
      "review-javascript-variables-and-data-types": {
        "title": "Повторення змінних та типів даних в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Змінні та типи даних в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати змінні, типи даних, логи та коментування."
        ]
      },
      "quiz-javascript-variables-and-data-types": {
        "title": "Тест «Змінні та типи даних в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Змінні та типи даних в JavaScript»."
        ]
      },
      "lecture-working-with-strings-in-javascript": {
        "title": "Робота з рядками в JavaScript",
        "intro": [
          "У цих лекціях ви навчитеся працювати з рядками в JavaScript. Ви дізнаєтесь, як отримати доступ до символів рядка, як використовувати шаблонні літерали й інтерполяцію, як створити нову лінію в рядку та багато іншого."
        ]
      },
      "workshop-teacher-chatbot": {
        "title": "Створіть вчителя-бота",
        "intro": [
          "У цьому практичному занятті ви продовжите знайомство з рядками JavaScript, створивши чат-бот.",
          "Ви навчитеся працювати з шаблонними літерами та методом <code>indexOf</code>."
        ]
      },
      "lecture-working-with-string-character-methods": {
        "title": "Методи роботи з символами рядка",
        "intro": [
          "У цій лекції ви дізнаєтесь про систему ASCII, а також як використовувати методи <code>charCodeAt()</code> та <code>fromCharCode()</code> для перетворення символів і кодових значень ASCII."
        ]
      },
      "lecture-working-with-string-search-and-slice-methods": {
        "title": "Методи рядка: search та slice",
        "intro": [
          "У цій лекції ви дізнаєтесь, як знайти підрядок за допомогою методу <code>includes()</code> та як вирізати підрядок з рядка за допомогою методу <code>slice()</code>."
        ]
      },
      "workshop-string-inspector": {
        "title": "Створіть інспектора рядків",
        "intro": [
          "У цьому практичному занятті ви будете працювати з методами <code>includes()</code> та <code>slice()</code>, створивши інспектора рядків."
        ]
      },
      "lecture-working-with-string-formatting-methods": {
        "title": "Методи форматування рядка",
        "intro": [
          "У цій лекції ви дізнаєтесь про форматування рядків: як змінити регістр за допомогою методів <code>toUpperCase()</code> та <code>toLowerCase()</code>, а також як видалити пробіли за допомогою методів <code>trim()</code>, <code>trimStart()</code> та <code>trimEnd()</code>."
        ]
      },
      "workshop-string-formatter": {
        "title": "Створіть редактор рядків",
        "intro": [
          "У цьому практичному занятті ви будете працювати з різними методами роботи з рядками, серед яких <code>trim()</code>, <code>toUpperCase()</code> та <code>toLowerCase()</code>."
        ]
      },
      "lecture-working-with-string-modification-methods": {
        "title": "Методи зміни рядка",
        "intro": [
          "У цій лекції ви дізнаєтесь, як замінювати частини рядка за допомогою методу <code>replace()</code> і як повторювати рядок декілька разів за допомогою методу <code>repeat()</code>."
        ]
      },
      "workshop-string-transformer": {
        "title": "Створіть змінювач рядків",
        "intro": [
          "У цьому практичному занятті ви будете працювати з методами <code>replace()</code>, <code>replaceAll()</code> та <code>repeat()</code>."
        ]
      },
      "review-javascript-strings": {
        "title": "Повторення рядків у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Рядки в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з шаблонними літералами, а також з методами <code>slice</code>, <code>includes</code>, <code>trim</code> та багато іншого."
        ]
      },
      "quiz-javascript-strings": {
        "title": "Тест «Рядки в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Рядки в JavaScript»."
        ]
      },
      "lecture-working-with-numbers-and-arithmetic-operators": {
        "title": "Робота з числами та арифметичними операторами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про типи чисел, а також про арифметичні оператори та їхні методи роботи з числами і рядками."
        ]
      },
      "lab-debug-type-coercion-errors": {
        "title": "Налагодьте помилку приведення типів у застосунку",
        "intro": [
          "У цій лабораторній роботі ви будете працювати із застосунком, що містить кілька помилок приведення типів.",
          "Ваше завдання — знайти й виправити ці помилки, щоб застосунок працював правильно."
        ]
      },
      "lecture-working-with-operator-behavior": {
        "title": "Робота з поведінкою оператора",
        "intro": [
          "У цих лекціях ви дізнаєтесь про пріоритет операцій, оператори інкременту/декременту та оператори присвоєння."
        ]
      },
      "lab-debug-increment-and-decrement-operator-errors": {
        "title": "Налагодьте помилки оператора інкременту та декременту в застосунку",
        "intro": [
          "У цій лабораторній роботі ви налагодите застосунок, що має кілька помилок, пов’язаних з операторами інкременту і декременту.",
          "Ваше завдання — знайти й виправити ці помилки, щоб застосунок працював правильно."
        ]
      },
      "lecture-working-with-comparison-and-boolean-operators": {
        "title": "Робота з операторами порівняння та булевими операторами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про булеві значення, оператори рівності/нерівності та інші оператори порівняння."
        ]
      },
      "workshop-logic-checker-app": {
        "title": "Створіть застосунок для перевірки логіки",
        "intro": [
          "У цьому практичному занятті ви будете працювати з умовними операторами та операторами порівняння, створивши застосунок для перевірки логіки."
        ]
      },
      "lecture-working-with-unary-and-bitwise-operators": {
        "title": "Робота з унарними та бітовими операторами",
        "intro": ["У цих лекціях ви дізнаєтесь про унарні та бітові оператори."]
      },
      "lecture-working-with-conditional-logic-and-math-methods": {
        "title": "Робота з умовною логікою та методами об’єкта math",
        "intro": [
          "У цих лекціях ви дізнаєтесь про умовні інструкції, логічні оператори та об’єкт <code>Math</code>."
        ]
      },
      "workshop-mathbot": {
        "title": "Створіть математичного бота",
        "intro": [
          "У цьому практичному занятті ви пригадаєте, як працювати з різними методами об’єкта Math, створивши математичного бота."
        ]
      },
      "lab-fortune-teller": {
        "title": "Створіть генератор передбачень",
        "intro": [
          "У цій лабораторній роботі ви створите генератор передбачень, де користувач випадково обиратиме передбачення зі всіх доступних.",
          "Ви будете працювати з методами <code>Math.random()</code> та <code>Math.floor()</code>, щоб генерувати випадкові числа."
        ]
      },
      "lecture-working-with-numbers-and-common-number-methods": {
        "title": "Робота з числами та поширені методи роботи з ними",
        "intro": [
          "У цих лекціях ви дізнаєтесь про числа та поширені методи роботи з ними. До них належать <code>isNaN()</code>, <code>parseInt()</code>, <code>parseFloat()</code> та <code>toFixed()</code>."
        ]
      },
      "review-javascript-math": {
        "title": "Повторення об’єкту Math в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Об’єкт <code>Math</code> в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з методами <code>Math.random()</code>, <code>Math.floor()</code> тощо."
        ]
      },
      "quiz-javascript-math": {
        "title": "Тест «Об’єкт Math в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Об’єкт <code>Math</code> в JavaScript»."
        ]
      },
      "lecture-understanding-comparisons-and-conditionals": {
        "title": "Знайомство з порівняннями й умовами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про оператори порівняння і умовні вирази. Ви дізнаєтесь, чим відрізняються умовні вирази між собою, і як працюють порівняння з <code>null</code> та <code>undefined</code>."
        ]
      },
      "review-javascript-comparisons-and-conditionals": {
        "title": "Повторення порівняння та умов у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Порівняння та умови в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з інструкціями <code>switch</code>, а також з іншими типами умовних інструкцій."
        ]
      },
      "quiz-javascript-comparisons-and-conditionals": {
        "title": "Тест «Порівняння та умови в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Порівняння та умови в JavaScript»."
        ]
      },
      "lecture-working-with-functions": {
        "title": "Робота з функціями",
        "intro": [
          "У цих лекціях ви навчитесь повторно використовувати блок коду за допомогою функцій. Ви дізнаєтесь про головну мету функцій та як вони працюють, і що таке область видимості в програмуванні."
        ]
      },
      "workshop-calculator": {
        "title": "Створіть калькулятор",
        "intro": [
          "У цьому практичному занятті ви пригадаєте, як працювати з функціями, створивши калькулятор."
        ]
      },
      "lab-boolean-check": {
        "title": "Створіть перевірку булевого значення",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте функцію, яка перевіряє, чи значення є булевим."
        ]
      },
      "lab-email-masker": {
        "title": "Створіть маскування електронної пошти",
        "intro": [
          "У цій лабораторній роботі ви створите маскування електронної пошти, яке прийматиме адресу та приховуватиме її.",
          "Ви будете розрізати рядок, застосовувати конкатенацію та використовувати функції."
        ]
      },
      "workshop-loan-qualification-checker": {
        "title": "Створіть перевірку на дотримання вимог до позики",
        "intro": [
          "У цьому практичному занятті ви продовжите вивчати про умовні інструкції, створивши перевірку на дотримання вимог до позики.",
          "Ви детальніше дізнаєтесь про інструкції <code>if</code>, а також як використовувати оператори порівняння та декілька умов в інструкції <code>if</code>."
        ]
      },
      "lab-celsius-to-fahrenheit-converter": {
        "title": "Створіть конвертер з Цельсія в Фаренгейт",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка перетворює температуру з Цельсія в Фаренгейт."
        ]
      },
      "lab-counting-cards": {
        "title": "Створіть асистента для підрахунку карт",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати JavaScript для підрахунку карт."
        ]
      },
      "lab-leap-year-calculator": {
        "title": "Створіть калькулятор високосних років ",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати умовні інструкції та цикли, щоб визначити, чи рік високосний."
        ]
      },
      "lab-truncate-string": {
        "title": "Імплементуйте алгоритм скорочення рядка",
        "intro": [
          "У цій лабораторній роботі ви навчитесь скорочувати рядок до певної довжини."
        ]
      },
      "lab-string-ending-checker": {
        "title": "Створіть інструмент для перевірки кінця рядка",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка перевіряє, чи заданий рядок закінчується конкретними символами."
        ]
      },
      "review-javascript-functions": {
        "title": "Повторення функцій в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Функції в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати функції, стрілкові функції та область видимості."
        ]
      },
      "quiz-javascript-functions": {
        "title": "Тест «Функції в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Функції в JavaScript»."
        ]
      },
      "lecture-working-with-arrays": {
        "title": "Робота з масивами",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з масивами в JavaScript. Ви дізнаєтесь про масиви, різницю між одновимірними та багатовимірними масивами, як отримати доступ до елементів масиву та оновити їх, а також багато іншого."
        ]
      },
      "workshop-shopping-list": {
        "title": "Створіть список покупок",
        "intro": [
          "У цьому практичному занятті ви попрактикуєтесь працювати з масивами, створивши список покупок.",
          "Ви пригадаєте, як додавати й видаляти елементи з масиву за допомогою різних методів, серед яких <code>push</code>, <code>pop</code>, <code>shift</code> та <code>unshift</code>."
        ]
      },
      "lab-lunch-picker-program": {
        "title": "Створіть програму для вибору перекусу",
        "intro": [
          "У цій лабораторній роботі ви пригадаєте, як працювати з масивами й випадковими числами, створивши програму для вибору перекусу."
        ]
      },
      "lab-golf-score-translator": {
        "title": "Створіть конвертер очок в гольфі",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати методи масиву, щоб перетворити очки в гольфі у їхні назви."
        ]
      },
      "lecture-working-with-common-array-methods": {
        "title": "Поширені методи роботи з масивами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про масиви та їхні методи для виконання складніших операцій: як отримати позицію елемента, як перевірити наявність певного елемента, як скопіювати масив та багато іншого."
        ]
      },
      "review-javascript-arrays": {
        "title": "Повторення масивів у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Масиви в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати деструктуризацію масивів, додавання і вилучення елементів з масиву та багато іншого."
        ]
      },
      "quiz-javascript-arrays": {
        "title": "Тест «Масиви в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Масиви в JavaScript»."
        ]
      },
      "lecture-introduction-to-javascript-objects-and-their-properties": {
        "title": "Вступ до об’єктів та їхніх властивостей",
        "intro": [
          "У цих лекціях ви ознайомитесь з об’єктами в JavaScript: як їх створювати і як отримати доступ до властивостей, а також дізнаєтесь ключові відмінності між примітивними та непримітивними типами даних."
        ]
      },
      "workshop-wildlife-tracker": {
        "title": "Створіть трекер дикої природи",
        "intro": [
          "У цьому практичному занятті ви створите звичайний трекер дикої природи за допомогою об’єктів.",
          "Ви будете створювати об’єкти, працювати з властивостями і перевіряти їхнє існування, а також працювати з дужковою нотацією."
        ]
      },
      "lab-cargo-manifest-validator": {
        "title": "Створіть валідатор вантажного маніфесту",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати JavaScript, щоб нормалізувати і перевіряти вантажні маніфести."
        ]
      },
      "lecture-working-with-json": {
        "title": "Робота з JSON",
        "intro": [
          "У цих лекціях ви дізнаєтесь про JSON (JavaScript Object Notation), зокрема: як отримати доступ до даних JSON, а також як використовувати методи <code>JSON.parse()</code> та <code>JSON.stringify()</code>."
        ]
      },
      "lecture-working-with-optional-chaining-and-object-destructuring": {
        "title": "Робота з необов’язковим ланцюжком та деструктуризацією об’єкта",
        "intro": [
          "У цих лекціях ви дізнаєтесь про передові техніки маніпулювання об’єктами в JavaScript, зокрема про необов’язковий ланцюжок та деструктуризацію об’єкта."
        ]
      },
      "workshop-recipe-tracker": {
        "title": "Створіть трекер рецептів",
        "intro": [
          "У цьому практичному занятті ви пригадаєте, як працювати з об’єктами в JavaScript, створивши трекер рецептів."
        ]
      },
      "lab-quiz-game": {
        "title": "Створіть ігрову вікторину",
        "intro": [
          "У цій лабораторній роботі ви створите ігрову вікторину, використовуючи масиви та об’єкти в JavaScript.",
          "Ви будете використовувати функції для випадкового вибору запитання й відповіді з масиву та порівнюватимете їх."
        ]
      },
      "lab-record-collection": {
        "title": "Створіть колекцію платівок",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка керує колекцією платівок."
        ]
      },
      "review-javascript-objects": {
        "title": "Повторення об’єктів у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Об’єкти в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як отримувати інформацію з об’єктів, деструктуризацію об’єктів, роботу з JSON та багато іншого."
        ]
      },
      "quiz-javascript-objects": {
        "title": "Тест «Об’єкти в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Об’єкти в JavaScript»."
        ]
      },
      "lecture-working-with-loops": {
        "title": "Робота з циклами",
        "intro": [
          "Цикли — це важлива частина JavaScript. Тому наступні лекції підготовлено для того, щоб ви дізналися про різні типи циклів, як вони працюють, а також про те, як працює ітерація."
        ]
      },
      "workshop-word-counter": {
        "title": "Створіть лічильник слів",
        "intro": [
          "У цьому практичному занятті ви будете використовувати цикли <code>for...of</code> для створення функції, яка рахує скільки разів зустрічається рядок в масиві."
        ]
      },
      "workshop-sentence-analyzer": {
        "title": "Створіть аналізатор речень",
        "intro": [
          "У цьому практичному занятті ви пригадаєте, як працювати з циклами в JavaScript, створивши аналізатор речень."
        ]
      },
      "workshop-space-mission-roster": {
        "title": "Створіть список для космічного польоту",
        "intro": [
          "У цьому практичному занятті ви будете використовувати цикли, щоб створити список особового складу для космічного польоту."
        ]
      },
      "workshop-heritage-library-catalog": {
        "title": "Створіть каталог для бібліотеки спадщини",
        "intro": [
          "У цьому практичному занятті ви оцифруєте історичні записи для бібліотеки спадщини.",
          "Ви будете користуватись циклами, об’єктами і рядками, щоб аналізувати необроблені текстові дані, шукати й групувати записи, відтворювати відформатовані дані, а також експортувати JSON та CSV."
        ]
      },
      "lab-longest-word-in-a-string": {
        "title": "Створіть пошук найдовшого слова",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати цикли, щоб знайти довжину найдовшого слова в заданому реченні."
        ]
      },
      "lab-factorial-calculator": {
        "title": "Створіть калькулятор факторіалів ",
        "intro": [
          "У цій лабораторній роботі ви створите калькулятор факторіалів.",
          "Ви будете використовувати цикли та умови для обчислення факторіала числа."
        ]
      },
      "lab-mutations": {
        "title": "Імплементуйте алгоритм мутацій",
        "intro": [
          "У цій лабораторній роботі ви навчитесь ітерувати над двома різними рядками і порівнювати їхні символи."
        ]
      },
      "lab-chunky-monkey": {
        "title": "Імплементуйте алгоритм мавпочки Чанкі",
        "intro": [
          "У цій лабораторній роботі ви навчитесь ділити масив на менші частини, використовуючи метод на власний вибір."
        ]
      },
      "lab-profile-lookup": {
        "title": "Створіть перегляд профілю",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка шукатиме інформацію."
        ]
      },
      "lab-repeat-a-string": {
        "title": "Створіть функцію для повтору рядка",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте масиви, щоб повторити рядок задану кількість разів."
        ]
      },
      "workshop-festival-crowd-flow-simulator": {
        "title": "Створіть симулятор натовпу на фестивалі",
        "intro": [
          "У цьому практичному занятті ви будете використовувати JavaScript, щоб створити симуляцію потоку відвідувачів на музичному фестивалі."
        ]
      },
      "lab-missing-letter-detector": {
        "title": "Створіть детектор літери, якої не хватає",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка знаходить пропущену літеру в заданому діапазоні послідовних літер і поверне її."
        ]
      },
      "lab-smart-pantry-restocker": {
        "title": "Build a Smart Pantry Restocker",
        "intro": [
          "In this lab, you will build a small pantry management program using basic JavaScript concepts like arrays, objects, loops, and conditionals."
        ]
      },
      "lab-proofreading-tool": {
        "title": "Створіть інструмент для редагування",
        "intro": [
          "У цій лабораторній роботі ви створите інструмент для редагування, який перевіряє масив слів на наявність паліндромів або повторюваних фраз.",
          "Ви застосуєте цикли і вкладені цикли на практиці, щоб перевірити паліндроми і знайти повторювані слова."
        ]
      },
      "review-javascript-loops": {
        "title": "Повторення циклів у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Цикли в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати цикл <code>for...of</code>, цикл <code>while</code>, інструкції <code>break and continue</code> та багато іншого."
        ]
      },
      "quiz-javascript-loops": {
        "title": "Тест «Цикли в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Цикли в JavaScript»."
        ]
      },
      "lecture-working-with-types-and-objects": {
        "title": "Робота з типами та об’єктами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про рядкові об’єкти, метод <code>toString()</code>, конструктор <code>Number</code> і багато іншого."
        ]
      },
      "lecture-working-with-arrays-variables-and-naming-practices": {
        "title": "Робота з масивами, змінними та іменуваннями",
        "intro": [
          "У цих лекціях ви дізнаєтесь про поширені практики для найменування змінних і функцій, а також як працювати з масивами."
        ]
      },
      "lecture-working-with-code-quality-and-execution-concepts": {
        "title": "Робота з якістю коду та його виконанням",
        "intro": [
          "У цих лекціях ви дізнаєтесь про лінтери, форматери, керування пам’яттю та припинення."
        ]
      },
      "lab-reverse-a-string": {
        "title": "Змініть порядок символів рядка",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка обертає заданий рядок."
        ]
      },
      "lab-largest-number-finder": {
        "title": "Створіть пошук найбільшого числа",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка знаходить найбільше число в кожному підмасиві заданого масиву."
        ]
      },
      "lab-first-element-finder": {
        "title": "Створіть пошук першого елемента",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка переглядає масив і повертає перший елемент, який проходить тест на «істинність»."
        ]
      },
      "lab-slice-and-splice": {
        "title": "Імплементуйте алгоритм розрізання і з’єднання",
        "intro": ["У цій лабораторній роботі ви навчитесь з’єднувати масиви."]
      },
      "lab-pyramid-generator": {
        "title": "Створіть генератор пірамід",
        "intro": [
          "У цій лабораторній роботі ви створите генератор пірамід.",
          "Ви будете приймати число як вхідні дані та, використовуючи цикл, згенеруєте піраміду з такою кількістю рівнів."
        ]
      },
      "lab-gradebook-app": {
        "title": "Створіть відомість з оцінками",
        "intro": [
          "У цій лабораторній роботі ви створите електронну відомість з оцінками.",
          "Ви будете використовувати умови, щоб визначити підсумкову оцінку студента на основі його балів."
        ]
      },
      "lecture-the-var-keyword-and-hoisting": {
        "title": "Ключове слово var та підняття",
        "intro": [
          "У цих лекціях ви дізнаєтесь про ключове слово <code>var</code> та чому його більше не рекомендують використовувати. Ви також ознайомитеся з підйомом в JavaScript, щоб уникати неочевидних помилок у коді."
        ]
      },
      "lab-title-case-converter": {
        "title": "Створіть змінювач регістру",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка змінює регістр рядка."
        ]
      },
      "lab-falsy-remover": {
        "title": "Створіть викривача брехні",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка видаляє всі хибні значення з масиву."
        ]
      },
      "lab-inventory-management-program": {
        "title": "Створіть програму керування запасами",
        "intro": [
          "У цій лабораторній роботі ви створите програму керування запасами за допомогою JavaScript.",
          "Ви будете використовувати масив об’єктів JavaScript для керування запасами."
        ]
      },
      "lecture-understanding-modules-imports-and-exports": {
        "title": "Знайомство з модулями, імпортом та експортом",
        "intro": [
          "У цій лекції ви дізнаєтесь про модулі, імпорти та експорти в JavaScript."
        ]
      },
      "lecture-working-with-the-arguments-object-and-rest-parameters": {
        "title": "Робота з об’єктом arguments та параметрами rest",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з об’єктом <code>arguments</code> та синтаксисом залишкових параметрів."
        ]
      },
      "lab-unique-sorted-union": {
        "title": "Створіть унікально відсортований масив",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка приймає два або більше масивів та повертає новий масив унікальних значень у порядку наданих масивів."
        ]
      },
      "lab-password-generator": {
        "title": "Створіть генератор паролів",
        "intro": [
          "У цій лабораторній роботі ви створите застосунок для генерації паролів на основі вхідних даних користувача."
        ]
      },
      "lab-sum-all-numbers-algorithm": {
        "title": "Імплементуйте алгоритм суми всіх чисел",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм суми всіх чисел. Цей алгоритм приймає два числа і повертає їхню суму, до якої також додається сума всіх чисел між ними."
        ]
      },
      "lab-dna-pair-generator": {
        "title": "Створіть генератор ДНК",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм, що перетворює ланцюг в молекулу ДНК."
        ]
      },
      "lab-html-entitiy-converter": {
        "title": "Створіть конвертер HTML-сутностей",
        "intro": [
          "У цій лабораторній роботі ви перетворите спеціальні символи в рядку відповідно до HTML-сутностей."
        ]
      },
      "lab-odd-fibonacci-sum-calculator": {
        "title": "Створіть калькулятор непарних чисел Фібоначчі",
        "intro": [
          "У цій лабораторній роботі ви створите калькулятор непарних чисел Фібоначчі, який приймає число і повертає суму всіх непарних чисел Фібоначчі, які менші або дорівнюють заданому числу."
        ]
      },
      "lab-element-skipper": {
        "title": "Імплементуйте пропуск елементів",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка пропускає елементи в масиві на основі вказаного значення."
        ]
      },
      "lab-playlist-remix-engine": {
        "title": "Створіть програму для реміксів",
        "intro": [
          "У цій лабораторній роботі ви створите програму для реміксів на основі плейлиста, використовуючи масиви.",
          "Ви будете застосовувати методи і логіку масивів, щоб працювати з даними і згенерувати кінцевий ремікс."
        ]
      },
      "review-javascript-fundamentals": {
        "title": "Повторення основ JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Основи JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати замикання, управління пам’яттю та багато іншого."
        ]
      },
      "quiz-javascript-fundamentals": {
        "title": "Тест «Основи JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Основи JavaScript»."
        ]
      },
      "lecture-working-with-higher-order-functions-and-callbacks": {
        "title": "Робота з функціями вищого порядку та зворотного виклику",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з функціями вищого порядку та функціями зворотного виклику. До функцій вищого порядку, які ви вивчите, належать <code>map()</code>, <code>filter()</code>, <code>reduce()</code>, <code>sort()</code>, <code>every()</code> та <code>some()</code>. Ви також навчитеся зв’язувати ці методи у послідовність для отримання бажаних результатів."
        ]
      },
      "workshop-library-manager": {
        "title": "Створіть менеджера бібліотеки",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь про методи роботи з масивами вищого порядку, створивши менеджера бібліотеки."
        ]
      },
      "lab-book-organizer": {
        "title": "Створіть органайзер для книжок",
        "intro": [
          "У цій лабораторній роботі ви створите органайзер для книжок, використовуючи функції вищого порядку в JavaScript."
        ]
      },
      "lab-sorted-index-finder": {
        "title": "Імплементуйте пошук відсортованого індексу",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка знаходить індекс, за яким потрібно вставити число до відсортованого масиву, при цьому зберігши його порядок."
        ]
      },
      "lab-symmetric-difference": {
        "title": "Створіть функцію симетричної різниці",
        "intro": [
          "У цій лабораторній роботі ви будете користуватись функціями вищого порядку, щоб знайти симетричну різницю двох масивів."
        ]
      },
      "lab-value-remover-function": {
        "title": "Створіть функцію для видалення значення",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка видаляє всі екземпляри вказаного значення з масиву."
        ]
      },
      "lab-matching-object-filter": {
        "title": "Створіть фільтр для відповідності об’єктів",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка переглядає масив об’єктів і повертає масив всіх об’єктів з відповідними парами властивість-значення."
        ]
      },
      "lab-prime-number-sum-calculator": {
        "title": "Створіть калькулятор суми простих чисел",
        "intro": [
          "У цій лабораторній роботі ви створите калькулятор простих чисел, який приймає число і повертає суму всіх чисел, які менші або дорівнюють заданому числу."
        ]
      },
      "lab-range-based-lcm-calculator": {
        "title": "Створіть калькулятор НСК",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка приймає масив з двома числами, а потім повертає найменше спільне кратне (НСК) і всі числа між ними."
        ]
      },
      "lab-deep-flattening-tool": {
        "title": "Створіть інструмент для сплощування",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка може сплощувати глибоко вкладені масиви, справляючись без вбудованих методів."
        ]
      },
      "lab-all-true-property-validator": {
        "title": "Створіть валідатор правдивих значень",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка перевіряє, чи всі об’єкти в масиві мають дійсне значення конкретної властивості."
        ]
      },
      "review-javascript-higher-order-functions": {
        "title": "Повторення функцій вищого порядку в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Функції вищого порядку в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з методами <code>map()</code>, <code>filter()</code> та <code>reduce()</code>."
        ]
      },
      "quiz-javascript-higher-order-functions": {
        "title": "Тест «Функції вищого порядку в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Функції вищого порядку в JavaScript»."
        ]
      },
      "lecture-working-with-the-dom-click-events-and-web-apis": {
        "title": "Робота з DOM, подіями click та web API",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з об’єктною моделлю документа (DOM), методом <code>addEventListener()</code>, різними подіями і веб-API."
        ]
      },
      "workshop-storytelling-app": {
        "title": "Створіть застосунок з оповіданнями",
        "intro": [
          "У цьому практичному занятті ви створите застосунок з оповіданнями, що дозволить відтворювати їхній список за жанром."
        ]
      },
      "workshop-emoji-reactor": {
        "title": "Створіть реакції з емоджі",
        "intro": [
          "У цьому практичному занятті ви створите реакції з емоджі, щоб застосувати <code>querySelector</code> та <code>querySelectorAll</code> на практиці."
        ]
      },
      "lab-favorite-icon-toggler": {
        "title": "Створіть перемикач іконки вподобання",
        "intro": [
          "У цій лабораторній роботі ви створите перемикач іконки вподобання, використовуючи подію click в JavaScript."
        ]
      },
      "lecture-understanding-the-event-object-and-event-delegation": {
        "title": "Знайомство з подіями та їх делегуванням",
        "intro": [
          "У цих лекціях ви дізнаєтесь про об’єкт <code>event</code>, подію <code>change</code>, бульбашковий механізм та делегування подій."
        ]
      },
      "workshop-music-instrument-filter": {
        "title": "Створіть фільтр з музичними інструментами",
        "intro": [
          "У цьому практичному занятті ви створите фільтр з музичними інструментами за допомогою JavaScript."
        ]
      },
      "lab-real-time-counter": {
        "title": "Створіть лічильник символів",
        "intro": [
          "У цій лабораторній роботі ви створите лічильник символів у реальному часі.",
          "Ви будете працювати з подією <code>input</code>, де користувач вводить текст у поле введення даних."
        ]
      },
      "lab-lightbox-viewer": {
        "title": "Створіть переглядач Lightbox",
        "intro": [
          "У цій лабораторній роботі ви створите переглядач lightbox для перегляду зображень у сфокусованому режимі.",
          "Ви будете практикуватись працювати з подіями натискання та перемиканням класів."
        ]
      },
      "workshop-rps-game": {
        "title": "Створіть гру «Камінь-ножиці-папір»",
        "intro": [
          "У цьому практичному занятті ви пригадаєте маніпуляцію та події DOM, створивши гру «Камінь-ножиці-папір»."
        ]
      },
      "lab-football-team-cards": {
        "title": "Створіть набір карток футбольних команд",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати маніпуляцію DOM, деструктуризацію об’єктів, обробку подій та фільтрацію даних, щоб створити набір карток футбольних команд."
        ]
      },
      "review-dom-manipulation-and-click-events-with-javascript": {
        "title": "Повторення маніпуляції DOM та подій Click в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Маніпуляція DOM та події Click в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з <code>DOM</code>, <code>Web API</code>, методом <code>addEventListener()</code>, зміною подій та багато іншого."
        ]
      },
      "quiz-dom-manipulation-and-click-event-with-javascript": {
        "title": "Тест «Маніпуляція DOM та події Click в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Маніпуляція DOM та події Click в JavaScript»."
        ]
      },
      "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": {
        "title": "Знайомство з aria-expanded, aria-live та поширеними станами ARIA",
        "intro": [
          "У цих лекціях ви дізнаєтесь більше про ARIA-атрибути (серед яких <code>aria-expanded</code> та <code>aria-live</code>), а також про поширені ARIA-стани."
        ]
      },
      "workshop-planets-tablist": {
        "title": "Створіть перелік планет",
        "intro": [
          "У цьому практичному занятті ви створите динамічну вкладку з фактами про планети Сонячної системи."
        ]
      },
      "workshop-note-taking-app": {
        "title": "Створіть застосунок для нотаток",
        "intro": [
          "У цьому практичному занятті ви створите доступний застосунок для нотаток.",
          "У вас буде можливість застосувати атрибут <code>aria-live</code> на практиці."
        ]
      },
      "lab-theme-switcher": {
        "title": "Створіть перемикач тем",
        "intro": [
          "У цій лабораторній роботі ви створите перемикач тем, а також попрацюєте з атрибутами <code>aria-haspopup</code>, <code>aria-expanded</code> та <code>aria-controls</code>."
        ]
      },
      "review-js-a11y": {
        "title": "Повторення JavaScript та доступності",
        "intro": [
          "Перш ніж перейти до тесту «JavaScript та доступність», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з атрибутами <code>aria-expanded</code>, <code>aria-live</code> та <code>aria-controls</code>."
        ]
      },
      "quiz-js-a11y": {
        "title": "Тест «JavaScript та доступність»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «JavaScript та доступність»."
        ]
      },
      "lecture-debugging-techniques": {
        "title": "Техніки налагодження",
        "intro": [
          "У цих лекціях ви дізнаєтесь про поширені помилки в JavaScript та техніки, за допомогою яких їх можна виправити — процес, який називається «налагодженням»."
        ]
      },
      "lab-random-background-color-changer": {
        "title": "Налагодьте перемикач кольору фону",
        "intro": [
          "У цій лабораторній роботі ви налагодите перемикач кольору фону та виправите помилки, щоб він працював правильно."
        ]
      },
      "review-debugging-javascript": {
        "title": "Повторення налагодження JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Налагодження JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з інструкцією <code>throw</code>, <code>try...catch...finally</code> та багато іншого."
        ]
      },
      "quiz-debugging-javascript": {
        "title": "Тест «Налагодження JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Налагодження JavaScript»."
        ]
      },
      "lecture-working-with-regular-expressions": {
        "title": "Робота з регулярними виразами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про регулярні вирази в JavaScript. Ви дізнаєтесь про методи роботи з регулярними виразами, модифікатори, класи символів, перевірки вперед і назад, зворотні посилання, квантори та багато іншого."
        ]
      },
      "workshop-spam-filter": {
        "title": "Створіть спам-фільтр",
        "intro": [
          "Регулярні вирази (відомі як «regex» або «regexp») — це шаблони, які допомагають програмістам поєднувати, шукати та замінювати текст. Регулярні вирази надзвичайно потужні, але їх важко зрозуміти, оскільки у них використовуються спеціальні символи.",
          "У цьому практичному занятті ви будете використовувати групи захоплення, позитивні та негативні перевірки, а також інші техніки, щоб текст відповідав бажаному."
        ]
      },
      "lab-palindrome-checker": {
        "title": "Створіть перевірку паліндрома",
        "intro": [
          "У цій лабораторній роботі ви створите застосунок, який перевіряє, чи слово є паліндромом."
        ]
      },
      "lab-regex-sandbox": {
        "title": "Створіть пісочницю для регулярних виразів",
        "intro": [
          "У цій лабораторній роботі ви створите пісочницю для регулярних виразів."
        ]
      },
      "lab-spinal-case-converter": {
        "title": "Імплементуйте шашличний регістр",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка змінює регістр заданого рядка на шашличний (всі слова починаються з малої літери і розділені дефісами)."
        ]
      },
      "lab-pig-latin": {
        "title": "Імплементуйте перекладач зі свинячої латини",
        "intro": [
          "У цій лабораторній роботі ви створите перекладача зі свинячої латини.",
          "Ви будете працювати з маніпулюванням рядків, умовною логікою та регулярними виразами."
        ]
      },
      "lab-smart-word-replacement": {
        "title": "Створіть функцію для розумної заміни слів",
        "intro": [
          "У цій лабораторній роботі ви застосуєте регулярні вирази для створення функції, яка виконує пошук і замінює слова в заданому рядку."
        ]
      },
      "review-javascript-regular-expressions": {
        "title": "Повторення регулярних виразів у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Регулярні вирази в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати перевірки уперед і назад, загальні модифікатори регулярних виразів та багато іншого."
        ]
      },
      "quiz-javascript-regular-expressions": {
        "title": "Тест «Регулярні вирази в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Регулярні вирази в JavaScript»."
        ]
      },
      "lab-markdown-to-html-converter": {
        "title": "Створіть конвертер з markdown у HTML",
        "intro": [
          "У цій лабораторній роботі ви створите конвертер з markdown у HTML за допомогою JavaScript.",
          "Ви будете працювати з регулярними виразами, маніпулювати рядками та багато іншого."
        ]
      },
      "lecture-understanding-form-validation": {
        "title": "Знайомство з валідацією форм",
        "intro": [
          "У цих лекціях ви дізнаєтесь про валідацію форм у JavaScript. Ви дізнаєтесь про різні способи валідації форм, а також як працюють метод <code>preventDefault()</code> та подія <code>submit</code>."
        ]
      },
      "workshop-calorie-counter": {
        "title": "Створіть калькулятор калорій",
        "intro": [
          "Іноді при створенні вебзастосунків потрібно працювати з вхідними даними від користувача. У цьому практичному занятті ви будете обробляти вхідні дані користувача, виконувати обчислення на основі цих даних та динамічно оновлювати інтерфейс для відтворення результатів.",
          "Ви також попрактикуєте регулярні вирази, шаблонні літерали, метод <code>addEventListener()</code> та багато іншого."
        ]
      },
      "lab-customer-complaint-form": {
        "title": "Створіть форму для скарг",
        "intro": [
          "У цій лабораторній роботі ви будете працювати над формою для скарг від клієнтів, використовуючи JavaScript.",
          "Ви будете перевіряти дані форми, відтворювати повідомлення про помилки та запобігати відправленню форми, якщо є помилки."
        ]
      },
      "review-form-validation-with-javascript": {
        "title": "Повторення валідації форм з JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Валідація форм з JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати метод <code>preventDefault()</code>, подію <code>submit</code> та багато іншого."
        ]
      },
      "quiz-form-validation-with-javascript": {
        "title": "Тест «Валідація форм з JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Валідація форм з JavaScript»."
        ]
      },
      "lecture-working-with-dates": {
        "title": "Робота з датами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про об’єкт <code>date</code> в JavaScript. Ви ознайомитесь з різними методами, щоб працювати з датами та форматувати їх."
        ]
      },
      "lab-date-conversion": {
        "title": "Створіть програму для перетворення дати",
        "intro": [
          "У цій лабораторній роботі ви створите програму, яка перетворюватиме дату з одного формату в інший."
        ]
      },
      "review-javascript-dates": {
        "title": "Повторення дат у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Дати в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати об’єкт <code>Date()</code> та поширені методи."
        ]
      },
      "quiz-javascript-dates": {
        "title": "Тест «Дати в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Дати в JavaScript»."
        ]
      },
      "lecture-working-with-audio-and-video": {
        "title": "Робота з аудіо та відео",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з аудіо- та відеофайлами за допомогою JavaScript. Ви дізнаєтесь про конструктори <code>Audio</code> і <code>Video</code>, їхні методи і властивості, аудіо- і відеоформати, кодеки, <code>HTMLMediaElement</code> API та багато іншого."
        ]
      },
      "workshop-music-player": {
        "title": "Створіть музичний плеєр",
        "intro": [
          "У цьому практичному занятті ви створите звичайний MP3-плеєр за допомогою HTML, CSS та JavaScript.",
          "Цей проєкт охоплює ключові поняття, серед яких обробка аудіо, управління плейлистом, реалізація функцій програвання, паузи, наступної пісні та перемішування, а також динамічне оновлення інтерфейсу користувача на основі поточної пісні."
        ]
      },
      "review-javascript-audio-and-video": {
        "title": "Повторення аудіо та відео в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Аудіо та відео в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати конструктор <code>Audio</code>, <code>HTMLMediaElement</code> API та багато іншого."
        ]
      },
      "quiz-javascript-audio-and-video": {
        "title": "Тест «Аудіо та відео в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Аудіо та відео в JavaScript»."
        ]
      },
      "lab-drum-machine": {
        "title": "Створіть драм-машину",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати елемент <code>audio</code>, щоб створити драм-машину."
        ]
      },
      "lecture-working-with-maps-and-sets": {
        "title": "Робота з map та set",
        "intro": [
          "У цих лекціях ви дізнаєтесь про <code>Map</code> та <code>Set</code> в JavaScript. Ви також дізнаєтесь, як вони відрізняються від <code>WeakSets</code> та <code>WeakMaps</code>."
        ]
      },
      "workshop-plant-nursery-catalog": {
        "title": "Створіть каталог рослин",
        "intro": [
          "У цьому практичному занятті ви попрактикуєте map та set, створивши каталог рослин."
        ]
      },
      "review-javascript-maps-and-sets": {
        "title": "Повторення map та set в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Map та set в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати об’єкти <code>Map</code> та <code>Set</code>, а також WeakSet й WeakMap."
        ]
      },
      "quiz-javascript-maps-and-sets": {
        "title": "Тест «Map та set в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Map та set в JavaScript»."
        ]
      },
      "lab-voting-system": {
        "title": "Створіть систему для голосування",
        "intro": [
          "У цій лабораторній роботі ви створите систему для голосування, використовуючи map та set.",
          "Ви будете використовувати об’єкт <code>Map</code> для зберігання пар ключ-значення та об’єкт <code>Set</code> для зберігання унікальних значень."
        ]
      },
      "lecture-working-with-client-side-storage-and-crud-operations": {
        "title": "Робота зі сховищем на клієнтській стороні та операціями CRUD",
        "intro": [
          "У цих лекціях ви дізнаєтесь про сховище пам’яті на стороні клієнта та CRUD-операції в JavaScript. Ви дізнаєтесь про <code>localStorage</code> та <code>sessionStorage</code> разом з їхніми методами та властивостями, файли cookie, Cache API, IndexDB та багато іншого."
        ]
      },
      "workshop-todo-app": {
        "title": "Створіть застосунок зі справами за допомогою локального сховища",
        "intro": [
          "Локальне сховище — це функція вебпереглядача, яка дозволяє вебзастосункам зберігати пари ключ-значення в браузері користувача. Воно також дозволяє зберігати дані протягом одного сеансу та використовувати їх в наступному.",
          "У цьому практичному занятті ви навчитеся обробляти вхідні дані, управляти локальним сховищем, виконувати операції CRUD (створення, читання, оновлення, видалення), реалізовувати слухачів подій та перемикати елементи інтерфейсу користувача."
        ]
      },
      "lab-bookmark-manager-app": {
        "title": "Створіть менеджера закладок",
        "intro": [
          "У цій лабораторній роботі ви створите менеджера закладок.",
          "Ви будете використовувати локальне сховище, щоб зберігати закладки, а також попрактикуєте їх додавання, видалення і відтворення."
        ]
      },
      "review-local-storage-and-crud": {
        "title": "Повторення локального сховища та CRUD",
        "intro": [
          "Перш ніж перейти до тесту «Локальне сховище та CRUD», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати властивості <code>localStorage</code>, <code>sessionStorage</code> та багато іншого."
        ]
      },
      "quiz-local-storage-and-crud": {
        "title": "Тест «Локальне сховище та CRUD»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Локальне сховище та CRUD»."
        ]
      },
      "lecture-understanding-how-to-work-with-classes-in-javascript": {
        "title": "Знайомство з класами в JavaScript",
        "intro": [
          "У цих лекціях ви дізнаєтесь про класи в JavaScript. Ви ознайомитеся з успадкуванням, ключовим словом <code>this</code>, статичними властивостями й методами та багато іншим."
        ]
      },
      "workshop-shopping-cart": {
        "title": "Створіть кошик для покупок",
        "intro": [
          "У цьому практичному занятті ви створите кошик для покупок, використовуючи класи JavaScript.",
          "Ви ознайомитесь з ключовим словом this, створите екземпляри класу, імплементуєте методи для маніпуляції даними та багато іншого."
        ]
      },
      "lab-project-idea-board": {
        "title": "Створіть дошку ідей",
        "intro": [
          "У цій лабораторній роботі ви створите дошку ідей за допомогою ООП в JavaScript.",
          "Ви будете створювати класи, додавати методи до класів та створювати екземпляри класів."
        ]
      },
      "review-javascript-classes": {
        "title": "Повторення класів у JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Класи в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати ключове слово <code>this</code>, наслідування класу та багато іншого."
        ]
      },
      "quiz-javascript-classes": {
        "title": "Тест «Класи в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Класи в JavaScript»."
        ]
      },
      "lab-bank-account-manager": {
        "title": "Створіть програму для управління банківським рахунком",
        "intro": [
          "У цій лабораторній роботі ви створите просту систему управління транзакціями банківського рахунку."
        ]
      },
      "lecture-understanding-recursion-and-the-call-stack": {
        "title": "Знайомство з рекурсією та стеком викликів",
        "intro": ["У цій лекції ви дізнаєтесь про рекурсію та стек викликів."]
      },
      "workshop-countup": {
        "title": "Створіть лічильник",
        "intro": [
          "У цьому практичному занятті ви створите функцію, яка повертає масив чисел від 1 до заданого числа."
        ]
      },
      "lab-countdown": {
        "title": "Створіть відлік",
        "intro": [
          "У цьому практичному занятті ви створите функцію, яка повертає масив чисел від заданого числа до 1."
        ]
      },
      "lab-range-of-numbers": {
        "title": "Створіть генератор діапазону чисел",
        "intro": [
          "У цій лабораторній роботі ви використаєте рекурсію, щоб згенерувати масив чисел у заданому діапазоні.",
          "Ви попрактикуєтесь із рекурсивними викликами функцій, базовими випадками та побудовою масивів через рекурсію."
        ]
      },
      "workshop-decimal-to-binary-converter": {
        "title": "Створіть конвертер десяткових чисел в бінарні",
        "intro": [
          "Рекурсія — це таке поняття в програмуванні, коли функція викликає сама себе. Це може перетворити складне завдання на декілька менших простіших завдань, допоки вони не стануть зрозумілими.",
          "У цьому практичному занятті ви побудуєте конвертер десяткових чисел в бінарні за допомогою JavaScript. Ви будете використовувати основи рекурсії, дослідите стек викликів та створите візуальне представлення процесу рекурсії через анімацію."
        ]
      },
      "lab-permutation-generator": {
        "title": "Створіть генератор перестановок",
        "intro": [
          "У цій лабораторній роботі ви створите генератор, який видаватиме всі можливі перестановки заданого рядка."
        ]
      },
      "review-recursion": {
        "title": "Повторення рекурсії",
        "intro": [
          "Перш ніж перейти до тесту «Рекурсія», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати рекурсію і для чого її використовують."
        ]
      },
      "quiz-recursion": {
        "title": "Тест «Рекурсія»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Рекурсія»."
        ]
      },
      "lecture-working-with-common-data-structures-js": {
        "title": "Робота з поширеними структурами даних",
        "intro": [
          "Дізнайтеся про поширені структури даних і як працювати з ними в JavaScript."
        ]
      },
      "workshop-linked-list-js": {
        "title": "Створіть зв’язаний список",
        "intro": [
          "У попередніх уроках ви дізнались про деякі поширені структури даних.",
          "У цьому практичному занятті ви створите зв’язаний список за допомогою JavaScript."
        ]
      },
      "lab-linked-list-operations": {
        "title": "Імплементуйте операції над пов’язаними списками",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте поширені операції над пов’язаними списками: вставка, видалення і обхід."
        ]
      },
      "lab-implement-a-stack": {
        "title": "Імплементуйте стек",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте структуру даних «стек», використовуючи функції."
        ]
      },
      "lab-implement-a-queue": {
        "title": "Імплементуйте чергу",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте структуру даних «черга», використовуючи функції."
        ]
      },
      "review-data-structures-js": {
        "title": "Повторення структур даних",
        "intro": [
          "Перш ніж перейти до тесту «Структури даних», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати про різні структури даних, алгоритми, часову і просторову складність, а також нотацію Ландау."
        ]
      },
      "quiz-data-structures-js": {
        "title": "Тест «Структури даних»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Структури даних»."
        ]
      },
      "lecture-introduction-to-common-searching-and-sorting-algorithms": {
        "title": "Знайомство з поширеними алгоритмами пошуку і сортування",
        "intro": [
          "Дізнайтесь про базові алгоритми пошуку й сортування, включно з лінійним пошуком, бінарним пошуком і сортуванням злиттям.",
          "Ці лекції охоплюють імплементацію алгоритмів, аналіз часової та просторової складності, а також парадигму «розділяй і володарюй»."
        ]
      },
      "workshop-binary-search-js": {
        "title": "Імплементуйте алгоритм бінарного пошуку",
        "intro": [
          "Алгоритм бінарного пошуку — це алгоритм пошуку, який використовують для пошуку конкретного елемента у відсортованому списку.",
          "У цьому практичному занятті ви імплементуєте алгоритм бінарного пошуку і повернете шлях до потрібного елемента або рядок 'Value not found'."
        ]
      },
      "workshop-merge-sort-js": {
        "title": "Імплементуйте алгоритм сортування злиттям",
        "intro": [
          "Алгоритм сортування злиттям — це алгоритм сортування, заснований на принципі «розділяй і володарюй».",
          "У цьому практичному занятті ви імплементуєте алгоритм сортування злиттям, щоб відсортувати список випадкових чисел."
        ]
      },
      "lab-bubble-sort-algorithm": {
        "title": "Імплементуйте алгоритм сортування бульбашкою",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм сортування бульбашкою, щоб відсортувати масив цілих чисел в порядку зростання."
        ]
      },
      "lab-selection-sort-js": {
        "title": "Імплементуйте алгоритм сортування вибором",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм сортування вибором."
        ]
      },
      "lab-insertion-sort": {
        "title": "Імплементуйте алгоритм сортування включенням",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм сортування включенням, щоб відсортувати масив цілих чисел в порядку зростання."
        ]
      },
      "lab-quicksort-js": {
        "title": "Імплементуйте алгоритм швидкого сортування",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм швидкого сортування, щоб відсортувати масив цілих чисел."
        ]
      },
      "review-searching-and-sorting-algorithms-js": {
        "title": "Повторення алгоритмів пошуку та сортування",
        "intro": [
          "Перш ніж перейти до тесту «Алгоритми пошуку та сортування», повторіть основні поняття."
        ]
      },
      "quiz-searching-and-sorting-algorithms-js": {
        "title": "Тест «Алгоритми пошуку та сортування»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Алгоритми пошуку та сортування»."
        ]
      },
      "lecture-understanding-graphs-and-trees-js": {
        "title": "Знайомство з графами та деревами",
        "intro": [
          "У цій лекції ви дізнаєтесь про базові структури даних (зокрема, про графи та дерева), а також їхнє практичне застосування в комп’ютерних науках."
        ]
      },
      "workshop-shortest-path-algorithm-js": {
        "title": "Імплементуйте алгоритм найкоротшого шляху",
        "intro": [
          "Алгоритм найкоротшого шляху знаходить мінімальну відстань між вузлами зваженого графа.",
          "У цьому практичному занятті ви імплементуєте алгоритм найкоротшого шляху в JavaScript та повернете як найкоротшу відстань, так і шляхи."
        ]
      },
      "lab-adjacency-list-to-matrix-converter-js": {
        "title": "Створіть конвертер зі списку суміжності в матрицю",
        "intro": [
          "У цій лабораторній роботі ви створите функію, яка перетворює представлення графу у вигляді списку суміжності в матрицю."
        ]
      },
      "workshop-breadth-first-search-js": {
        "title": "Імплементуйте алгоритм пошуку в ширину",
        "intro": [
          "У цьому практичному занятті ви застосуєте алгоритм пошуку в ширину, щоб згенерувати всі допустимі комбінації дужок."
        ]
      },
      "lab-depth-first-search-js": {
        "title": "Імплементуйте алгоритм пошуку в глибину",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм пошуку в глибину."
        ]
      },
      "lab-n-queens-problem-js": {
        "title": "Імплементуйте задачу про n-ферзів",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте розв’язок для задачі про n-ферзів."
        ]
      },
      "review-graphs-and-trees-js": {
        "title": "Повторення графів та дерев",
        "intro": [
          "Повторення графів та дерев",
          "Перш ніж перейти до тесту «Графи та дерева», повторіть основні поняття."
        ]
      },
      "quiz-graph-and-trees-js": {
        "title": "Тест «Графи та дерева»",
        "intro": [
          "Тест «Графи та дерева»",
          "Перевірте, що ви дізнались про графи та дерева."
        ]
      },
      "lecture-understanding-dynamic-programming-js": {
        "title": "Знайомство з динамічним програмуванням",
        "intro": [
          "У цій лекції ви дізнаєтесь про динамічне програмування — алгоритмічну техніку, яка дозволяє ефективно розв’язувати складні задачі, розбиваючи їх на простіші."
        ]
      },
      "lab-nth-fibonacci-number-js": {
        "title": "Створіть калькулятор n-го числа Фібоначчі",
        "intro": [
          "У цій лабораторній роботі ви застосуєте динамічне програмування на практиці, імплементувавши калькулятор послідовності Фібоначчі в JavaScript."
        ]
      },
      "review-dynamic-programming-js": {
        "title": "Повторення динамічного програмування",
        "intro": [
          "Перш ніж перейти до тесту «Динамічне програмування», повторіть основні поняття."
        ]
      },
      "quiz-dynamic-programming-js": {
        "title": "Тест «Динамічне програмування»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Динамічне програмування»."
        ]
      },
      "lecture-understanding-functional-programming": {
        "title": "Знайомство з функціональним програмуванням",
        "intro": [
          "У цих лекціях ви дізнаєтесь про функціональне програмування і як вкладати функції за допомогою техніки під назвою «каррування»."
        ]
      },
      "workshop-recipe-ingredient-converter": {
        "title": "Створіть конвертер інгредієнтів",
        "intro": [
          "У попередніх лекціях ви дізнались основні поняття функціонального програмування і каррування.",
          "Зараз ви зможете застосувати на практиці все те, що вивчили про каррування та функціональне програмування, створивши застосунок із конвертацією інгредієнтів."
        ]
      },
      "lab-optional-arguments-sum-function": {
        "title": "Створіть функцію для знаходження суми аргументів",
        "intro": [
          "У цій лабораторній роботі ви створите функцію, яка приймає два аргументи і додає їх; якщо надано лише один аргумент, то вона повертає іншу функцію, яка чекає на другий аргумент."
        ]
      },
      "lab-sorting-visualizer": {
        "title": "Створіть візуалізатор сортування",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати JavaScript, щоб візуалізувати кроки алгоритму сортування бульбашкою, необхідні для впорядкування масиву цілих чисел."
        ]
      },
      "review-javascript-functional-programming": {
        "title": "Повторення функціонального програмування в JavaScript",
        "intro": [
          "Перш ніж перейти до тесту «Функціональне програмування в JavaScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати поняття з функціонального програмування, каррування та багато іншого."
        ]
      },
      "quiz-javascript-functional-programming": {
        "title": "Тест «Функціональне програмування в JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Функціональне програмування в JavaScript»."
        ]
      },
      "lecture-understanding-asynchronous-programming": {
        "title": "Знайомство з асинхронним програмуванням",
        "intro": [
          "У цих лекціях ви дізнаєтесь про асинхронне програмування в JavaScript. Ви дізнаєтесь про відмінності між синхронним і асинхронним програмуванням, як працює ключове слово <code>async</code>, <code>Fetch</code> API, проміси, <code>async/await</code>, <code>Geolocation</code> API та багато іншого."
        ]
      },
      "workshop-fcc-authors-page": {
        "title": "Створіть сторінку авторів fCC",
        "intro": [
          "Один із загальних аспектів веброзробки, якого потрібно навчитись — отримувати дані від зовнішнього API, а потім працювати з асинхронним JavaScript.",
          "У цьому практичному занятті ви будете використовувати метод fetch, динамічно оновлювати DOM для відтворення отриманих даних, а також розбивати дані на сторінки, щоб завантажувати результати партіями."
        ]
      },
      "lab-fcc-forum-leaderboard": {
        "title": "Створіть таблицю лідерів на fCC",
        "intro": [
          "У цій лабораторній роботі ви застосуєте асинхронний JavaScript, щоб створити власну таблицю лідерів freeCodeCamp."
        ]
      },
      "review-asynchronous-javascript": {
        "title": "Повторення асинхронного JavaScript",
        "intro": [
          "Пригадайте поняття з теми «Асинхронний JavaScript», щоб підготуватись до тесту."
        ]
      },
      "quiz-asynchronous-javascript": {
        "title": "Тест «Асинхронний JavaScript»",
        "intro": [
          "Перевірте, наскільки добре ви засвоїли матеріал з теми «Асинхронний JavaScript»."
        ]
      },
      "lab-weather-app": {
        "title": "Створіть застосунок з прогнозом погоди",
        "intro": [
          "У цій лабораторній роботі ви створите застосунок з прогнозом погоди, використовуючи API.",
          "Ви будете отримувати і зберігати дані з API, а потім відтворювати їх у застосунку."
        ]
      },
      "review-javascript": {
        "title": "Повторення JavaScript",
        "intro": [
          "Перш ніж перейти до підготовчого екзамену «JavaScript», повторіть основні поняття з попередніх модулів.",
          "Відкрийте цю сторінку, щоб пригадати змінні, рядки, булеві значення, функції, об’єкти, масиви, налагодження, роботу з DOM та багато іншого."
        ]
      },
      "exam-javascript-certification": {
        "title": "Екзамен з сертифікації «JavaScript»",
        "intro": [
          "Щоб отримати сертифікацію «JavaScript», потрібно успішно скласти екзамен."
        ]
      }
    }
  },
  "front-end-development-libraries-v9": {
    "title": "Сертифікація «Бібліотеки Front End»",
    "intro": [
      "У цьому курсі ви дізнаєтесь про бібліотеки, які використовують для створення вебсторінок; серед них: React, TypeScript та багато інших.",
      "Щоб отримати сертифікацію «Бібліотеки Front End»:",
      "- Виконайте п’ять обов’язкових проєктів, щоб отримати допуск до екзамену.",
      "- Успішно складіть екзамен «Бібліотеки Front End»."
    ],
    "note": "",
    "chapters": {
      "front-end-development-libraries": "Бібліотеки Front End",
      "front-end-development-libraries-certification-exam": "Екзамен з сертифікації «Бібліотеки Front End»"
    },
    "modules": {
      "react-fundamentals": "Основи React",
      "react-state-hooks-and-routing": "Стани, хуки та маршрутизація в React",
      "lab-currency-converter": "Створіть конвертер валют",
      "lab-tic-tac-toe": "Створіть гру «Хрестики-нулики»",
      "performance": "Продуктивність",
      "testing": "Тестування",
      "css-libraries-and-frameworks": "Бібліотеки та фреймворки CSS",
      "lab-photography-exhibit": "Створіть виставку з фотографіями",
      "typescript-fundamentals": "Основи TypeScript",
      "lab-flashcard-quiz-app": "Створіть програму з вікториною",
      "lab-digital-pet-game": "Створіть гру з домашнім улюбленцем",
      "data-visualization": "Візуалізація даних та D3",
      "review-front-end-libraries": "Повторення бібліотек Front End",
      "front-end-development-libraries-certification-exam": "Екзамен з сертифікації «Бібліотеки Front End»"
    },
    "module-intros": {
      "typescript-fundamentals": {
        "intro": [
          "У цьому модулі ви ознайомитесь з TypeScript — розширеною версією JavaScript, яка дозволяє додавати статичну типізацію до JavaScript-коду. Ви виконаєте декілька практичних занять і лабораторних робіт, де застосуєте узагальнення, звуження типів, TSX і багато іншого. А потім перевірите отримані знання з основ TypeScript, пройшовши короткий тест."
        ]
      },
      "data-visualization": {
        "note": "Очікуйте у 2026",
        "intro": [
          "У цьому модулі ви ознайомитесь з візуалізацією даних і навчитесь працювати з бібліотекою D3."
        ]
      },
      "front-end-development-libraries-certification-exam": {
        "note": "Очікуйте у 2026",
        "intro": [
          "Щоб отримати сертифікацію «Бібліотеки Front End», потрібно успішно скласти екзамен."
        ]
      }
    },
    "blocks": {
      "lecture-introduction-to-javascript-libraries-and-frameworks": {
        "title": "Вступ до бібліотек і фреймворків JavaScript",
        "intro": [
          "У цих лекціях ви ознайомитесь з основами бібліотек та фреймворків JavaScript. Ви дізнаєтесь про ролі бібліотек і фреймворків JavaScript, застосунки з однією сторінкою (SPA) та проблеми, що їх супроводжують, а також про React — найпопулярнішу бібліотеку JavaScript."
        ]
      },
      "workshop-reusable-mega-navbar": {
        "title": "Створіть навігаційну панель",
        "intro": [
          "У попередніх лекціях ви навчилися працювати з компонентами в React.",
          "У цьому практичному занятті ви створите компонент Navbar, придатний для повторного використання, за допомогою React."
        ]
      },
      "lab-reusable-footer": {
        "title": "Створіть нижній колонтитул",
        "intro": [
          "У цій лабораторній роботі ви створите нижній колонтитул, придатний для повторного використання, за допомогою React."
        ]
      },
      "lecture-working-with-data-in-react": {
        "title": "Робота з даними в React",
        "intro": [
          "У цих лекціях ви навчитесь працювати з даними в React. Ви дізнаєтесь про пропси і як їх передавати, умовне відтворення, як відтворювати списки та як використовувати вбудовані стилі."
        ]
      },
      "workshop-reusable-profile-card-component": {
        "title": "Створіть картку профілю",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь, як працювати з пропсами, створивши картку профілю, доступну для повторного використання."
        ]
      },
      "lab-mood-board": {
        "title": "Створіть мудборд",
        "intro": [
          "У цій лабораторній роботі ви створите мудборд, використовуючи React.",
          "Ви будете передавати дані між батьківськими і дочірніми компонентами, використовуючи пропси."
        ]
      },
      "review-react-basics": {
        "title": "Повторення основ React",
        "intro": [
          "Перш ніж перейти до тесту «Основи React», повторіть основні поняття."
        ]
      },
      "quiz-react-basics": {
        "title": "Тест «Основи React»",
        "intro": ["Перевірте, що ви дізнались про основи React."]
      },
      "lecture-working-with-state-and-responding-to-events-in-react": {
        "title": "Робота зі станом та відповідь на подію в React",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати зі станом та відповідати на подію в React."
        ]
      },
      "workshop-toggle-text-app": {
        "title": "Створіть перемикач тексту",
        "intro": [
          "У цьому практичному занятті ви продовжите знайомство з хуком <code>useState()</code>, створивши застосунок, який ховає і відтворює частину тексту на екрані."
        ]
      },
      "lab-color-picker": {
        "title": "Створіть застосунок для вибору кольору",
        "intro": [
          "У цій лабораторній роботі ви створите застосунок для вибору кольору.",
          "Ви будете використовувати стани та хуки, щоб керувати властивостями елемента."
        ]
      },
      "lecture-understanding-effects-and-referencing-values-in-react": {
        "title": "Знайомство з ефектами та значеннями в React",
        "intro": ["У цих лекціях ви дізнаєтесь про ефекти та значення у React."]
      },
      "workshop-fruit-search-app": {
        "title": "Створіть застосунок для пошуку фруктів",
        "intro": [
          "У цьому практичному занятті ви продовжите знайомство з хуком <code>useEffect()</code>, створивши застосунок, який отримує дані з API на основі введених даних і динамічно показує результат."
        ]
      },
      "lab-one-time-password-generator": {
        "title": "Створіть генератор одноразових паролів",
        "intro": [
          "У цій лабораторній роботі ви створите генератор одноразових паролів.",
          "Ви застосуєте хуки useEffect на практиці, щоб створити таймер і згенерувати одноразовий пароль."
        ]
      },
      "review-react-state-and-hooks": {
        "title": "Повторення станів та хуків у React",
        "intro": [
          "Перш ніж перейти до тесту «Стани та хуки в React», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати зі станами, кастомними хуками та багато іншого."
        ]
      },
      "quiz-react-state-and-hooks": {
        "title": "Тест «Стани та хуки в React»",
        "intro": [
          "Перевірте, що ви дізнались про хуки <code>useState</code> та <code>useEffect</code> в React."
        ]
      },
      "lecture-working-with-forms-in-react": {
        "title": "Робота з формами в React",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з формами в React."
        ]
      },
      "workshop-superhero-application-form": {
        "title": "Створіть анкету супергероя",
        "intro": [
          "У цьому практичному занятті ви створите анкету для супергероїв."
        ]
      },
      "lab-event-rsvp": {
        "title": "Створіть RSVP-запрошення",
        "intro": [
          "У цій лабораторній роботі ви створите RSVP-запрошення на подію за допомогою React.",
          "Ви будете користуватись хуком useState, щоб керувати вхідними даними форми та відтворити відповіді користувача."
        ]
      },
      "lecture-working-with-data-fetching-and-memoization-in-react": {
        "title": "Робота з обробкою даних та мемоїзацією в React",
        "intro": [
          "У цих лекціях ви дізнаєтесь про обробку даних та мемоїзацію в React."
        ]
      },
      "workshop-shopping-list-app": {
        "title": "Створіть список покупок",
        "intro": [
          "У цьому практичному занятті ви будете використовувати хуки <code>useMemo()</code> та <code>useCallback()</code> в React, щоб створити простий застосунок зі списком покупок. Ви дізнаєтесь про стани та життєвий цикл компонентів React, а також як застосовувати мемоізацію для зниження ререндерингу і покращення ефективності застосунків."
        ]
      },
      "lecture-routing-react-frameworks-and-dependency-management-tools": {
        "title": "Маршрутизація, фреймворки React і засоби управління залежностями",
        "intro": [
          "У цих лекціях ви дізнаєтесь про маршрутизацію у React, фреймворки React і засоби управління залежностями."
        ]
      },
      "lecture-react-strategies-and-debugging": {
        "title": "Стратегії та налагодження в React",
        "intro": [
          "У цих лекціях ви дізнаєтесь про різні стратегії і налагодження в React."
        ]
      },
      "review-react-forms-data-fetching-and-routing": {
        "title": "Повторення форм, обробки даних і маршрутизації в React",
        "intro": [
          "Перш ніж перейти до тесту «Форми, обробка даних і маршрутизація в React», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати маршрутизацію, форми, керування станом, передачу пропсів, обробку даних та багато іншого."
        ]
      },
      "quiz-react-forms-data-fetching-and-routing": {
        "title": "Тест «Форми, обробка даних і маршрутизація в React»",
        "intro": [
          "Перевірте, що ви дізнались про форми, обробку даних і маршрутизацію."
        ]
      },
      "lab-currency-converter": {
        "title": "Створіть конвертер валют",
        "intro": [
          "У цій лабораторній роботі ви створите застосунок для конвертації валют.",
          "Ви будете використовувати стан React, мемоїзацію і контрольовані компоненти, щоб конвертувати валюти."
        ]
      },
      "lab-tic-tac-toe": {
        "title": "Створіть гру «Хрестики-нулики»",
        "intro": [
          "У цій лабораторній роботі ви створите гру «Хрестики-нулики» за допомогою React.",
          "Ви попрактикуєте керування станом, обробку користувацьких взаємодій та динамічну зміну інтерфейсу користувача."
        ]
      },
      "lecture-understanding-performance-in-web-applications": {
        "title": "Знайомство з продуктивністю у вебзастосунках",
        "intro": [
          "У цих лекціях ви дізнаєтесь про продуктивність у вебзастосунках."
        ]
      },
      "review-web-performance": {
        "title": "Повторення вебпродуктивності",
        "intro": [
          "Перш ніж перейти до тесту «Вебпродуктивність», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати INP, ключові метрики для вимірювання продуктивності, API для вебпродуктивності та багато іншого."
        ]
      },
      "quiz-web-performance": {
        "title": "Тест «Вебпродуктивність»",
        "intro": ["Перевірте, що ви дізнались про вебпродуктивність."]
      },
      "lecture-understanding-the-different-types-of-testing": {
        "title": "Знайомство з різними видами тестування",
        "intro": ["У цих лекціях ви дізнаєтесь про різні види тестування."]
      },
      "review-testing": {
        "title": "Повторення тестування",
        "intro": [
          "Перш ніж перейти до тесту «Тестування», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати модульне тестування, наскрізне тестування, функціональне тестування та багато іншого."
        ]
      },
      "quiz-testing": {
        "title": "Тест «Тестування»",
        "intro": ["Перевірте, що ви дізнались про тестування."]
      },
      "lecture-working-with-css-libraries-and-frameworks": {
        "title": "Робота з бібліотеками та фреймворками CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з бібліотеками та фреймворками CSS."
        ]
      },
      "workshop-error-message-component": {
        "title": "Створіть повідомлення про помилку",
        "intro": [
          "У цьому практичному занятті ви ознайомитесь з основами Tailwind CSS, створивши компонент ErrorMessage."
        ]
      },
      "workshop-tailwind-cta-component": {
        "title": "Створіть компонент CTA",
        "intro": [
          "У цьому практичному занятті ви створите компонент із закликом до дії (CTA), використовуючи Tailwind CSS."
        ]
      },
      "workshop-tailwind-pricing-component": {
        "title": "Створіть компонент з цінами",
        "intro": [
          "У цьому практичному занятті ви створите компонент із цінами, використовуючи Tailwind CSS.",
          "Ви застосуєте знання про сітку в Tailwind CSS на практиці."
        ]
      },
      "lab-music-shopping-cart-page": {
        "title": "Створіть кошик з покупками",
        "intro": [
          "У цій лабораторній роботі ви створите кошик з покупками за допомогою Tailwind CSS.",
          "Ви будете використовувати класи-утиліти для макетів, кольорів, точок зупинок і багато іншого."
        ]
      },
      "lab-photography-exhibit": {
        "title": "Створіть виставку з фотографіями",
        "intro": [
          "У цій лабораторній роботі ви будете працювати з Tailwind CSS, створивши вебсторінку із виставкою фотографій."
        ]
      },
      "review-css-libraries-and-frameworks": {
        "title": "Повторення бібліотек та фреймворків CSS",
        "intro": [
          "Перш ніж перейти до тесту «Бібліотеки та фреймворки CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати фреймворки CSS, препроцесори CSS, Sass та багато іншого."
        ]
      },
      "quiz-css-libraries-and-frameworks": {
        "title": "Тест «Бібліотеки та фреймворки CSS»",
        "intro": [
          "Перевірте, що ви дізнались про бібліотеки та фреймворки в CSS."
        ]
      },
      "lecture-introduction-to-typescript": {
        "title": "Вступ до TypeScript",
        "intro": [
          "У цих лекціях ви дізнаєтесь про TypeScript і як його використовувати."
        ]
      },
      "workshop-type-safe-user-profile": {
        "title": "Створіть типобезпечний профіль користувача",
        "intro": [
          "У цьому практичному занятті ви будете працювати з анотаціями типів, типами масивів і типами об’єктів, щоб створити профіль користувача."
        ]
      },
      "workshop-type-safe-math-toolkit": {
        "title": "Створіть типобезпечний математичний інструмент",
        "intro": [
          "У цьому практичному занятті ви будете працювати з різними типами функцій, створивши математичний інструмент."
        ]
      },
      "lecture-understanding-type-composition": {
        "title": "Знайомство з композицією",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з об’єднанням, інтерфейсом та багато іншим."
        ]
      },
      "workshop-shape-manager": {
        "title": "Створіть менеджера фігур",
        "intro": [
          "У цьому практичному занятті ви будете працювати з базовими функціями в TypeScript, серед яких типи й інтерфейси, створивши менеджера фігур."
        ]
      },
      "lab-motorcycle-shop": {
        "title": "Створіть магазин мотоциклів",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати TypeScript, щоб створити магазин мотоциклів."
        ]
      },
      "lecture-working-with-generics-and-type-narrowing": {
        "title": "Робота з дженериками та звуженням типів",
        "intro": [
          "У цих лекціях ви дізнаєтесь про дженерики та звуження типів у TypeScript."
        ]
      },
      "workshop-bug-emoji-picker": {
        "title": "Створіть вибирача комах",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь про абстрактні класи і дженерики в TypeScript, створивши селектор комах, який відтворює різні емоджі з ними."
        ]
      },
      "lab-product-showcase": {
        "title": "Створіть перегляд товару",
        "intro": [
          "У цій лабораторній роботі ви будете працювати з дженериками та звуженням типів у TypeScript."
        ]
      },
      "lecture-working-with-typescript-configuration-files": {
        "title": "Робота з конфігураційними файлами в TypeScript",
        "intro": [
          "У цій лекції ви дізнаєтесь про конфігураційні файли TypeScript і як ними користуватися."
        ]
      },
      "workshop-fortune-teller-app": {
        "title": "Створіть генератор передбачень",
        "intro": [
          "У цьому практичному занятті ви продовжите працювати з TypeScript, створивши застосунок з передбаченнями."
        ]
      },
      "lab-flashcard-quiz-app": {
        "title": "Створіть програму з вікториною",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати TypeScript, щоб створити вікторину з картками."
        ]
      },
      "lab-digital-pet-game": {
        "title": "Створіть гру з домашнім улюбленцем",
        "intro": [
          "У цій лабораторній роботі ви застосуєте знання про TypeScript та React на практиці, створивши гру з домашнім улюбленцем."
        ]
      },
      "workshop-build-a-football-player-card-builder": {
        "title": "Створіть картки футбольних гравців",
        "intro": [
          "У цьому практичному занятті ви навчитесь працювати з React у TypeScript, побудувавши програму для створення карток футбольних гравців."
        ]
      },
      "review-typescript": {
        "title": "Повторення TypeScript",
        "intro": [
          "Перш ніж перейти до тесту «TypeScript», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати типи даних у TypeScript, дженерики, звуження типів та багато іншого."
        ]
      },
      "quiz-typescript": {
        "title": "Тест «TypeScript»",
        "intro": ["Перевірте, що ви дізнались про TypeScript."]
      },
      "lecture-introduction-to-data-visualization": {
        "title": "Вступ до візуалізації даних",
        "intro": [
          "У цих лекціях ви дізнаєтесь про базові поняття у візуалізації даних."
        ]
      },
      "lab-bar-chart": {
        "title": "Створіть стовпчикову діаграму",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати d3, щоб створити стовпчикову діаграму."
        ]
      },
      "lab-scatterplot-graph": {
        "title": "Створіть діаграму розсіювання",
        "intro": [
          "У цій лабораторній роботі ви створите діаграму розсіювання d3, використовуючи наданий набір даних."
        ]
      },
      "review-front-end-libraries": {
        "title": "Повторення бібліотек Front End",
        "intro": [
          "Пригадайте поняття з теми «Бібліотеки Front End», щоб підготуватись до тесту."
        ]
      },
      "exam-front-end-development-libraries-certification": {
        "title": "Екзамен з сертифікації «Бібліотеки Front End»",
        "intro": [
          "Щоб отримати сертифікацію «Бібліотеки Front End», потрібно успішно скласти екзамен"
        ]
      }
    }
  },
  "python-v9": {
    "title": "Сертифікація «Python»",
    "intro": [
      "У цьому курсі ви вивчите основи програмування на Python.",
      "Щоб отримати сертифікацію «Python»:",
      "- Виконайте п’ять обов’язкових проєктів, щоб отримати допуск до екзамену.",
      "- Успішно складіть екзамен «Python»."
    ],
    "chapters": {
      "python": "Python",
      "python-certification-exam": "Екзамен з сертифікації «Python»"
    },
    "modules": {
      "python-basics": "Основи Python",
      "python-installation": "Install Python",
      "python-loops-and-sequences": "Цикли та послідовності",
      "python-dictionaries-and-sets": "Словники та набори",
      "lab-user-configuration-manager": "Створіть менеджера для налаштувань користувача",
      "python-error-handling": "Обробка помилок",
      "python-classes-and-objects": "Класи та об’єкти",
      "lab-budget-app": "Створіть застосунок для ведення бюджету",
      "python-object-oriented-programming": "Об’єктноорієнтоване програмування (ООП)",
      "lab-polygon-area-calculator": "Створіть калькулятор площі багатокутника",
      "python-linear-data-structures": "Лінійні структури даних",
      "lab-hash-table": "Створіть хеш-таблицю",
      "python-algorithms": "Алгоритми",
      "lab-tower-of-hanoi": "Імплементуйте алгоритм «Ханойська вежа»",
      "python-graphs-and-trees": "Графи та дерева",
      "python-dynamic-programming": "Динамічне програмування",
      "review-python": "Повторення Python",
      "python-certification-exam": "Екзамен з сертифікації «Python»"
    },
    "blocks": {
      "lecture-introduction-to-python": {
        "title": "Вступ до Python",
        "intro": [
          "In these lessons, you will learn what Python is and common uses in the industry."
        ]
      },
      "lecture-understanding-variables-and-data-types": {
        "title": "Знайомство зі змінними і типами даних",
        "intro": [
          "У цих лекціях ви дізнаєтесь про змінні та типи даних у Python."
        ]
      },
      "workshop-report-card-printer": {
        "title": "Створіть принтер табеля успішності",
        "intro": [
          "У цьому практичному занятті ви будете працювати з примітивними типами даних у Python, створивши принтер табеля успішності."
        ]
      },
      "lecture-introduction-to-python-strings": {
        "title": "Вступ до рядків",
        "intro": ["У цих лекціях ви дізнаєтесь про рядки в Python."]
      },
      "workshop-employee-profile-generator": {
        "title": "Створіть генератор інформації про співробітників",
        "intro": [
          "У цьому практичному занятті ви будете маніпулювати рядками в Python, створивши інструмент для генерації відформатованих бейджів співробітників і їхнього аналізу."
        ]
      },
      "lecture-numbers-and-mathematical-operations": {
        "title": "Числа та математичні операції",
        "intro": [
          "У цих лекціях ви дізнаєтесь про числа та математичні операції в Python."
        ]
      },
      "workshop-bill-splitter": {
        "title": "Створіть програму з груповими витратами",
        "intro": [
          "У цьому практичному занятті ви будете працювати з числами і математичними операціями, створивши програму з груповими витратами."
        ]
      },
      "lecture-booleans-and-conditionals": {
        "title": "Булеві значення та умовні оператори",
        "intro": [
          "У цих лекціях ви дізнаєтесь про булеві значення та умовні оператори в Python."
        ]
      },
      "workshop-movie-ticket-booking-calculator": {
        "title": "Створіть калькулятор для бронювання квитків",
        "intro": [
          "У цьому практичному занятті ви будете використовувати булеві значення і умовні оператори у Python, створивши калькулятор для бронювання квитків у кіно."
        ]
      },
      "lab-travel-weather-planner": {
        "title": "Створіть планер для дороги",
        "intro": [
          "У цій лабораторній роботі ви створите планер для дороги, використовуючи умовні оператори."
        ]
      },
      "lecture-understanding-functions-and-scope": {
        "title": "Знайомство з функціями і областю видимості",
        "intro": [
          "У цих лекціях ви дізнаєтесь про функції та область видимості в Python."
        ]
      },
      "lab-discount-calculator": {
        "title": "Створіть калькулятор знижок",
        "intro": [
          "У цій лабораторній роботі ви попрактикуєтесь в основах Python, створивши калькулятор знижок."
        ]
      },
      "workshop-caesar-cipher": {
        "title": "Створіть шифр Цезаря",
        "intro": [
          "У цьому практичному занятті ви створите шифр Цезаря, застосовуючи основні поняття з Python (серед яких рядки, умовні інструкції, функції тощо)."
        ]
      },
      "lab-rpg-character": {
        "title": "Створіть RPG-персонажа",
        "intro": [
          "У цій лабораторній роботі ви попрактикуєтеся в основах Python, створивши RPG-персонажа."
        ]
      },
      "review-python-basics": {
        "title": "Повторення основ Python",
        "intro": [
          "Перш ніж перейти до тесту «Основи Python», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з рядками, функціями, операторами порівняння тощо."
        ]
      },
      "quiz-python-basics": {
        "title": "Тест «Основи Python»",
        "intro": ["Перевірте, що ви дізнались про основи Python."]
      },
      "lecture-python-installation": {
        "title": "Installing Python and Running Code Locally",
        "intro": [
          "In these lessons, you will learn how to install Python on your local device and run code locally."
        ]
      },
      "review-python-installation": {
        "title": "Python Installation Review",
        "intro": [
          "Before you are quizzed on working with Python locally, you should review the concepts covered in the lessons."
        ]
      },
      "quiz-python-installation": {
        "title": "Python Installation Quiz",
        "intro": [
          "Test what you've learned about installing Python locally with this quiz."
        ]
      },
      "lecture-working-with-loops-and-sequences": {
        "title": "Робота з циклами та послідовностями",
        "intro": [
          "У цих лекціях ви навчитесь працювати з циклами і послідовностями."
        ]
      },
      "workshop-pin-extractor": {
        "title": "Створіть витягач PIN-кодів",
        "intro": [
          "У цьому практичному занятті ви створите функцію, яка витягуватиме PIN-коди, заховані в поезіях."
        ]
      },
      "lab-number-pattern-generator": {
        "title": "Створіть генератор множин чисел",
        "intro": [
          "У цій лабораторній роботі ви створите генератор множин чисел."
        ]
      },
      "review-loops-and-sequences": {
        "title": "Повторення циклів та послідовностей",
        "intro": [
          "Перш ніж перейти до тесту «Цикли та послідовності», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати цикли, списки, кортежі та поширені методи роботи з ними."
        ]
      },
      "quiz-loops-and-sequences": {
        "title": "Тест «Цикли та послідовності»",
        "intro": [
          "Перевірте, що ви дізнались про цикли та послідовності в Python."
        ]
      },
      "lecture-working-with-dictionaries-and-sets": {
        "title": "Робота зі словниками та наборами",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати зі словниками і наборами."
        ]
      },
      "lecture-working-with-modules": {
        "title": "Робота з модулями",
        "intro": ["У цих лекціях ви дізнаєтесь, як працювати з модулями."]
      },
      "workshop-medical-data-validator": {
        "title": "Створіть валідатор медичних даних",
        "intro": [
          "У цьому практичному занятті ви будете працювати зі словниками та наборами, перевіряючи медичні дані."
        ]
      },
      "review-dictionaries-and-sets": {
        "title": "Повторення словників та наборів",
        "intro": [
          "Перш ніж перейти до тесту «Словники та набори», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати поняття, які стосуються словників і наборів, а також імпорту модулів."
        ]
      },
      "quiz-dictionaries-and-sets": {
        "title": "Тест «Словники та набори»",
        "intro": ["Перевірте, що ви дізнались про словники та набори в Python."]
      },
      "lab-user-configuration-manager": {
        "title": "Створіть менеджера для налаштувань користувача",
        "intro": [
          "У цій лабораторній роботі ви будете працювати зі словниками в Python."
        ]
      },
      "lecture-understanding-error-handling": {
        "title": "Знайомство з обробкою помилок",
        "intro": [
          "У цих лекціях ви дізнаєтесь про обробку помилок в Python. Ви дізнаєтесь про різні типи помилок, хороші практики налагодження, які бувають виключення і як їх обробляти."
        ]
      },
      "lab-isbn-validator": {
        "title": "Налагодьте валідатор ISBN",
        "intro": [
          "У цій лабораторній роботі ви будете працювати над застосунком, де потрібно знайти й виправити помилки, доки він не працюватиме правильно."
        ]
      },
      "review-error-handling": {
        "title": "Повторення обробки помилок",
        "intro": [
          "Перш ніж перейти до тесту «Обробка помилок», повторіть основні поняття."
        ]
      },
      "quiz-error-handling": {
        "title": "Тест «Обробка помилок»",
        "intro": ["Перевірте, що ви дізнались про обробку помилок в Python."]
      },
      "lecture-classes-and-objects": {
        "title": "Класи та об’єкти",
        "intro": ["У цих лекціях ви дізнаєтесь про класи та об’єкти."]
      },
      "workshop-musical-instrument-inventory": {
        "title": "Створіть інвентар музичних інструментів",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь про класи, об’єкти та методи в Python, створивши інвентар музичних інструментів."
        ]
      },
      "lab-planet-class": {
        "title": "Створіть клас Planet",
        "intro": [
          "У цій лабораторній роботі ви створите клас, який представляє планету."
        ]
      },
      "workshop-email-simulator": {
        "title": "Створіть симулятор електронної пошти",
        "intro": [
          "У цьому практичному занятті ви будете використовувати класи й об’єкти для створення симулятора електронної пошти, який імітує надсилання, отримання та керування листами між різними користувачами."
        ]
      },
      "review-classes-and-objects": {
        "title": "Повторення класів та об’єктів",
        "intro": [
          "Перш ніж перейти до тесту «Класи та об’єкти», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати про класи, об’єкти, методи, атрибути, спеціальні методи та багато іншого."
        ]
      },
      "quiz-classes-and-objects": {
        "title": "Тест «Класи та об’єкти»",
        "intro": ["Перевірте, що ви дізнались про класи та об’єкти в Python."]
      },
      "lab-budget-app": {
        "title": "Створіть застосунок для ведення бюджету",
        "intro": [
          "У цій лабораторній роботі ви побудуєте застосунок для ведення бюджету, створивши клас і методи для нього."
        ]
      },
      "lecture-understanding-object-oriented-programming-and-encapsulation": {
        "title": "Знайомство з об’єктноорієнтованим програмуванням та інкапсуляцією",
        "intro": [
          "У цих лекціях ви дізнаєтесь про об’єктноорієнтоване програмування та інкапсуляцію."
        ]
      },
      "workshop-salary-tracker": {
        "title": "Створіть трекер зарплат",
        "intro": [
          "У цьому практичному занятті ви попрактикуєтесь із інкапсуляцією, властивостями та іншими поняттями ООП, створивши систему відстеження зарплат для працівників."
        ]
      },
      "lab-game-character-stats": {
        "title": "Створіть трекер зі статистикою ігрового персонажа",
        "intro": [
          "У цій лабораторній роботі ви створите ігрового персонажа з різними характеристиками, використовуючи об’єктноорієнтоване програмування."
        ]
      },
      "lecture-understanding-inheritance-and-polymorphism": {
        "title": "Знайомство з успадкуванням та поліморфізмом",
        "intro": [
          "У цих лекціях ви дізнаєтесь про успадкування та поліморфізм."
        ]
      },
      "workshop-media-catalogue": {
        "title": "Створіть каталог із медіа",
        "intro": [
          "У цьому практичному занятті ви створите каталог із медіа, використовуючи принципи об’єктноорієнтованого програмування."
        ]
      },
      "lecture-understanding-abstraction": {
        "title": "Знайомство з абстракцією",
        "intro": ["У цих лекціях ви дізнаєтесь про абстракцію."]
      },
      "workshop-discount-calculator": {
        "title": "Створіть калькулятор знижок",
        "intro": [
          "У цьому практичному занятті ви створите гнучкий калькулятор цін знижок, використовуючи базові абстрактні класи, що дозволить застосовувати кілька алгоритмів без зміни основної логіки."
        ]
      },
      "lab-player-interface": {
        "title": "Створіть інтерфейс гравця",
        "intro": [
          "У цій лабораторній роботі ви використаєте модуль <code>abc</code>, щоб створити інтерфейс гравця."
        ]
      },
      "review-object-oriented-programming": {
        "title": "Повторення об’єктноорієнтованого програмування",
        "intro": [
          "Перш ніж перейти до тесту «Об’єктноорієнтоване програмування», повторіть основні поняття."
        ]
      },
      "quiz-object-oriented-programming": {
        "title": "Тест «Об’єктноорієнтоване програмування»",
        "intro": [
          "Перевірте, що ви дізнались про об’єктноорієнтоване програмування в Python."
        ]
      },
      "lab-polygon-area-calculator": {
        "title": "Створіть калькулятор площі багатокутника",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати об’єктноорієнтоване програмування, щоб розрахувати площу різних багатокутників (наприклад, квадратів і прямокутників)."
        ]
      },
      "lecture-working-with-common-data-structures": {
        "title": "Робота з поширеними структурами даних",
        "intro": [
          "У цих лекціях ви навчитесь працювати з поширеними структурами даних."
        ]
      },
      "workshop-linked-list-class": {
        "title": "Створіть зв’язаний список",
        "intro": [
          "У цьому практичному занятті ви попрактикуєтесь працювати зі структурами даних, створивши зв’язаний список."
        ]
      },
      "review-data-structures": {
        "title": "Повторення структур даних",
        "intro": [
          "Перш ніж перейти до тесту «Структури даних», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати про різні структури даних, алгоритми, часову і просторову складність, а також нотацію Ландау."
        ]
      },
      "quiz-data-structures": {
        "title": "Тест «Структури даних»",
        "intro": ["Перевірте, що ви дізнались про структури даних в Python."]
      },
      "lab-hash-table": {
        "title": "Створіть хеш-таблицю",
        "intro": [
          "Хеш-таблиця — це структура даних, яку використовують для зберігання пар ключ-значення і оптимізовують для швидкого пошуку.",
          "У цій лабораторній роботі ви застосуєте знання про структури даних, щоб створити хеш-таблицю."
        ]
      },
      "lecture-searching-and-sorting-algorithms": {
        "title": "Алгоритми пошуку та сортування",
        "intro": [
          "Дізнайтесь про базові алгоритми пошуку й сортування, включно з лінійним пошуком, бінарним пошуком і сортуванням злиттям.",
          "Ці лекції охоплюють імплементацію алгоритмів, аналіз часової та просторової складності, а також парадигму «розділяй і володарюй»."
        ]
      },
      "workshop-binary-search": {
        "title": "Імплементуйте алгоритм бінарного пошуку",
        "intro": [
          "Алгоритм бінарного пошуку — це алгоритм пошуку, який використовують для пошуку конкретного елемента у відсортованому списку.",
          "У цьому практичному занятті ви імплементуєте алгоритм бінарного пошуку і повернете шлях до потрібного елемента або рядок 'Value not found'."
        ]
      },
      "lab-bisection-method": {
        "title": "Імплементуйте метод бісекції",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте метод бісекції для знаходження квадратного кореня числа."
        ]
      },
      "workshop-merge-sort": {
        "title": "Імплементуйте алгоритм сортування злиттям",
        "intro": [
          "Алгоритм сортування злиттям — це алгоритм сортування, заснований на принципі «розділяй і володарюй».",
          "У цьому практичному занятті ви імплементуєте алгоритм сортування злиттям, щоб відсортувати список випадкових чисел."
        ]
      },
      "lab-quicksort": {
        "title": "Імплементуйте алгоритм швидкого сортування",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм швидкого сортування, щоб відсортувати список цілих чисел."
        ]
      },
      "lab-selection-sort": {
        "title": "Імплементуйте алгоритм сортування вибором",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм сортування вибором."
        ]
      },
      "lab-luhn-algorithm": {
        "title": "Імплементуйте алгоритм Луна",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм Луна, щоб підтвердити ідентифікаційні номери (наприклад, номер кредитної картки)."
        ]
      },
      "review-searching-and-sorting-algorithms": {
        "title": "Повторення алгоритмів пошуку та сортування",
        "intro": [
          "Перш ніж перейти до тесту «Алгоритми пошуку та сортування», повторіть основні поняття."
        ]
      },
      "quiz-searching-and-sorting-algorithms": {
        "title": "Тест «Алгоритми пошуку та сортування»",
        "intro": [
          "Перевірте, що ви дізнались про алгоритми пошуку та сортування в Python."
        ]
      },
      "lab-tower-of-hanoi": {
        "title": "Імплементуйте алгоритм «Ханойська вежа»",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм для розв'язання задачі «Ханойська вежа»."
        ]
      },
      "lecture-understanding-graphs-and-trees": {
        "title": "Знайомство з графами та деревами",
        "intro": [
          "У цій лекції ви дізнаєтесь про базові структури даних (зокрема, про графи та дерева), а також їхнє практичне застосування в комп’ютерних науках."
        ]
      },
      "workshop-shortest-path-algorithm": {
        "title": "Реалізуйте алгоритм найкоротшого шляху",
        "intro": [
          "У цьому практичному занятті ви реалізуєте алгоритм пошуку найкоротшого шляху між двома вузлами в графі."
        ]
      },
      "lab-adjacency-list-to-matrix-converter": {
        "title": "Створіть конвертер зі списку суміжності в матрицю",
        "intro": [
          "У цій лабораторній роботі ви створите функію, яка перетворює представлення графу у вигляді списку суміжності в матрицю."
        ]
      },
      "workshop-breadth-first-search": {
        "title": "Імплементуйте алгоритм пошуку в ширину",
        "intro": [
          "У цьому практичному занятті ви застосуєте алгоритм пошуку в ширину, щоб згенерувати всі допустимі комбінації дужок."
        ]
      },
      "lab-depth-first-search": {
        "title": "Імплементуйте алгоритм пошуку в глибину",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте алгоритм пошуку в глибину."
        ]
      },
      "lab-n-queens-problem": {
        "title": "Імплементуйте задачу про n-ферзів",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте розв’язок для задачі про n-ферзів."
        ]
      },
      "review-graphs-and-trees": {
        "title": "Повторення графів та дерев",
        "intro": [
          "Перш ніж перейти до тесту «Графи та дерева», повторіть основні поняття."
        ]
      },
      "quiz-graphs-and-trees": {
        "title": "Тест «Графи та дерева»",
        "intro": ["Перевірте, що ви дізнались про графи та дерева в Python."]
      },
      "lecture-understanding-dynamic-programming": {
        "title": "Знайомство з динамічним програмуванням",
        "intro": [
          "У цій лекції ви дізнаєтесь про динамічне програмування — алгоритмічну техніку, яка дозволяє ефективно розв’язувати складні задачі, розбиваючи їх на простіші."
        ]
      },
      "lab-nth-fibonacci-number": {
        "title": "Створіть калькулятор n-го числа Фібоначчі",
        "intro": [
          "У цій лабораторній роботі ви імплементуєте калькулятор послідовності Фібоначчі, застосувавши динамічне програмування."
        ]
      },
      "review-dynamic-programming": {
        "title": "Повторення динамічного програмування",
        "intro": [
          "Перш ніж перейти до тесту «Динамічне програмування», повторіть основні поняття."
        ]
      },
      "quiz-dynamic-programming": {
        "title": "Тест «Динамічне програмування»",
        "intro": [
          "Перевірте, що ви дізнались про динамічне програмування в Python."
        ]
      },
      "review-python": {
        "title": "Повторення Python",
        "intro": [
          "Пригадайте поняття з теми «Python», щоб підготуватись до екзамену."
        ]
      },
      "exam-python-certification": {
        "title": "Екзамен з сертифікації «Python»",
        "intro": [
          "Щоб отримати сертифікацію «Python», потрібно успішно скласти екзамен"
        ]
      }
    }
  },
  "relational-databases-v9": {
    "title": "Сертифікація «Реляційні бази даних»",
    "intro": [
      "У цьому курсі ви дізнаєтесь про основи реляційних баз даних.",
      "Щоб отримати сертифікацію «Реляційні бази даних»:",
      "- Виконайте п’ять обов’язкових проєктів, щоб отримати допуск до екзамену.",
      "- Успішно складіть екзамен «Реляційні бази даних»."
    ],
    "chapters": {
      "relational-databases": "Реляційні бази даних",
      "relational-databases-certification-exam": "Екзамен з сертифікації «Реляційні бази даних»"
    },
    "modules": {
      "code-editors": "Редактори коду",
      "bash-fundamentals": "Основи Bash",
      "sql-and-postgresql": "SQL та PostgreSQL",
      "lab-celestial-bodies-database": "Створіть базу даних «Небесні тіла»",
      "bash-scripting": "Скрипти Bash",
      "sql-and-bash": "SQL та Bash",
      "lab-world-cup-database": "Створіть базу даних «Чемпіонат світу»",
      "lab-salon-appointment-scheduler": "Створіть планер записів у салоні",
      "git": "Git",
      "lab-periodic-table-database": "Створіть базу даних «Таблиця хімічних елементів»",
      "lab-number-guessing-game": "Створіть гру «Вгадай число»",
      "review-relational-databases": "Повторення реляційних баз даних",
      "relational-databases-certification-exam": "Екзамен з сертифікації «Реляційні бази даних»"
    },
    "blocks": {
      "lecture-working-with-code-editors-and-ides": {
        "title": "Робота з редакторами коду та IDE",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з редакторами коду та IDE. Ви ознайомитесь з найпопулярнішим редактором коду VS Code: як його встановити, як створити проєкт, які бувають гарячі клавіші та розширення."
        ]
      },
      "lecture-understanding-the-command-line-and-working-with-bash": {
        "title": "Знайомство з командним рядком та робота з Bash",
        "intro": [
          "У цих лекціях ви дізнаєтесь про командний рядок і роботу з Bash."
        ]
      },
      "workshop-bash-boilerplate": {
        "title": "Створіть шаблонний код",
        "intro": [
          "Термінал дозволяє надсилати на комп’ютер текстові команди, які можуть маніпулювати файловою системою, запускати програми, автоматизувати завдання та багато іншого.",
          "У цьому практичному занятті зі 170 уроків ви вивчите команди терміналу, створивши шаблонний код вебсайту, використовуючи лише командний рядок."
        ]
      },
      "review-bash-commands": {
        "title": "Повторення команд Bash",
        "intro": [
          "Пригадайте поняття з теми «Команди Bash», щоб підготуватись до тесту."
        ]
      },
      "quiz-bash-commands": {
        "title": "Тест «Команди Bash»",
        "intro": ["Перевірте, що ви дізнались про команди bash."]
      },
      "lecture-working-with-relational-databases": {
        "title": "Робота з реляційними базами даних",
        "intro": [
          "У цих лекціях ви навчитесь працювати з реляційними базами даних."
        ]
      },
      "workshop-database-of-video-game-characters": {
        "title": "Створіть базу даних з ігровими персонажами",
        "intro": [
          "Реляційна база даних організовує дані в таблиці, які пов’язані між собою через спорідненість.",
          "У цьому практичному занятті зі 165 уроків ви вивчите основи реляційної бази даних, створивши базу даних PostgreSQL, наповнену персонажами з відеоігор."
        ]
      },
      "review-sql-and-postgresql": {
        "title": "Повторення SQL та PostgreSQL",
        "intro": [
          "Пригадайте поняття з теми «SQL та PostgreSQL», щоб підготуватись до тесту."
        ]
      },
      "quiz-sql-and-postgresql": {
        "title": "Тест «SQL та PostgreSQL»",
        "intro": ["Перевірте, що ви дізнались про SQL та PostgreSQL."]
      },
      "lab-celestial-bodies-database": {
        "title": "Створіть базу даних «Небесні тіла»",
        "intro": [
          "У цьому проєкті ви побудуєте базу даних з небесними тілами, використовуючи PostgreSQL."
        ]
      },
      "lecture-understanding-bash-scripting": {
        "title": "Знайомство зі скриптами Bash",
        "intro": ["У цих лекціях ви дізнаєтесь про скрипти Bash."]
      },
      "workshop-bash-five-programs": {
        "title": "Створіть п’ять програм",
        "intro": [
          "Скрипти Bash поєднують команди терміналу і логіку в програми, які можуть виконувати або автоматизувати завдання та багато іншого.",
          "У цьому практичному занятті з 220 уроків ви детальніше вивчите команди терміналу та як їх використовувати в скриптах Bash, створивши п’ять невеликих програм."
        ]
      },
      "review-bash-scripting": {
        "title": "Повторення скриптів Bash",
        "intro": [
          "Пригадайте поняття з теми «Скрипти Bash», щоб підготуватись до тесту."
        ]
      },
      "quiz-bash-scripting": {
        "title": "Тест «Скрипти Bash»",
        "intro": ["Перевірте, що ви дізнались про скрипти bash."]
      },
      "lecture-working-with-sql": {
        "title": "Робота з SQL",
        "intro": [
          "У цих лекціях ви дізнаєтесь про SQL-ін’єкції, нормалізацію та проблему N+1."
        ]
      },
      "workshop-sql-student-database-part-1": {
        "title": "Створіть базу даних студентів: частина 1",
        "intro": [
          "SQL, або Structured Query Language (мова структурованих запитів) — це мова для спілкування з реляційною базою даних.",
          "У цьому практичному занятті зі 140 уроків ви створите скрипт Bash, який використовує SQL, щоб ввести інформацію про студентів з інформатики в PostgreSQL."
        ]
      },
      "workshop-sql-student-database-part-2": {
        "title": "Створіть базу даних студентів: частина 2",
        "intro": [
          "У SQL використовують команди join, щоб об’єднати інформацію з декількох таблиць у реляційну базу даних.",
          "У цьому практичному занятті зі 140 уроків ви завершите свою базу даних студентів, глибше занурившись в команди SQL."
        ]
      },
      "workshop-kitty-ipsum-translator": {
        "title": "Створіть перекладача Kitty Ipsum",
        "intro": [
          "Команди Bash можуть більше, ніж ви могли собі уявити.",
          "У цьому практичному занятті зі 140 уроків ви вивчите деякі складніші команди, а також дізнаєтесь про деталі їхньої роботи."
        ]
      },
      "workshop-bike-rental-shop": {
        "title": "Створіть магазин прокату велосипедів",
        "intro": [
          "У цьому практичному занятті з 210 уроків ви створите інтерактивну програму Bash, яка зберігатиме інформацію про магазин прокату велосипедів, використовуючи PostgreSQL."
        ]
      },
      "review-bash-and-sql": {
        "title": "Повторення Bash та SQL",
        "intro": [
          "Пригадайте поняття з теми «Bash та SQL», щоб підготуватись до тесту."
        ]
      },
      "quiz-bash-and-sql": {
        "title": "Тест «Bash та SQL»",
        "intro": ["Перевірте, що ви дізнались про Bash та SQL."]
      },
      "lab-world-cup-database": {
        "title": "Створіть базу даних «Чемпіонат світу»",
        "intro": [
          "У цьому проєкті ви створите скрипт Bash, який вводить інформацію з ігор чемпіонату світу в PostgreSQL, а потім запитує базу даних для отримання статистики."
        ]
      },
      "lab-salon-appointment-scheduler": {
        "title": "Створіть планер записів у салоні",
        "intro": [
          "У цій лабораторній роботі ви створите інтерактивну програму Bash, яка використовує PostgreSQL, щоб відстежувати клієнтів і записи в салоні."
        ]
      },
      "lecture-working-with-nano": {
        "title": "Робота з Nano",
        "intro": ["У цій лекції ви дізнаєтесь про Nano."]
      },
      "workshop-castle": {
        "title": "Створіть замок",
        "intro": [
          "Nano — це програма, яка дозволяє редагувати файли одразу в терміналі.",
          "У цьому практичному занятті з 40 уроків ви дізнаєтесь, як редагувати файли в терміналі за допомогою Nano, створивши замок."
        ]
      },
      "lecture-introduction-to-git-and-github": {
        "title": "Вступ до Git та GitHub",
        "intro": ["У цих лекціях ви дізнаєтесь, як працювати з Git і GitHub."]
      },
      "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": {
        "title": "Робота з переглядом коду, гілками, розгортанням та CI/CD",
        "intro": [
          "У цих лекціях ви дізнаєтесь про перегляд коду, гілки, розгортання та CI/CD."
        ]
      },
      "workshop-sql-reference-object": {
        "title": "Створіть референсний об’єкт SQL",
        "intro": [
          "Git — це система контролю версій, яка відстежує усі зміни, внесені вами до кодової бази.",
          "У цьому практичному занятті з 240 уроків ви дізнаєтесь, як Git відстежує код, створивши об’єкт, що містить часто використовувані команди SQL."
        ]
      },
      "review-git": {
        "title": "Повторення Git",
        "intro": [
          "Пригадайте поняття з теми «Git», щоб підготуватись до тесту."
        ]
      },
      "quiz-git": {
        "title": "Тест «Git»",
        "intro": ["Перевірте, що ви дізнались про Git."]
      },
      "lab-periodic-table-database": {
        "title": "Створіть базу даних «Таблиця хімічних елементів»",
        "intro": [
          "У цій лабораторній роботі ви створите Bash-скрипт, щоб отримати інформацію про хімічні елементи з бази даних таблиці."
        ]
      },
      "lab-number-guessing-game": {
        "title": "Створіть гру «Вгадай число»",
        "intro": [
          "У цій лабораторній роботі ви використовуватимете сценарії Bash, PostgreSQL і Git, щоб створити гру з вгадуванням чисел, яка працює в терміналі та зберігає інформацію користувача."
        ]
      },
      "review-relational-databases": {
        "title": "Повторення реляційних баз даних",
        "intro": [
          "Пригадайте поняття з теми «Реляційні бази даних», щоб підготуватись до екзамену."
        ]
      },
      "exam-relational-databases-certification": {
        "title": "Екзамен з сертифікації «Реляційні бази даних»",
        "intro": [
          "Щоб отримати сертифікацію «Реляційні бази даних», потрібно успішно скласти екзамен"
        ]
      }
    }
  },
  "back-end-development-and-apis-v9": {
    "title": "Сертифікація «Back End та API»",
    "intro": [
      "У цьому курсі ви отримаєте базові знання з Back End та API.",
      "Щоб отримати сертифікацію «Back End та API»:",
      "- Виконайте п’ять обов’язкових проєктів, щоб отримати допуск до екзамену.",
      "- Успішно складіть екзамен «Back End та API»."
    ],
    "note": "",
    "chapters": {
      "back-end-development-and-apis": "Back End та API",
      "back-end-development-and-apis-certification-exam": "Екзамен з сертифікації «Back End та API»"
    },
    "modules": {
      "introduction-to-nodejs": "Вступ до Node.js",
      "nodejs-core-modules": "Основні модулі Node.js",
      "node-package-manager": "Node Package Manager",
      "http-and-the-web-standards-model": "HTTP та модель вебстандартів",
      "rest-api-and-web-services": "REST API та вебсервіси",
      "introduction-to-express": "Вступ до Express",
      "express-middleware": "Проміжне програмне забезпечення Express",
      "error-handling-in-express": "Обробка помилок в Express",
      "websockets": "WebSockets",
      "node-and-sql": "Node та SQL",
      "security-and-privacy": "Безпека та приватність",
      "authentication": "Автентифікація",
      "tooling-and-deployment": "Інструменти та розгортання",
      "back-end-development-and-apis-certification-exam": "Екзамен з сертифікації «Back End та API»"
    },
    "module-intros": {
      "introduction-to-nodejs": {
        "note": "Очікуйте наприкінці року",
        "intro": ["У цьому модулі ви дізнаєтесь основи роботи з Node.js."]
      },
      "nodejs-core-modules": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви ознайомитесь з поширеними модулями Node.js, серед яких fs, os, path та інші. Потім ви перейдете до практичних занять і лабораторних робіт, а також перевірите отримані знання за допомогою тесту."
        ]
      },
      "node-package-manager": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви ознайомитесь з Node Package Manager, який розробники використовують для керування залежностями і скриптами проєкту. Потім ви перейдете до практичних занять і лабораторних робіт, а також перевірите отримані знання за допомогою тесту."
        ]
      },
      "http-and-the-web-standards-model": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви дізнаєтесь про HTTP та інші важливі поняття (зокрема про модель системи запит-відповідь, поширені коди стану, DNS, TCP/IP тощо). Потім ви застосуєте ці навички на практиці, створивши власний вебсервер, а також перевірите отримані знання за допомогою тесту."
        ]
      },
      "rest-api-and-web-services": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви дізнаєтесь про REST API (Representational State Transfer Application Programming Interface) і принципи роботи мікросервісів. А потім пройдете короткий тест, щоб перевірити отримані знання."
        ]
      },
      "introduction-to-express": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви ознайомитесь з Express.js — фреймворком, який використовують для створення RESTful API. Потім ви перейдете до практичних занять і лабораторних робіт, а також перевірите отримані знання за допомогою тесту."
        ]
      },
      "express-middleware": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви дізнаєтесь про проміжне програмне забезпечення в Express.js, яке обробляє запити та відповіді між клієнтом і сервером. Потім ви перейдете до практичного заняття і лабораторної роботи, а також перевірите отримані знання за допомогою тесту."
        ]
      },
      "error-handling-in-express": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви дізнаєтесь про обробку помилок, налагодження і перевірку справності в Express.js. Потім ви застосуєте ці навички в лабораторній роботі, а також перевірите отримані знання за допомогою тесту."
        ]
      },
      "websockets": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви ознайомитесь з Websocket — протоколом, який використовують для спілкування між клієнтом і сервером в режимі реального часу. Потім ви перейдете до практичних занять і лабораторних робіт, а також перевірите отримані знання за допомогою тесту."
        ]
      },
      "node-and-sql": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви застосуєте Node і SQL на практиці, створивши пару застосунків. А потім пройдете короткий тест, щоб перевірити отримані знання."
        ]
      },
      "security-and-privacy": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви дізнаєтесь про різницю між безпекою і приватністю, а також ознайомитесь з різними поняттями (включно з CSP, Permissions Policy, PII, CORS і багато іншим). Потім ви пройдете короткий тест, щоб перевірити отримані знання."
        ]
      },
      "authentication": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви дізнаєтесь про принципи роботи автентифікації у вебзастосунках та інші важливі поняття (JWT, CSRF, Passport, Helmet, криптографія, шифрування тощо). Потім ви перейдете до практичних занять і лабораторних робіт, а також перевірите отримані знання за допомогою тесту."
        ]
      },
      "tooling-and-deployment": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "У цьому модулі ви дізнаєтесь про поширені інструменти для розгортання фулстекових програм. А потім пройдете короткий тест, щоб перевірити отримані знання."
        ]
      },
      "back-end-development-and-apis-certification-exam": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "Щоб отримати сертифікацію «Back End та API», потрібно успішно скласти екзамен."
        ]
      }
    },
    "blocks": {
      "lecture-working-with-nodejs-and-event-driven-architecture": {
        "title": "Робота з NodeJS та подійно-орієнтованою архітектурою",
        "intro": [
          "Дізнайтесь про основні бібліотеки Node.js, як завантажити Node.js на комп’ютер, а також переваги і недоліки використання Node.js для back end."
        ]
      },
      "review-node-js-intro": {
        "title": "Повторення основ NodeJS",
        "intro": [
          "Пригадайте поняття з теми «Вступ до Node.js», щоб підготуватись до тесту."
        ]
      },
      "quiz-node-js-intro": {
        "title": "Тест «Вступ до NodeJS»",
        "intro": ["Перевірте, що ви дізнались про основи NodeJS."]
      },
      "lecture-working-with-node-core-modules": {
        "title": "Робота з основними модулями Node",
        "intro": [
          "Дізнайтесь про основні модулі node.js (fs, buffer, stream, модулі path і багато інших), щоб зрозуміти роль Node у створенні застосунків без сторонніх бібліотек."
        ]
      },
      "review-node-js-core-modules": {
        "title": "Повторення основних модулів NodeJS",
        "intro": [
          "Пригадайте поняття з теми «Основні модулі NodeJS», щоб підготуватись до тесту."
        ]
      },
      "quiz-node-js-core-modules": {
        "title": "Тест «Основні модулі NodeJS»",
        "intro": ["Перевірте, що ви дізнались про основні модулі Node.js."]
      },
      "lecture-introduction-to-npm": {
        "title": "Вступ до npm",
        "intro": [
          "У цих лекціях ви дізнаєтесь про npm і як він може допомогти з управлінням залежностей проєкту."
        ]
      },
      "lecture-working-with-npm-scripts": {
        "title": "Робота зі скриптами npm",
        "intro": [
          "Дізнайтесь про скрипти npm, публікацію пакетів у реєстрі npm та роботу з модулями CommonJS і ES. Ці лекції охоплюють основні інструменти розробки та системи модулів Node.js."
        ]
      },
      "review-npm": {
        "title": "Повторення NPM",
        "intro": [
          "Пригадайте поняття з теми «npm», щоб підготуватись до тесту."
        ]
      },
      "quiz-npm": {
        "title": "Тест «NPM»",
        "intro": ["Перевірте, що ви дізнались про npm."]
      },
      "lecture-understanding-how-http-dns-tcpip-work": {
        "title": "Як працюють HTTP, DNS та TCP/IP?",
        "intro": [
          "Дізнайтесь основи роботи інтернету, зокрема про HTTP, DNS та TCP/IP."
        ]
      },
      "lecture-understanding-the-http-request-response-model": {
        "title": "Як працює модель запиту-відповіді HTTP?",
        "intro": [
          "Дізнайтесь про основи роботи вебкомунікації на прикладі моделі запиту-відповіді HTTP, ознайомтеся з різними типами вебресурсів і відповідей, а також зрозумійте, як форми обробляють надсилання даних за допомогою різних методів HTTP."
        ]
      },
      "quiz-http-and-the-web-standards-model": {
        "title": "HTTP and the Web Standards Model Quiz",
        "intro": [
          "Test your knowledge of HTTP, DNS, TCP/IP, the request-response model, and web standards.",
          ""
        ]
      },
      "lecture-understanding-rest-api-and-web-services": {
        "title": "Знайомство з REST API та вебслужбами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про REST API та вебслужби, а також як вони дозволяють застосункам комунікувати між собою в інтернеті."
        ]
      },
      "lecture-working-with-express": {
        "title": "Робота з Express",
        "intro": [
          "У цих лекціях ви дізнаєтесь, що таке Express.js, чому розробники використовують його для створення вебсерверів і API, а також як налаштувати базовий Express-застосунок з маршрутами та обробкою запитів."
        ]
      },
      "lecture-understanding-routing-in-express-js": {
        "title": "Знайомство з маршрутизацією в ExpressJS",
        "intro": [
          "Знайомство з маршрутизацією в ExpressJS",
          "У цих уроках ви ознайомитесь з маршрутизацією в ExpressJS. Ви навчитесь визначати різні кінцеві точки вебзастосунку, а також дізнаєтесь як вони реагують на запити клієнта."
        ]
      },
      "lecture-understanding-error-handling-and-health-checks": {
        "title": "Знайомство з обробкою помилок і перевіркою",
        "intro": [
          "У цих уроках ви дізнаєтесь про обробку помилок і перевірку в Express."
        ]
      },
      "quiz-error-handling-in-express": {
        "title": "Error Handling in Express Quiz",
        "intro": [
          "Test your knowledge of HTTP status codes, error handling, debugging, logging, health checks, and graceful shutdowns."
        ]
      },
      "exam-back-end-development-and-apis-certification": {
        "title": "Екзамен з сертифікації «Back End та API»",
        "intro": [
          "Щоб отримати сертифікацію «Back End та API», потрібно успішно скласти екзамен"
        ]
      }
    }
  },
  "full-stack-developer-v9": {
    "title": "Навчальна програма «Сертифікований розробник Full Stack»",
    "intro": [
      "Це кульмінація вашої подорожі сертифікацією «Сертифікований розробник Full Stack». Тут ви перевірите свою здатність створювати сучасні вебзастосунки від початку до кінця.",
      "Для допуску до екзамену потрібно отримати сертифікації нижче. Щоб отримати сертифікацію «Розробник Full Stack», потрібно успішно скласти екзамен."
    ],
    "note": "",
    "chapters": {
      "certified-full-stack-developer-exam": "Екзамен «Сертифікований розробник Full Stack»"
    },
    "modules": {
      "certified-full-stack-developer-exam": "Екзамен «Сертифікований розробник Full Stack»"
    },
    "module-intros": {
      "certified-full-stack-developer-exam": {
        "note": "Очікуйте наприкінці року",
        "intro": [
          "Цей екзамен перевірить ваші знання з шести попередніх сертифікацій."
        ]
      }
    },
    "blocks": {
      "exam-certified-full-stack-developer": {
        "title": "Екзамен «Сертифікований розробник Full Stack»",
        "intro": [
          "Складіть цей екзамен, щоб стати сертифікованим розробником Full Stack."
        ]
      }
    }
  },
  "html-forms-and-tables": {
    "title": "Ознайомтесь з таблицями та формами в HTML",
    "summary": [
      "Навчіться створювати доступні форми та таблиці за допомогою семантичного HTML."
    ],
    "intro": [
      "Навчіться створювати доступні форми та таблиці за допомогою семантичного HTML.",
      "Практикуйте структурування полів введення, міток і табличних даних, щоб будь-хто впевнено орієнтувався і надсилав інформацію."
    ],
    "blocks": {
      "lecture-working-with-forms": {
        "title": "Робота з формами",
        "intro": [
          "У цих уроках ви дізнаєтесь про форми, важливість міток, полів введення і кнопок, валідацію форми зі сторони клієнта та стани форм."
        ]
      },
      "workshop-hotel-feedback-form": {
        "title": "Створіть форму зворотного зв’язку для готелю",
        "intro": [
          "У цьому практичному занятті ви створите форму зворотного зв’язку для готелю.",
          "Ви навчитесь працювати з мітками, полями введення даних, наборами полів, легендами, текстовими полями та кнопками."
        ]
      },
      "lecture-working-with-tables": {
        "title": "Робота з таблицями",
        "intro": [
          "У цих уроках ви дізнаєтесь про таблиці в HTML, включно з їхнім створенням і використанням."
        ]
      },
      "workshop-final-exams-table": {
        "title": "Створіть таблицю з результатами екзамену",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь, як працювати з HTML-таблицями, створивши таблицю з результатами екзамену."
        ]
      },
      "lab-book-catalog-table": {
        "title": "Створіть таблицю з книгами",
        "intro": [
          "У цій лабораторній роботі ви пригадаєте HTML-таблиці, створивши таблицю з інформацією про книжки.",
          "Ви будете працювати з різними компонентами таблиці, серед яких елементи <code>thead</code>, <code>tbody</code>, <code>th</code>, <code>tr</code> та <code>td</code>."
        ]
      },
      "lecture-working-with-html-tools": {
        "title": "Робота з інструментами HTML",
        "intro": [
          "У цих лекціях ви дізнаєтесь про інструменти HTML, які допомагають писати кращий код. До цих інструментів належать валідатори HTML, інспектор DOM та інструменти розробника браузера."
        ]
      },
      "lab-survey-form": {
        "title": "Створіть форму для опитування",
        "intro": [
          "У цій лабораторній роботі ви пригадаєте HTML-форми, створивши форму для опитування.",
          "Ви будете працювати з елементом <code>label</code>, різними елементами <code>input</code>, атрибутом <code>required</code> та багато іншим."
        ]
      },
      "review-html-tables-and-forms": {
        "title": "Повторення таблиць та форм в HTML",
        "intro": [
          "Перш ніж перейти до тесту «Таблиці та форми в HTML», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати елементи <code>table</code>, <code>input</code> та <code>button</code>, а також поширені інструменти (серед яких валідатор HTML) і багато іншого."
        ]
      },
      "quiz-html-tables-and-forms": {
        "title": "Тест «Таблиці та форми в HTML»",
        "intro": [
          "Перевірте, що ви дізнались про форми, таблиці та інструменти в HTML.",
          "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного."
        ]
      }
    }
  },
  "a1-professional-spanish": {
    "title": "Сертифікація «Іспанська мова A1 для роботи (бета)»",
    "note": "Сертифікація активно розробляється, а новий матеріал буде опубліковано в міру створення. Як тільки весь матеріал стане доступним, ми опублікуємо екзамен.",
    "intro": [
      "У цьому курсі ви вивчите основи іспанської мови рівня A1 відповідно до загальноєвропейських рекомендацій з мовної освіти (CEFR). Уроки орієнтовані на робоче середовище, а кожен модуль поділений на певні розділи:",
      "- «Розігрів» для короткого повторення.",
      "- «Навчання» з новою лексикою та граматикою.",
      "- «Практика» для перевірки розуміння та письма.",
      "- «Повторення» з ключовою граматикою та лексикою."
    ],
    "chapters": {
      "es-a1-chapter-welcome-to-a1-professional-spanish": "Вступ до іспанської мови рівня A1",
      "es-a1-chapter-spanish-fundamentals": "Основи іспанської мови",
      "es-a1-chapter-greetings-and-introductions": "Привітання та знайомство",
      "es-a1-chapter-basic-personal-details": "Особиста інформація",
      "es-a1-chapter-describing-company-and-people": "Опис компанії та працівників"
    },
    "modules": {
      "es-a1-module-introduction-and-certification-overview": "Вступ і опис сертифікації",
      "es-a1-module-letters-sounds-and-first-numbers": "Літери, звуки та цифри",
      "es-a1-module-greetings-and-farewells": "Привітання та прощання",
      "es-a1-module-introducing-yourself": "Представлення",
      "es-a1-module-first-questions": "Запитання при знайомстві",
      "es-a1-module-numbers-10-to-29": "Числа від 10 до 29",
      "es-a1-module-sharing-your-personal-details": "Обмін особистою інформацією",
      "es-a1-module-numbers-30-to-100": "Числа від 30 до 100",
      "es-a1-module-describing-a-company": "Опис компанії",
      "es-a1-module-describing-people-at-work": "Опис колег"
    },
    "module-intros": {
      "es-a1-module-describing-a-company": {
        "note": "Очікуйте у 2026",
        "intro": [
          "У цьому модулі ви навчитесь визначати й описувати базову інформацію про компанію, а саме: назву, вебсайт, розташування, кількість співробітників і відділи."
        ]
      },
      "es-a1-module-describing-people-at-work": {
        "note": "Очікуйте у 2026",
        "intro": [
          "У цьому модулі ви навчитесь описувати людей й виправляти інформацію в коротких діалогах."
        ]
      }
    },
    "blocks": {
      "es-a1-warm-up-greetings-and-farewells-basics": {
        "title": "Основні привітання та прощання",
        "intro": ["", ""]
      },
      "es-a1-learn-greetings-during-the-day": {
        "title": "Привітання протягом дня",
        "intro": ["", ""]
      },
      "es-a1-practice-greetings-and-farewells": {
        "title": "Привітання та прощання на практиці",
        "intro": ["", ""]
      },
      "es-a1-review-greetings-and-farewells": {
        "title": "Повторення привітань та прощань",
        "intro": ["", ""]
      },
      "es-a1-quiz-greetings-and-farewells": {
        "title": "Тест «Привітання та прощання»",
        "intro": ["", ""]
      },
      "es-a1-learn-certification-introduction": {
        "title": "Коротко про сертифікацію",
        "intro": ["", ""]
      },
      "es-a1-learn-alphabet-and-accents": {
        "title": "Алфавіт та акценти",
        "intro": ["", ""]
      },
      "es-a1-learn-punctuation": {
        "title": "Пунктуація",
        "intro": ["", ""]
      },
      "es-a1-quiz-spanish-fundamentals": {
        "title": "Тест «Основи іспанської мови»",
        "intro": ["", ""]
      },
      "es-a1-warm-up-introducing-yourself-basics": {
        "title": "Основне представлення",
        "intro": ["", ""]
      },
      "es-a1-learn-meet-luna": {
        "title": "Знайомство з Луною",
        "intro": ["", ""]
      },
      "es-a1-learn-meet-mateo": {
        "title": "Знайомство з Матео",
        "intro": ["", ""]
      },
      "es-a1-learn-meet-julieta": {
        "title": "Знайомство з Хуліетою",
        "intro": ["", ""]
      },
      "es-a1-practice-introducing-yourself": {
        "title": "Представлення на практиці",
        "intro": ["", ""]
      },
      "es-a1-review-introducing-yourself": {
        "title": "Повторення представлення",
        "intro": ["", ""]
      },
      "es-a1-quiz-introducing-yourself": {
        "title": "Тест «Представлення»",
        "intro": ["", ""]
      },
      "es-a1-warm-up-first-questions-basics": {
        "title": "Основні запитання при знайомстві",
        "intro": ["", ""]
      },
      "es-a1-learn-meet-angela-and-basti": {
        "title": "Знайомство з Ангелою і Басті",
        "intro": ["", ""]
      },
      "es-a1-practice-first-questions": {
        "title": "Запитання при знайомстві на практиці",
        "intro": ["", ""]
      },
      "es-a1-review-first-questions": {
        "title": "Повторення запитань при знайомстві",
        "intro": ["", ""]
      },
      "es-a1-quiz-first-questions": {
        "title": "Тест «Запитання при знайомстві»",
        "intro": ["", ""]
      },
      "es-a1-learn-vowels": {
        "title": "Голосні звуки",
        "intro": ["", ""]
      },
      "es-a1-learn-consonants-and-special-characters": {
        "title": "Приголосні звуки та спеціальні символи",
        "intro": ["", ""]
      },
      "es-a1-review-spanish-fundamentals": {
        "title": "Повторення основ іспанської мови",
        "intro": ["", ""]
      },
      "es-a1-practice-the-alphabet": {
        "title": "Алфавіт на практиці",
        "intro": ["", ""]
      },
      "es-a1-warm-up-remember-first-numbers": {
        "title": "Повторення чисел до 10",
        "intro": ["", ""]
      },
      "es-a1-learn-numbers-10-to-29": {
        "title": "Числа від 10 до 29",
        "intro": ["", ""]
      },
      "es-a1-practice-using-numbers-10-to-29": {
        "title": "Використання чисел від 10 до 29",
        "intro": ["", ""]
      },
      "es-a1-review-numbers-10-to-29": {
        "title": "Повторення чисел від 10 до 29",
        "intro": ["", ""]
      },
      "es-a1-quiz-numbers-10-to-29": {
        "title": "Тест «Числа від 10 до 29»",
        "intro": ["", ""]
      },
      "es-a1-warm-up-getting-ready-to-share-personal-details": {
        "title": "Готуємось ділитися особистою інформацією",
        "intro": ["", ""]
      },
      "es-a1-learn-basic-personal-information": {
        "title": "Базова особиста інформація",
        "intro": ["", ""]
      },
      "es-a1-learn-contact-information-and-spelling": {
        "title": "Контактні дані та вимова",
        "intro": ["", ""]
      },
      "es-a1-practice-personal-details-in-action": {
        "title": "Особиста інформація на практиці",
        "intro": ["", ""]
      },
      "es-a1-review-sharing-your-personal-details": {
        "title": "Повторення обміну особистою інформацією",
        "intro": ["", ""]
      },
      "es-a1-quiz-sharing-your-personal-details": {
        "title": "Тест «Обмін особистою інформацією»",
        "intro": ["", ""]
      },
      "es-a1-learn-the-first-ten-numbers": {
        "title": "Числа до 10",
        "intro": ["", ""]
      },
      "es-a1-practice-the-first-ten-numbers": {
        "title": "Використання чисел до 10",
        "intro": ["", ""]
      },
      "es-a1-learn-numbers-30-to-60": {
        "title": "Числа від 30 до 60",
        "intro": ["", ""]
      },
      "es-a1-warm-up-describing-a-company-basics": {
        "title": "Основи для опису компанії",
        "intro": ["", ""]
      },
      "es-a1-learn-numbers-61-to-100": {
        "title": "Числа від 61 до 100",
        "intro": ["", ""]
      },
      "es-a1-practice-using-the-first-100-numbers": {
        "title": "Використання чисел до 100",
        "intro": ["", ""]
      },
      "es-a1-review-first-100-numbers": {
        "title": "Повторення чисел до 100",
        "intro": ["", ""]
      },
      "es-a1-quiz-numbers-30-to-100": {
        "title": "Тест «Числа від 30 до 100»",
        "intro": ["", ""]
      },
      "es-a1-learn-what-the-company-does": {
        "title": "Чим займається компанія?",
        "intro": ["", ""]
      },
      "es-a1-learn-asking-about-a-company": {
        "title": "Як запитувати про компанію?",
        "intro": ["", ""]
      },
      "es-a1-practice-company-profile": {
        "title": "Опис компанії на практиці",
        "intro": ["", ""]
      },
      "es-a1-review-talking-about-a-company": {
        "title": "Повторення опису компанії",
        "intro": ["", ""]
      },
      "es-a1-quiz-describing-a-company": {
        "title": "Тест «Опис компанії»",
        "intro": ["", ""]
      },
      "es-a1-warm-up-describing-people-at-work-basics": {
        "title": "Основи для опису колег",
        "intro": ["", ""]
      },
      "es-a1-learn-mini-biographies": {
        "title": "Коротка біографія",
        "intro": ["", ""]
      },
      "es-a1-practice-asking-about-mini-biographies": {
        "title": "Як запитувати про біографію?",
        "intro": ["", ""]
      },
      "es-a1-learn-short-workplace-profile": {
        "title": "Короткий робочий профіль",
        "intro": ["", ""]
      },
      "es-a1-practice-asking-about-short-workplace-profiles": {
        "title": "Як запитувати про роботу?",
        "intro": ["", ""]
      },
      "es-a1-review-describing-people-at-work": {
        "title": "Повторення опису колег",
        "intro": ["", ""]
      },
      "es-a1-quiz-describing-people-at-work": {
        "title": "Тест «Опис колег»",
        "intro": ["", ""]
      },
      "es-a1-learn-talking-about-colleagues": {
        "title": "Як говорити про колег?",
        "intro": ["", ""]
      },
      "es-a1-practice-what-departments-do": {
        "title": "Чим займаються відділи?",
        "intro": ["", ""]
      }
    }
  },
  "responsive-web-design-v9": {
    "title": "Сертифікація «Адаптивний вебдизайн»",
    "intro": [
      "У цьому курсі викладено основи HTML та CSS, що включає верстку, дизайн, доступність та адаптивну веброзробку. Ви будете створювати практичні проєкти, завдяки чому отримаєте навички для створення професійних вебсторінок.",
      "Щоб отримати сертифікацію «Адаптивний вебдизайн»:",
      "- Виконайте п’ять обов’язкових проєктів, щоб отримати допуск до екзамену.",
      "- Успішно складіть екзамен «Адаптивний вебдизайн»."
    ],
    "chapters": {
      "html": "HTML",
      "computers": "Комп’ютери",
      "css": "CSS",
      "responsive-web-design-certification-exam": "Екзамен з сертифікації «Адаптивний вебдизайн»"
    },
    "modules": {
      "basic-html": "Основи HTML",
      "semantic-html": "Семантичний HTML",
      "html-forms-and-tables": "Форми та таблиці",
      "lab-survey-form": "Створіть форму для опитування",
      "html-and-accessibility": "Доступність",
      "review-html": "Повторення HTML",
      "computer-basics": "Основи комп’ютера",
      "basic-css": "Основи CSS",
      "design-for-developers": "Дизайн",
      "absolute-and-relative-units": "Відносні та абсолютні одиниці",
      "pseudo-classes-and-elements": "Псевдокласи та псевдоелементи",
      "css-colors": "Кольори",
      "styling-forms": "Стилізація форм",
      "css-box-model": "Блокова модель",
      "css-flexbox": "Flexbox",
      "lab-page-of-playing-cards": "Створіть сторінку з гральними картами",
      "css-typography": "Типографія",
      "css-and-accessibility": "Доступність",
      "css-positioning": "Позиціювання",
      "attribute-selectors": "Селектори атрибутів",
      "lab-book-inventory-app": "Створіть застосунок для книг",
      "responsive-design": "Адаптивний дизайн",
      "lab-technical-documentation-page": "Створіть сторінку технічної документації",
      "css-variables": "Змінні",
      "css-grid": "Сітка",
      "lab-product-landing-page": "Створіть посадкову сторінку продукту",
      "css-animations": "Анімації",
      "review-css": "Повторення CSS",
      "responsive-web-design-certification-exam": "Екзамен з сертифікації «Адаптивний вебдизайн»"
    },
    "blocks": {
      "workshop-curriculum-outline": {
        "title": "Створіть навчальний план",
        "intro": [
          "Вітаємо на freeCodeCamp!",
          "У цьому практичному занятті ви ознайомитесь з HTML та програмуванням. Ви дізнаєтесь про деякі елементи, серед яких заголовки та абзаци."
        ]
      },
      "lab-debug-camperbots-profile-page": {
        "title": "Налагодьте профіль Кемпербота",
        "intro": [
          "Кемпербот також вчиться програмувати і потребує допомоги з HTML.",
          "У цій лабораторній роботі ви допоможете Кемперботу знайти і розв’язати помилки в коді."
        ]
      },
      "lecture-understanding-html-attributes": {
        "title": "Знайомство з атрибутами в HTML",
        "intro": [
          "У цих лекціях ви детальніше ознайомитесь з HTML (мовою розмітки гіпертексту) — мовою розмітки для створення вебсторінок.",
          "Ви дізнаєтесь, яку роль відіграє HTML у мережі, а також ознайомитесь з його атрибутами."
        ]
      },
      "lab-debug-pet-adoption-page": {
        "title": "Налагодьте сторінку притулку для тварин",
        "intro": [
          "У цій лабораторній роботі вам потрібно знайти і виправити помилки на сторінці притулку для тварин."
        ]
      },
      "lecture-understanding-the-html-boilerplate": {
        "title": "Знайомство з шаблонним HTML-кодом",
        "intro": [
          "У цих лекціях ви дізнаєтесь про шаблонний код для HTML.",
          "Ви навчитесь працювати з елементами <code>link</code>, <code>meta</code> та іншими."
        ]
      },
      "workshop-cat-photo-app": {
        "title": "Створіть застосунок із фото котів",
        "intro": [
          "HTML розшифровується як «мова розмітки гіпертексту» та представляє вміст і структуру вебсторінки.",
          "У цьому практичному занятті ви дізнаєтесь, як працювати з базовими елементами в HTML, серед яких заголовки, абзаци, зображення, посилання та списки."
        ]
      },
      "lab-recipe-page": {
        "title": "Створіть сторінку з рецептом",
        "intro": [
          "У цій лабораторній роботі ви пригадаєте основи HTML, створивши вебсторінку з улюбленим рецептом. Ви створите шаблонний код і будете працювати із заголовками, списками, зображеннями тощо."
        ]
      },
      "lecture-html-fundamentals": {
        "title": "Основи HTML",
        "intro": [
          "У цих лекціях ви дізнаєтесь про основи HTML, серед яких елемент <code>div</code>, атрибути <code>id</code> та <code>class</code>, шаблонний код HTML тощо."
        ]
      },
      "workshop-bookstore-page": {
        "title": "Створіть сторінку книгарні",
        "intro": [
          "У цьому практичному занятті ви будете працювати з класами, id та елементом <code>div</code>, створивши сторінку книгарні."
        ]
      },
      "lecture-understanding-how-html-affects-seo": {
        "title": "Як HTML впливає на SEO?",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як HTML впливає на оптимізацію пошукової системи."
        ]
      },
      "lab-travel-agency-page": {
        "title": "Створіть сторінку туристичної агенції",
        "intro": [
          "У цій лабораторній роботі ви пригадаєте основи HTML, створивши вебсторінку для туристичної агенції. Ви будете працювати із зображеннями, елементом <code>figure</code>, елементом <code>figcaption</code>, елементом <code>anchor</code> тощо."
        ]
      },
      "lecture-working-with-audio-and-video-elements": {
        "title": "Робота з аудіо та відео",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з елементами <code>audio</code> та <code>video</code>."
        ]
      },
      "workshop-html-music-player": {
        "title": "Створіть MP3-плеєр",
        "intro": [
          "У цьому практичному занятті ви будете використовувати HTML, щоб створити звичайний MP3-плеєр.",
          "Ви будете працювати з елементом <code>audio</code>, налаштуванням MP3-плеєра та багато іншим."
        ]
      },
      "workshop-html-video-player": {
        "title": "Створіть відеоплеєр",
        "intro": [
          "У цьому практичному занятті ви будете використовувати HTML, щоб створити звичайний відеоплеєр.",
          "Ви будете працювати з елементом <code>video</code>, налаштуванням відеоплеєра та багато іншим."
        ]
      },
      "lab-html-audio-and-video-player": {
        "title": "Створіть аудіо- та відеоплеєр",
        "intro": [
          "У цій лабораторній роботі ви створите HTML‑плеєр для аудіо й відео, використовуючи елементи <code>video</code> та <code>audio</code> з атрибутами controls і source."
        ]
      },
      "lecture-working-with-images-and-svgs": {
        "title": "Робота із зображеннями та SVG",
        "intro": [
          "У цих лекціях ви навчитесь працювати з SVG та дізнаєтесь про способи оптимізації зображень."
        ]
      },
      "workshop-build-a-heart-icon": {
        "title": "Створіть сердечко",
        "intro": [
          "У цьому практичному занятті ви будете працювати з SVG, створивши сердечко."
        ]
      },
      "lecture-working-with-media": {
        "title": "Робота з елементом iframe",
        "intro": [
          "У цих лекціях ви навчитесь працювати з елементом <code>iframe</code>, який використовують для додавання зовнішнього сайту на вебсторінку."
        ]
      },
      "workshop-build-a-video-display-using-iframe": {
        "title": "Створіть віджет відео за допомогою iframe",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь, як працювати з елементом <code>iframe</code>, створивши віджет для відтворення відео."
        ]
      },
      "lab-video-compilation-page": {
        "title": "Створіть сторінку із відео",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку із відео. Ви будете працювати з елементом <code>iframe</code>."
        ]
      },
      "lecture-working-with-links": {
        "title": "Робота з посиланнями",
        "intro": [
          "У цих лекціях ви дізнаєтесь про посилання, атрибут <code>target</code>, різні стани посилань, абсолютний і відносний шлях тощо."
        ]
      },
      "review-basic-html": {
        "title": "Повторення основ HTML",
        "intro": [
          "Перш ніж перейти до тесту «Основи HTML», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати шаблонний код HTML, елементи <code>audio</code> й <code>video</code>, різні значення атрибута <code>target</code> та багато іншого."
        ]
      },
      "quiz-basic-html": {
        "title": "Тест «Основи HTML»",
        "intro": [
          "Перевірте, що ви дізнались про основи HTML.",
          "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного."
        ]
      },
      "lecture-importance-of-semantic-html": {
        "title": "Важливість семантичного HTML",
        "intro": [
          "У цих лекціях ви дізнаєтесь про семантичний HTML і чому ним варто цікавитись, а також про семантичні елементи, різницю між семантичним і презентаційним HTML та багато іншого."
        ]
      },
      "lecture-understanding-nuanced-semantic-elements": {
        "title": "Нюанси роботи з семантичними елементами",
        "intro": [
          "У цих лекціях ви дізнаєтесь, коли варто використовувати семантичні елементи (наприклад, <code>em</code> замість <code>i</code>), а також про списки визначень і багато іншого."
        ]
      },
      "workshop-major-browsers-list": {
        "title": "Створіть список основних браузерів",
        "intro": [
          "У цьому практичному занятті ви створите описовий список та попрацюєте з елементами <code>dl</code>, <code>dt</code> і <code>dd</code>."
        ]
      },
      "lecture-working-with-text-and-time-semantic-elements": {
        "title": "Робота з семантичними елементами тексту і часу",
        "intro": [
          "У цих лекціях ви дізнаєтесь про важливість семантики у передачі значення тексту і часу, що включає елементи <code>time</code>, <code>blockquote</code> тощо."
        ]
      },
      "workshop-quincys-job-tips": {
        "title": "Створіть сторінку з порадами для пошуку роботи від Квінсі",
        "intro": [
          "У цьому практичному занятті ви будете працювати з семантичним HTML, зокрема елементами <code>q</code>, <code>blockquote</code> та <code>cite</code>."
        ]
      },
      "lecture-working-with-specialized-semantic-elements": {
        "title": "Робота зі спеціальними семантичними елементами",
        "intro": [
          "У цих лекціях ви ознайомитесь зі спеціальними семантичними елементами, зокрема з <code>u</code>, <code>s</code>, <code>code</code> і багатьма іншими."
        ]
      },
      "workshop-blog-page": {
        "title": "Створіть сторінку блогу про котів",
        "intro": [
          "У цьому практичному занятті ви створите сторінку блогу лише на HTML, використовуючи семантичні елементи, серед яких <code>main</code>, <code>nav</code>, <code>article</code> та <code>footer</code>."
        ]
      },
      "lab-event-hub": {
        "title": "Створіть хаб для подій",
        "intro": [
          "У цій лабораторній роботі ви створите хаб для подій і пригадаєте різні семантичні елементи, серед яких <code>header</code>, <code>nav</code> та <code>article</code>."
        ]
      },
      "review-semantic-html": {
        "title": "Повторення семантичного HTML",
        "intro": [
          "Перш ніж перейти до тесту «Семантичний HTML», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати <code>em</code>, <code>strong</code>, <code>blockquote</code>, <code>address</code> та інші семантичні елементи в HTML."
        ]
      },
      "quiz-semantic-html": {
        "title": "Тест «Семантичний HTML»",
        "intro": [
          "Перевірте, що ви дізнались про семантичний HTML.",
          "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного."
        ]
      },
      "lecture-working-with-forms": {
        "title": "Робота з формами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про форми, важливість міток, полів введення і кнопок, валідацію форми зі сторони клієнта та стани форм."
        ]
      },
      "workshop-hotel-feedback-form": {
        "title": "Створіть форму зворотного зв’язку для готелю",
        "intro": [
          "У цьому практичному занятті ви створите форму зворотного зв’язку для готелю.",
          "Ви навчитесь працювати з мітками, полями введення даних, наборами полів, легендами, текстовими полями та кнопками."
        ]
      },
      "lecture-working-with-tables": {
        "title": "Робота з таблицями",
        "intro": [
          "У цих лекціях ви дізнаєтесь про таблиці в HTML, включно з їхнім створенням і використанням."
        ]
      },
      "workshop-final-exams-table": {
        "title": "Створіть таблицю з результатами екзамену",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь, як працювати з HTML-таблицями, створивши таблицю з результатами екзамену."
        ]
      },
      "lab-book-catalog-table": {
        "title": "Створіть таблицю з книгами",
        "intro": [
          "У цій лабораторній роботі ви пригадаєте HTML-таблиці, створивши таблицю з інформацією про книжки.",
          "Ви будете працювати з різними компонентами таблиці, серед яких елементи <code>thead</code>, <code>tbody</code>, <code>th</code>, <code>tr</code> та <code>td</code>."
        ]
      },
      "lecture-working-with-html-tools": {
        "title": "Робота з інструментами в HTML",
        "intro": [
          "У цих лекціях ви дізнаєтесь про інструменти HTML, які допомагають писати кращий код. До цих інструментів належать валідатори HTML, інспектор DOM та інструменти розробника браузера."
        ]
      },
      "review-html-tables-and-forms": {
        "title": "Повторення таблиць та форм в HTML",
        "intro": [
          "Перш ніж перейти до тесту «Таблиці та форми в HTML», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати елементи <code>table</code>, <code>input</code> та <code>button</code>, а також поширені інструменти (серед яких валідатор HTML) і багато іншого."
        ]
      },
      "quiz-html-tables-and-forms": {
        "title": "Тест «Таблиці та форми в HTML»",
        "intro": [
          "Перевірте, що ви дізнались про форми, таблиці та інструменти в HTML.",
          "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного."
        ]
      },
      "lab-survey-form": {
        "title": "Створіть форму для опитування",
        "intro": [
          "У цій лабораторній роботі ви пригадаєте HTML-форми, створивши форму для опитування.",
          "Ви будете працювати з елементом <code>label</code>, різними елементами <code>input</code>, атрибутом <code>required</code> та багато іншим."
        ]
      },
      "lecture-importance-of-accessibility-and-good-html-structure": {
        "title": "Важливість доступності та хорошої структури HTML",
        "intro": [
          "У цих лекціях ви дізнаєтесь про доступність та її важливість, допоміжні технології для людей з порушеннями, атрибути для створення інклюзивних вебсайтів, найкращі практики й багато іншого."
        ]
      },
      "workshop-debug-coding-journey-blog-page": {
        "title": "Налагодьте сторінку блогу про програмування",
        "intro": [
          "У цьому практичному занятті ви будете виправляти помилки щодо доступності на сторінці блогу про програмування."
        ]
      },
      "lecture-accessible-tables-forms": {
        "title": "Робота з доступними таблицями і формами",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як створювати доступні таблиці та форми."
        ]
      },
      "workshop-tech-conference-schedule": {
        "title": "Створіть таблицю із розкладом конференції",
        "intro": [
          "У цьому практичному занятті ви створите доступну таблицю із розкладом конференції."
        ]
      },
      "lab-debug-donation-form": {
        "title": "Налагодьте форму для донатів",
        "intro": [
          "У цій лабораторній роботі ви налагодите форму для донатів, виправивши синтаксичні помилки і покращивши доступність."
        ]
      },
      "lecture-introduction-to-aria": {
        "title": "Вступ до ARIA",
        "intro": ["У цих лекціях ви дізнаєтесь, як працювати з ARIA-ролями."]
      },
      "workshop-accessible-audio-controller": {
        "title": "Створіть доступний аудіоконтролер",
        "intro": [
          "У цьому практичному занятті ви будете працювати з доступністю, створивши аудіоконтролер з атрибутом <code>aria-labelledby</code>."
        ]
      },
      "lecture-accessible-media-elements": {
        "title": "Робота з доступними медіаелементами",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як створювати доступні посилання, аудіо та відео."
        ]
      },
      "lab-checkout-page": {
        "title": "Створіть платіжну сторінку",
        "intro": [
          "У цій лабораторній роботі ви створите доступну платіжну сторінку.",
          "Ви будете працювати з різними поняттями, серед яких атрибути <code>alt</code> та ARIA-ролі."
        ]
      },
      "lab-movie-review-page": {
        "title": "Створіть сторінку з оглядом на фільм",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку з оглядом на фільм.",
          "Ви будете застосовувати семантичний HTML, атрибути <code>alt</code>, доступні списки, а також приховування декоративного вмісту від читачів екрана за допомогою <code>aria-hidden</code>."
        ]
      },
      "lab-multimedia-player": {
        "title": "Створіть мультимедійний плеєр",
        "intro": [
          "У цій лабораторній роботі ви створите мультимедійний плеєр.",
          "Ви будете працювати з елементами <code>audio</code> та <code>video</code>, а також атрибутами <code>controls</code> й <code>aria-label</code>."
        ]
      },
      "review-html-accessibility": {
        "title": "Повторення доступності в HTML",
        "intro": [
          "Перш ніж перейти до тесту «Доступність в HTML», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати атрибути <code>aria-hidden</code>, <code>aria-describedby</code>, <code>tabindex</code> та багато іншого."
        ]
      },
      "quiz-html-accessibility": {
        "title": "Тест «Доступність в HTML»",
        "intro": [
          "Перевірте, що ви дізнались про доступність.",
          "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного."
        ]
      },
      "review-html": {
        "title": "Повторення HTML",
        "intro": [
          "Перш ніж перейти до підготовчого екзамену «HTML», повторіть основні поняття з попередніх модулів.",
          "Відкрийте цю сторінку, щоб пригадати основні поняття по HTML-елементах, семантичному HTML, таблицях, формах та доступності."
        ]
      },
      "lecture-understanding-computer-internet-and-tooling-basics": {
        "title": "Знайомство з комп’ютером, інтернетом та інструментами",
        "intro": [
          "У цих лекціях ви дізнаєтесь про комп’ютер, його різні частини, інтернет-провайдерів (ISP) та інструменти, якими користуються професійні розробники."
        ]
      },
      "lecture-working-with-file-systems": {
        "title": "Робота з файловими системами",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з файловими та папковими системами на комп’ютерах. Ви навчитеся створювати, переміщувати, видаляти файли й папки, дізнаєтеся про найкращі практики їхнього найменування і організації та багато іншого."
        ]
      },
      "lecture-browsing-the-web-effectively": {
        "title": "Ефективне користування мережею",
        "intro": [
          "У цих лекціях ви дізнаєтесь, що таке вебсайти, пошукові системи й веббраузери, які існують браузери та як максимально ефективно використовувати пошукову систему."
        ]
      },
      "review-computer-basics": {
        "title": "Повторення основ комп’ютера",
        "intro": [
          "Перш ніж перейти до тесту «Основи комп’ютера», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати про RAM, інтернет-провайдери, загальні веббраузери, пошукові системи та багато іншого."
        ]
      },
      "quiz-computer-basics": {
        "title": "Тест «Основи комп’ютера»",
        "intro": ["Перевірте, що ви дізнались про основи комп'ютера."]
      },
      "lecture-what-is-css": {
        "title": "Що таке CSS?",
        "intro": [
          "Наступні лекції присвячені CSS. Ви дізнаєтесь про CSS і його роль в мережі, анатомію правил в CSS, три способи написання CSS і коли їх використовувати, а також про блокові й вбудовані елементи та багато іншого."
        ]
      },
      "workshop-cafe-menu": {
        "title": "Створіть меню для кафе",
        "intro": [
          "CSS повідомляє браузеру, як відтворювати вебсторінку. CSS можна використовувати, щоб встановити колір, шрифт, розмір та інші властивості HTML-елементів.",
          "У цьому практичному занятті ви вивчите CSS, розробивши дизайн меню для вебсторінки кафе."
        ]
      },
      "lab-business-card": {
        "title": "Створіть дизайн візитівки",
        "intro": [
          "У цій лабораторній роботі ви створите візитівку та стилізуєте її за допомогою CSS.",
          "Ви будете працювати з різними властивостями стилю, серед яких <code>color</code>, <code>font-size</code>, <code>text-align</code> тощо."
        ]
      },
      "lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
        "title": "Специфічність, алгоритм каскаду та успадкування в CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь про специфічність в CSS, поширені селектори та їхню специфічність, алгоритм каскаду, успадкування і багато іншого."
        ]
      },
      "review-basic-css": {
        "title": "Повторення основ CSS",
        "intro": [
          "Перш ніж перейти до тесту «Основи CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати <code>margin</code>, <code>padding</code>, комбінатори, специфічність та багато іншого."
        ]
      },
      "quiz-basic-css": {
        "title": "Тест «Основи CSS»",
        "intro": ["Перевірте, що ви дізнались про основи CSS."]
      },
      "lecture-styling-lists-and-links": {
        "title": "Стилізація списків і посилань",
        "intro": [
          "У цих лекціях ви дізнаєтесь про властивості, які потрібно знати для ефективної стилізації списків і посилань, включно зі станами посилань (наприклад, <code>link</code>, <code>visited</code>, <code>hover</code> та <code>active</code>)."
        ]
      },
      "lab-stylized-to-do-list": {
        "title": "Створіть стилізований список справ",
        "intro": [
          "У цій лабораторній роботі ви створите список справ, які потрібно виконати, та застосуєте різні стилі до посилань.",
          "Ви будете працювати з властивостями <code>text-decoration</code> та <code>list-style-type</code>, а також зміните стилі при наведенні чи натисканні."
        ]
      },
      "lecture-working-with-backgrounds-and-borders": {
        "title": "Робота з фоном і кордоном",
        "intro": [
          "У цих лекціях ви дізнаєтесь про властивості та значення, необхідні для стилізації фону і кордону елементів, а також про аспекти доступності, пов’язані з фоном."
        ]
      },
      "lab-blog-post-card": {
        "title": "Створіть картку для допису",
        "intro": [
          "У цій лабораторній роботі ви створите картку для допису із блогу, використовуючи HTML та CSS.",
          "Ви будете працювати з різними поняттями, серед яких <code>background-color</code>, <code>border-radius</code>, поля, відступи та багато іншого."
        ]
      },
      "review-css-backgrounds-and-borders": {
        "title": "Повторення списків, посилань, фону та кордону в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Фони та кордони в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати властивості <code>background-image</code>, <code>border</code> та багато іншого."
        ]
      },
      "quiz-css-backgrounds-and-borders": {
        "title": "Тест «Фони та кордони в CSS»",
        "intro": ["Перевірте, що ви дізнались про фони та кордони в CSS."]
      },
      "lecture-user-interface-design-fundamentals": {
        "title": "Основи UI дизайну",
        "intro": [
          "У цих лекціях ви дізнаєтесь про основи UI дизайну. Ви ознайомитеся з поняттями, необхідними для спілкування з дизайнерами, візуальною ієрархією, масштабуванням, вирівнюванням, використанням пробілів та багато іншим."
        ]
      },
      "lecture-user-centered-design": {
        "title": "Дизайн, орієнтований на користувача",
        "intro": [
          "У цих лекціях ви дізнаєтесь про найкращі практики проєктування користувацьких функцій, серед яких темний режим, навігаційні стежки, діалогові вікна та багато іншого. Ви також навчитеся досліджувати користувачів, визначати їхні вимоги та проводити тестування."
        ]
      },
      "lecture-common-design-tools": {
        "title": "Поширені інструменти дизайну",
        "intro": [
          "У цих лекціях ви дізнаєтесь про поширені інструменти дизайну, які мають знати розробники. Ви також ознайомитеся з дизайн-брифами та тим, як розробники працюють з ними."
        ]
      },
      "review-design-fundamentals": {
        "title": "Повторення основ дизайну",
        "intro": [
          "Перш ніж перейти до тесту «Основи дизайну», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати про дизайн, орієнтований на користувача, масштабування, вирівнювання, хорошу візуальну ієрархію та багато іншого."
        ]
      },
      "quiz-design-fundamentals": {
        "title": "Тест «Основи дизайну»",
        "intro": ["Перевірте, що ви дізнались про основи дизайну UI."]
      },
      "lecture-working-with-relative-and-absolute-units": {
        "title": "Робота з відносними й абсолютними одиницями",
        "intro": [
          "У цих лекціях ви дізнаєтесь про відносні та абсолютні одиниці, а також про те, як вони впливають на відтворення у браузері."
        ]
      },
      "lab-event-flyer-page": {
        "title": "Створіть запрошення на подію",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку із запрошенням на подію.",
          "Ви будете вирівнювати елементи за допомогою абсолютного та відносного CSS."
        ]
      },
      "review-css-relative-and-absolute-units": {
        "title": "Повторення відносних та абсолютних одиниць CSS",
        "intro": [
          "Перш ніж перейти до тесту «Відносні та абсолютні одиниці CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати відсотки, <code>px</code>, <code>rem</code>, <code>em</code> та багато іншого."
        ]
      },
      "quiz-css-relative-and-absolute-units": {
        "title": "Тест «Відносні та абсолютні одиниці CSS»",
        "intro": [
          "Перевірте, що ви дізнались про відносні та абсолютні одиниці в CSS."
        ]
      },
      "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
        "title": "Робота з псевдокласами та псевдоелементами в CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь про псевдокласи та псевдоелементи, розглянувши їхні приклади та принципи роботи."
        ]
      },
      "workshop-greeting-card": {
        "title": "Створіть вітальну листівку",
        "intro": [
          "У попередніх лекціях ви навчилися працювати з різними псевдокласами.",
          "У цьому практичному занятті ви застосуєте свої знання на практиці, створивши вітальну листівку."
        ]
      },
      "workshop-parent-teacher-conference-form": {
        "title": "Створіть форму для батьківських зборів",
        "intro": [
          "У цьому практичному занятті ви будете стилізувати радіокнопки за допомогою різних псевдоселекторів, створивши форму для батьківських зборів.",
          "Ви застосуєте селектор псевдоелемента <code>::before</code>, властивість <code>transform</code> та багато іншого."
        ]
      },
      "lab-job-application-form": {
        "title": "Створіть форму заявки на працевлаштування",
        "intro": [
          "У цій лабораторній роботі ви створите форму із заявкою на працевлаштування та стилізуєте її, використовуючи псевдокласи.",
          "Ви будете працювати з різними поняттями, серед яких <code>:hover</code>, <code>:active</code>, <code>:focus</code> та багато іншого."
        ]
      },
      "review-css-pseudo-classes": {
        "title": "Повторення псевдокласів у CSS",
        "intro": [
          "Перш ніж перейти до тесту «Псевдокласи в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати псевдоелементи <code>::before</code> й <code>::after</code>, псевдокласи <code>:hover</code> й <code>:active</code> та багато іншого."
        ]
      },
      "quiz-css-pseudo-classes": {
        "title": "Тест «Псевдокласи в CSS»",
        "intro": ["Перевірте, що ви дізнались про псевдокласи в CSS."]
      },
      "lecture-working-with-colors-in-css": {
        "title": "Робота з кольорами в CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь про лінійний та радіальний градієнти, теорію кольорів і різні види кольорів (серед яких названі, RGB, Hex та HSL). Ви дізнаєтесь, як ці кольори працюють і які потрібно використовувати."
        ]
      },
      "workshop-colored-markers": {
        "title": "Створіть набір кольорових маркерів",
        "intro": [
          "У цьому практичному занятті ви створите набір кольорових маркерів. Ви попрактикуєте різні способи встановити значення кольорів та дізнаєтесь, як поєднувати кольори між собою."
        ]
      },
      "lab-colored-boxes": {
        "title": "Створіть кольорові блоки",
        "intro": [
          "У цій лабораторній роботі ви створите кольорову сітку та попрактикуєтесь додавати кольори фону до елементів, використовуючи шістнадцяткові коди, RGB і визначені назви."
        ]
      },
      "review-css-colors": {
        "title": "Повторення кольорів у CSS",
        "intro": [
          "Перш ніж перейти до тесту «Кольори в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати функцію <code>rgb()</code>, функцію <code>hsl()</code>, <code>hex codes</code> та багато іншого."
        ]
      },
      "quiz-css-colors": {
        "title": "Тест «Кольори в CSS»",
        "intro": ["Перевірте, що ви дізнались про кольори в CSS."]
      },
      "lecture-best-practices-for-styling-forms": {
        "title": "Найкращі практики стилізації форм",
        "intro": [
          "У цих лекціях ви дізнаєтесь про найкращі практики стилізації форм і проблеми, з якими можна зіткнутися при стилізації спеціальних вхідних даних, серед яких <code>color</code> та <code>datetime-local</code>."
        ]
      },
      "workshop-registration-form": {
        "title": "Створіть форму реєстрації",
        "intro": [
          "У цьому практичному занятті ви навчитесь працювати з формами в HTML, створивши сторінку реєстрації. Ви дізнаєтесь, як керувати типами даних, що можна ввести у формі, й деякі нові інструменти CSS для стилізації сторінки."
        ]
      },
      "lab-contact-form": {
        "title": "Створіть контактну форму",
        "intro": [
          "У цій лабораторній роботі ви створите контактну форму в HTML та стилізуєте її за допомогою CSS."
        ]
      },
      "workshop-game-settings-panel": {
        "title": "Створіть панель із налаштуваннями гри",
        "intro": [
          "У цьому практичному занятті ви будете стилізувати прапорці, створивши панель із налаштуваннями гри."
        ]
      },
      "lab-feature-selection": {
        "title": "Створіть сторінку для функцій",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку вибору функцій із кастомними прапорцями.",
          "Ви створите картки з мітками і прапорцями, а потім надасте прапорцям індивідуального стилю."
        ]
      },
      "review-styling-forms": {
        "title": "Повторення стилізації форм",
        "intro": [
          "Перш ніж перейти до тесту «Стилізація форм», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як стилізувати введення форми, як працювати з <code>appearance: none</code> та багато іншого."
        ]
      },
      "quiz-styling-forms": {
        "title": "Тест «Стилізація форм»",
        "intro": ["Перевірте, що ви дізнались про стилізацію форм."]
      },
      "lecture-working-with-css-transforms-overflow-and-filters": {
        "title": "Робота з трансформаціями, переповненням і ефектами в CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь про роботу з трансформаціями, переповненням та фільтрами в CSS. Ви також ознайомитеся з блоковою моделлю та принципами її роботи."
        ]
      },
      "workshop-rothko-painting": {
        "title": "Створіть картину Ротко",
        "intro": [
          "Кожен елемент HTML є власним блоком із власним простором та кордоном. Це називається блоковою моделлю.",
          "У цьому практичному занятті ви будете використовувати CSS та блокову модель, щоб створити власну картину в стилі Ротко."
        ]
      },
      "lab-confidential-email-page": {
        "title": "Створіть конфіденційний лист",
        "intro": [
          "У цій лабораторній роботі ви створите вебсторінку, використовуючи HTML, та замаскуєте вміст за допомогою властивостей CSS."
        ]
      },
      "review-css-layout-and-effects": {
        "title": "Повторення макетів та ефектів у CSS",
        "intro": [
          "Перш ніж перейти до тесту «Макети та ефекти в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати властивість <code>transform</code>, блокову модель, властивість <code>overflow</code> та багато іншого."
        ]
      },
      "quiz-css-layout-and-effects": {
        "title": "Тест «Макети та ефекти в CSS»",
        "intro": [
          "Перевірте, що ви дізнались про блокову модель, макети та ефекти в CSS."
        ]
      },
      "lecture-working-with-css-flexbox": {
        "title": "Робота з Flexbox в CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працює гнучка модель в CSS, про різні властивості та коли її варто використовувати."
        ]
      },
      "workshop-flexbox-photo-gallery": {
        "title": "Створіть фотогалерею із Flexbox",
        "intro": [
          "У цьому практичному занятті ви будете використовувати Flexbox, щоб створити адаптивну вебсторінку із фотогалереєю."
        ]
      },
      "workshop-colorful-boxes": {
        "title": "Створіть кольорові блоки",
        "intro": [
          "У цьому практичному занятті ви будете працювати з flexbox в CSS, створивши набір кольорових блоків."
        ]
      },
      "lab-pricing-plans-layout": {
        "title": "Створіть сторінку з тарифами",
        "intro": [
          "У цій лабораторній роботі ви використовуватимете flexbox, щоб створити поширений макет з трьома картками.",
          "Ви будете вирівнювати елементи за допомогою властивостей flexbox, серед яких <code>flex</code>, <code>flex-grow</code>, <code>order</code> та інші."
        ]
      },
      "review-css-flexbox": {
        "title": "Повторення Flexbox в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Flexbox в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати властивості <code>flex-direction</code>, <code>justify-content</code>, <code>align-items</code>, <code>flex-wrap</code> та багато іншого."
        ]
      },
      "quiz-css-flexbox": {
        "title": "Тест «Flexbox в CSS»",
        "intro": ["Перевірте, що ви дізнались про flexbox в CSS."]
      },
      "lab-page-of-playing-cards": {
        "title": "Створіть сторінку з гральними картами",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати гнучку модель, щоб створити вебсторінку з гральними картами.",
          "Ви будете вирівнювати елементи за допомогою різних властивостей, серед яких <code>flex-direction</code>, <code>justify-content</code>, <code>align-self</code> та багато інших."
        ]
      },
      "lecture-working-with-css-fonts": {
        "title": "Робота з шрифтами в CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь про типографію і її найкращі практики, шрифти та властивість <code>text-shadow</code>."
        ]
      },
      "workshop-nutritional-label": {
        "title": "Створіть харчову етикетку",
        "intro": [
          "Типографія — це мистецтво стилізації тексту, щоб його було легко читати та він відповідав своєму призначенню.",
          "У цьому практичному занятті ви будете використовувати типографію, щоб створити вебсторінку з харчовою етикеткою. Ви дізнаєтеся, як стилізувати текст, регулювати висоту рядка та позиціювати текст за допомогою CSS."
        ]
      },
      "lab-newspaper-article": {
        "title": "Створіть статтю в газеті",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку зі статтею з журналу, використовуючи HTML та CSS.",
          "Ви будете стилізувати шрифти, використовуючи такі властивості, як <code>font-family</code>, <code>font-size</code>, <code>font-weight</code> тощо."
        ]
      },
      "review-css-typography": {
        "title": "Повторення типографії в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Типографія в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати веббезпечні шрифти, властивість <code>font-family</code> та багато іншого."
        ]
      },
      "quiz-css-typography": {
        "title": "Тест «Типографія в CSS»",
        "intro": ["Перевірте, що ви дізнались про типографію."]
      },
      "lecture-best-practices-for-accessibility-and-css": {
        "title": "Найкращі практики доступності й CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь про найкращі практики доступності в CSS та інструменти для перевірки хорошого кольорового контрасту на вебсайтах."
        ]
      },
      "workshop-accessibility-quiz": {
        "title": "Створіть сторінку з вікториною",
        "intro": [
          "Доступність полегшує користування вебсторінкою для всіх людей, навіть для людей з порушеннями.",
          "У цьому практичному занятті ви створите вебсторінку з вікториною. Ви дізнаєтеся про інструменти доступності, серед яких комбінації клавіш, атрибути ARIA та найкращі поради щодо дизайну."
        ]
      },
      "lab-tribute-page": {
        "title": "Створіть пам’ятну сторінку",
        "intro": [
          "У цій лабораторній роботі ви створите пам’ятну сторінку на власну тему."
        ]
      },
      "review-css-accessibility": {
        "title": "Повторення доступності в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Доступність в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати інструменти контрастності кольорів та найкращі практики доступності."
        ]
      },
      "quiz-css-accessibility": {
        "title": "Тест «Доступність в CSS»",
        "intro": [
          "Перевірте, що ви дізнались про доступність вебсторінок із CSS."
        ]
      },
      "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": {
        "title": "Знайомство з вирівнюванням й позиціюванням в CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь про позиціювання та обтікання в CSS. Ви ознайомитеся з позиціюванням <code>absolute</code>, <code>relative</code>, <code>fixed</code> та <code>sticky</code>, а також будете використовувати властивість <code>z-index</code>."
        ]
      },
      "workshop-cat-painting": {
        "title": "Створіть малюнок кота",
        "intro": [
          "Позиціювання CSS важливо опанувати для того, щоб створювати візуально привабливі та адаптивні вебмакети.",
          "У цьому практичному занятті ви створите малюнок кота. Ви дізнаєтесь, як працювати з абсолютним позиціюванням, а також з властивостями <code>z-index</code> й <code>transform</code>."
        ]
      },
      "lab-house-painting": {
        "title": "Створіть малюнок будинку",
        "intro": [
          "У цій лабораторній роботі ви створите малюнок будинку за допомогою CSS.",
          "Ви будете проєктувати окремі елементи будинку та розміщувати їх, використовуючи різні властивості, серед яких <code>position</code>, <code>top</code>, <code>left</code> і багато інших."
        ]
      },
      "review-css-positioning": {
        "title": "Повторення позиціювання в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Позиціювання в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати обтікання, відносне позиціювання, абсолютне позиціювання та багато іншого."
        ]
      },
      "quiz-css-positioning": {
        "title": "Тест «Позиціювання в CSS»",
        "intro": ["Перевірте, що ви дізнались про позиціювання в CSS."]
      },
      "lecture-working-with-attribute-selectors": {
        "title": "Робота з селекторами атрибутів",
        "intro": [
          "У цих лекціях ви дізнаєтесь про селектори атрибутів та як їх використовувати для націлювання на елементи (наприклад, на посилання та списки)."
        ]
      },
      "workshop-balance-sheet": {
        "title": "Створіть фінансовий облік",
        "intro": [
          "У цьому практичному занятті ви побудуєте фінансовий облік за допомогою псевдоселекторів. Ви дізнаєтеся, як змінити стиль елемента, коли наводите на нього курсор, та запускати інші події на вебсторінці."
        ]
      },
      "review-css-attribute-selectors": {
        "title": "Повторення селекторів атрибутів у CSS",
        "intro": [
          "Перш ніж перейти до тесту «Селектори атрибутів у CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з різними селекторами атрибутів, які націлюють посилання атрибутами <code>href</code> та <code>title</code>."
        ]
      },
      "quiz-css-attribute-selectors": {
        "title": "Тест «Селектори атрибутів у CSS»",
        "intro": ["Перевірте, що ви дізнались про селектори атрибутів у CSS."]
      },
      "lab-book-inventory-app": {
        "title": "Створіть застосунок з книгами",
        "intro": [
          "У цій лабораторній роботі ви створите застосунок для інвентаризації книг.",
          "Ви будете використовувати селектори атрибутів у CSS, серед яких <code>[attribute]</code>, <code>[attribute=value]</code>, <code>[attribute~=value]</code> та багато інших."
        ]
      },
      "lecture-best-practices-for-responsive-web-design": {
        "title": "Найкращі практики адаптивного вебдизайну",
        "intro": [
          "У цих лекціях ви дізнаєтесь про найкращі практики адаптивного вебдизайну, а також про основні поняття (а саме про сітку, гнучкий блок, медіазапити, медіаточки) і багато іншого."
        ]
      },
      "workshop-piano": {
        "title": "Створіть піаніно",
        "intro": [
          "Адаптивний дизайн повідомляє вебсторінці, як вона має виглядати на екранах різного розміру.",
          "У цьому практичному занятті ви використовуватимете CSS та адаптивний дизайн, щоб створити піаніно. До того ж ви більше дізнаєтесь про медіазапити та псевдоселектори."
        ]
      },
      "review-responsive-web-design": {
        "title": "Повторення адаптивного вебдизайну",
        "intro": [
          "Перш ніж перейти до тесту «Адаптивний вебдизайн», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати медіазапити, точки зупинки та принцип mobile first."
        ]
      },
      "quiz-responsive-web-design": {
        "title": "Тест «Адаптивний вебдизайн»",
        "intro": ["Перевірте, що ви дізнались про адаптивність вебсторінок."]
      },
      "lab-technical-documentation-page": {
        "title": "Створіть сторінку технічної документації",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку технічної документації, яка служитиме інструкцією або довідником.",
          "Ви також попрактикуєте роботу з медіазапитами для створення адаптивного дизайну."
        ]
      },
      "lecture-working-with-css-variables": {
        "title": "Робота зі змінними в CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як визначити та використовувати кастомні властивості (також відомі як CSS-змінні). Ви також дізнаєтесь про директиву <code>@property</code> і як вона працює."
        ]
      },
      "workshop-city-skyline": {
        "title": "Створіть панораму міста",
        "intro": [
          "Змінні в CSS допомагають організувати стилі та повторно використовувати їх.",
          "У цьому практичному занятті ви побудуєте панораму міста. Ви дізнаєтеся, як налаштувати змінні CSS, щоб повторно використовувати їх, коли забажаєте."
        ]
      },
      "lab-availability-table": {
        "title": "Створіть таблицю з вільними годинами",
        "intro": [
          "У цій лабораторній роботі ви створите таблицю з вільними годинами, яка показуватиме, чи людина може бути присутньою на зустрічі.",
          "Ви будете практикуватись використовувати CSS-змінні, щоб зберігати й повторно використовувати кольори, шрифти та інші стилі."
        ]
      },
      "review-css-variables": {
        "title": "Повторення змінних в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Змінні в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з власними CSS-властивостями (CSS-змінними) та директивою <code>@property</code>."
        ]
      },
      "quiz-css-variables": {
        "title": "Тест «Змінні в CSS»",
        "intro": ["Перевірте, що ви дізнались про змінні в CSS."]
      },
      "lecture-working-with-css-grid": {
        "title": "Робота з сіткою в CSS",
        "intro": [
          "У цих лекціях ви дізнаєтесь про сітку в CSS, її властивості та як їх використовувати. Ви також дізнаєтесь про різницю між сіткою та гнучкою моделлю."
        ]
      },
      "workshop-magazine": {
        "title": "Створіть журнал",
        "intro": [
          "CSS-сітка дозволяє керувати рядками та стовпцями вебсторінки.",
          "У цьому практичному занятті ви створите статтю в журналі. Ви дізнаєтеся, як використовувати сітку, включно з рядками та стовпцями."
        ]
      },
      "lab-newspaper-layout": {
        "title": "Створіть сторінку в газеті",
        "intro": [
          "У цій лабораторній роботі ви розробите макет газети, використовуючи сітку в CSS, включно з рядками та стовпцями."
        ]
      },
      "lecture-debugging-css": {
        "title": "Налагодження CSS",
        "intro": [
          "У цій лекції ви навчитесь налагоджувати CSS за допомогою інструментів розробника свого браузера та валідаторів CSS."
        ]
      },
      "review-css-grid": {
        "title": "Повторення сітки в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Сітка в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з різними властивостями CSS-сітки, серед яких <code>grid-template-columns</code>, <code>grid-gap</code> тощо."
        ]
      },
      "quiz-css-grid": {
        "title": "Тест «Сітка в CSS»",
        "intro": ["Перевірте, що ви дізнались про сітку в CSS."]
      },
      "lab-product-landing-page": {
        "title": "Створіть посадкову сторінку продукту",
        "intro": [
          "У цьому проєкті ви створите посадкову сторінку продукту, щоб прорекламувати продукт за власним вибором."
        ]
      },
      "lecture-animations-and-accessibility": {
        "title": "Анімація та доступність",
        "intro": [
          "У цих лекціях ви дізнаєтесь про анімації в CSS та їхні аспекти доступності. Ви також дізнаєтесь, як <code>prefers-reduced-motion</code> може допомогти з цими питаннями."
        ]
      },
      "workshop-ferris-wheel": {
        "title": "Створіть оглядове колесо",
        "intro": [
          "У CSS можна використати анімацію, щоб привернути увагу до певних розділів вебсторінки та зробити її більш привабливою.",
          "У цьому практичному занятті ви побудуєте оглядове колесо. Ви будете використовувати CSS для анімації, трансформації та регулювання швидкості елементів."
        ]
      },
      "lab-moon-orbit": {
        "title": "Створіть орбіту Місяця",
        "intro": [
          "У цій лабораторній роботі ви створите анімацію оберту Місяця навколо Землі.",
          "Ви будете використовувати анімаційні властивості, серед яких <code>animation-name</code>, <code>animation-duration</code>, <code>animation-timing-function</code> і багато інших."
        ]
      },
      "workshop-flappy-penguin": {
        "title": "Створіть пінгвіна Флаппі",
        "intro": [
          "HTML-елементи можна змінити, щоб створити хороший дизайн, який привертає увагу читача. Ви можете використовувати трансформації, щоб обертати елементи, масштабувати їх тощо.",
          "У цьому практичному занятті ви створите пінгвіна. Ви будете використовувати трансформації CSS, щоб позиціювати й змінити розмір частин пінгвіна, створити фон та анімувати роботу."
        ]
      },
      "lab-personal-portfolio": {
        "title": "Створіть особисте портфоліо",
        "intro": ["У цьому проєкті ви створите особисте портфоліо."]
      },
      "review-css-animations": {
        "title": "Повторення анімацій в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Анімації в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати <code>prefers-reduced-motion</code>, директиву <code>@keyframes</code> та багато іншого."
        ]
      },
      "quiz-css-animations": {
        "title": "Тест «Анімації в CSS»",
        "intro": ["Перевірте, що ви дізнались про анімації в CSS."]
      },
      "review-css": {
        "title": "Повторення CSS",
        "intro": [
          "Перш ніж перейти до підготовчого екзамену «CSS», повторіть основні поняття з попередніх модулів.",
          "Відкрийте цю сторінку, щоб пригадати основи CSS, адаптивного вебдизайну, анімацій, доступності тощо."
        ]
      },
      "exam-responsive-web-design-certification": {
        "title": "Екзамен з сертифікації «Адаптивний вебдизайн»",
        "intro": [
          "Щоб отримати сертифікацію «Адаптивний вебдизайн», потрібно успішно скласти екзамен"
        ]
      }
    }
  },
  "a2-professional-spanish": {
    "title": "Сертифікація «Іспанська мова A2 для роботи (бета)»",
    "note": "Сертифікація активно розробляється, а новий матеріал буде опубліковано в міру створення. Як тільки весь матеріал стане доступним, ми опублікуємо екзамен.",
    "intro": ["Placeholder intro"],
    "blocks": {
      "talk-about-who-you-are-by-using-key-verbs": {
        "title": "Говоріть про себе за допомогою ключових дієслів",
        "intro": [
          "Дізнайтесь, як просто і професійно представити себе іспанською мовою. У цьому модулі ви навчитесь розповідати про себе, звідки ви, чим займаєтесь, як почуваєтесь і що вам подобається чи не подобається."
        ]
      },
      "get-to-know-others-by-asking-simple-questions": {
        "title": "Дізнавайтесь інших, ставлячи прості запитання",
        "intro": [
          "Дізнайтесь, як ставити запитання і відповідати на них. У цих п’яти коротких діалогах ви будете говорити про рутину, почуття, уподобання, роботу і особисту інформацію. Ви також навчитесь ставити ввічливі запитання, давати коротку відповідь та використовувати заперечення."
        ]
      }
    }
  },
  "a2-professional-chinese": {
    "title": "Сертифікація «Китайська мова A2 для роботи (бета)»",
    "note": "Сертифікація активно розробляється, а новий матеріал буде опубліковано в міру створення. Як тільки весь матеріал стане доступним, ми опублікуємо екзамен.",
    "intro": ["Placeholder intro"],
    "blocks": {
      "talk-about-what-you-do-by-using-key-verbs": {
        "title": "Говоріть про себе за допомогою ключових дієслів",
        "intro": [
          "Дізнайтесь, як просто і професійно представити себе китайською мовою. У цьому модулі ви навчитесь розповідати про себе, звідки ви, чим займаєтесь, як почуваєтесь і що вам подобається чи не подобається."
        ]
      },
      "get-to-know-colleagues-by-asking-simple-questions": {
        "title": "Дізнавайтесь інших, ставлячи прості запитання",
        "intro": [
          "Дізнайтесь, як ставити запитання і відповідати на них. У цих п’яти коротких діалогах ви будете говорити про рутину, почуття, уподобання, роботу і особисту інформацію. Ви також навчитесь ставити ввічливі запитання, давати коротку відповідь та використовувати заперечення."
        ]
      }
    }
  },
  "a1-professional-chinese": {
    "title": "Сертифікація «Китайська мова A1 для роботи (бета)»",
    "note": "Сертифікація активно розробляється, а новий матеріал буде опубліковано в міру створення. Як тільки весь матеріал стане доступним, ми опублікуємо екзамен.",
    "intro": [
      "У навчальній програмі «Китайська мова A1 для роботи» ви опануєте базові знання. Курс створено відповідно до загальноєвропейських рекомендацій з мовної освіти рівня А1 (CEFR) і орієнтований на лексику, корисну в робочому середовищі.",
      "Навчальна програма розбита на кілька модулів (розігрів, навчання, практика, повторення та тести), щоб ви дійсно засвоїли матеріал перш ніж перейти далі.",
      "Кожна частина містить сотні інтерактивних завдань, щоб ваші перші кроки у вивченні китайської мови були впевненими."
    ],
    "chapters": {
      "zh-a1-chapter-welcome-to-a1-professional-chinese": "Вступ до китайської мови рівня A1",
      "zh-a1-chapter-pinyin": "Піньїнь",
      "zh-a1-chapter-greetings-and-introductions": "Привітання та представлення",
      "zh-a1-chapter-numbers-and-personal-information": "Числа та особиста інформація",
      "zh-a1-chapter-expressing-what-you-can-and-cant-do": "Як говорити про свої навички?"
    },
    "modules": {
      "zh-a1-module-introduction-and-certification-overview": "Вступ і опис сертифікації",
      "zh-a1-module-initials-and-finals": "Ініціалі та фіналі",
      "zh-a1-module-greetings-and-basic-introductions": "Привітання та знайомство",
      "zh-a1-module-asking-and-giving-basic-information": "Як запитувати та надавати базову інформацію?",
      "zh-a1-module-numbers-below-100": "Числа до 100",
      "zh-a1-module-communicating-personal-information": "Як ділитись особистою інформацією?",
      "zh-a1-module-talking-about-personal-skills": "Як говорити про особисті навички?",
      "zh-a1-module-discussing-team-skills": "Обговорення командних навичок"
    },
    "module-intros": {
      "zh-a1-module-introducing-others": {
        "note": "Очікуйте у 2026",
        "intro": [
          "У цьому модулі ви будете працювати з короткими монологами, у яких йдеться про інших людей (наприклад, про їхні ім’я, посаду, національність і вік)."
        ]
      },
      "zh-a1-module-getting-to-know-the-team": {
        "note": "Очікуйте у 2026",
        "intro": [
          "У цьому модулі ви будете працювати з короткими розмовами, де запитується і надається відповідь на запитання про колег."
        ]
      },
      "zh-a1-module-communicating-personal-information": {
        "note": "Очікуйте у 2026",
        "intro": [
          "У цьому модулі ви будете практикувати розмову, яка містить особисту інформацію (зокрема, вік і мобільний номер)."
        ]
      },
      "zh-a1-module-talking-about-personal-skills": {
        "note": "Очікуйте у 2026",
        "intro": [
          "У цьому модулі ви будете працювати з короткими монологами, у яких люди розповідають про свої навички (наприклад, якими мовами володіють)."
        ]
      },
      "zh-a1-module-discussing-team-skills": {
        "note": "Очікуйте у 2026",
        "intro": [
          "У цьому модулі ви будете працювати з розмовою про завдання команди і початок проєкту."
        ]
      }
    },
    "blocks": {
      "zh-a1-learn-certification-introduction": {
        "title": "Коротко про сертифікацію",
        "intro": ["", ""]
      },
      "zh-a1-learn-simple-finals": {
        "title": "Прості фіналі",
        "intro": ["", ""]
      },
      "zh-a1-learn-initials": {
        "title": "Ініціалі",
        "intro": ["", ""]
      },
      "zh-a1-learn-compound-finals": {
        "title": "Складні фіналі",
        "intro": ["", ""]
      },
      "zh-a1-learn-nasal-finals": {
        "title": "Назалізовані фіналі",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-greeting-new-colleagues": {
        "title": "Знайомство з новими колегами",
        "intro": ["", ""]
      },
      "zh-a1-learn-understanding-greetings-and-introductions": {
        "title": "Основні привітання та представлення",
        "intro": ["", ""]
      },
      "zh-a1-practice-introducing-yourself": {
        "title": "Власне представлення",
        "intro": ["", ""]
      },
      "zh-a1-review-greetings-and-introductions": {
        "title": "Повторення привітань та представлень",
        "intro": ["", ""]
      },
      "zh-a1-quiz-greetings-and-introductions": {
        "title": "Тест «Привітання та представлення»",
        "intro": ["", ""]
      },
      "zh-a1-learn-understanding-questions-and-answers": {
        "title": "Запитання та відповіді на них",
        "intro": ["", ""]
      },
      "zh-a1-practice-exchanging-basic-information": {
        "title": "Обмін інформацією на практиці",
        "intro": ["", ""]
      },
      "zh-a1-review-introduction-questions": {
        "title": "Повторення питань для знайомства",
        "intro": ["", ""]
      },
      "zh-a1-quiz-introduction-questions": {
        "title": "Тест «Питання для знайомства»",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-introducing-others-basics": {
        "title": "Як представляти інших?",
        "intro": ["", ""]
      },
      "zh-a1-learn-meeting-the-team": {
        "title": "Знайомство з командою",
        "intro": ["", ""]
      },
      "zh-a1-learn-a-new-colleague": {
        "title": "Новий колега",
        "intro": ["", ""]
      },
      "zh-a1-learn-my-family": {
        "title": "Моя родина",
        "intro": ["", ""]
      },
      "zh-a1-practice-introducing-others": {
        "title": "Представлення інших на практиці",
        "intro": ["", ""]
      },
      "zh-a1-review-introducing-others": {
        "title": "Повторення представлення інших",
        "intro": ["", ""]
      },
      "zh-a1-quiz-check-your-introduction": {
        "title": "Тест «Власне представлення»",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-knowing-the-team-basics": {
        "title": "Як познайомитись з командою?",
        "intro": ["", ""]
      },
      "zh-a1-learn-asking-about-the-team": {
        "title": "Як запитувати про команду?",
        "intro": ["", ""]
      },
      "zh-a1-practice-talking-about-others": {
        "title": "Говоримо про інших на практиці",
        "intro": ["", ""]
      },
      "zh-a1-review-team-introduction": {
        "title": "Повторення знайомства з командою",
        "intro": ["", ""]
      },
      "zh-a1-quiz-team-introduction": {
        "title": "Тест «Знайомство з командою»",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-personal-skills-basics": {
        "title": "Як говорити про особисті навички?",
        "intro": ["", ""]
      },
      "zh-a1-learn-can-or-cannot": {
        "title": "Вмію та не вмію",
        "intro": ["", ""]
      },
      "zh-a1-practice-personal-skills": {
        "title": "Особисті навички на практиці",
        "intro": ["", ""]
      },
      "zh-a1-review-describing-skills": {
        "title": "Повторення опису навичок",
        "intro": ["", ""]
      },
      "zh-a1-quiz-describing-skills": {
        "title": "Тест «Опис навичок»",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-team-skills-basics": {
        "title": "Як говорити про командні навички?",
        "intro": ["", ""]
      },
      "zh-a1-learn-who-can-do-what-on-the-team": {
        "title": "Хто чим займається?",
        "intro": ["Навчіться говорити про можливості та посади членів команди."]
      },
      "zh-a1-practice-talking-about-skills": {
        "title": "Говоримо про навички на практиці",
        "intro": [
          "Практикуйтесь обговорювати різні навички в робочому контексті."
        ]
      },
      "zh-a1-review-discussing-team-skills": {
        "title": "Повторення командних навичок",
        "intro": ["", ""]
      },
      "zh-a1-quiz-discussing-team-skills": {
        "title": "Тест «Командні навички»",
        "intro": ["", ""]
      },
      "zh-a1-warm-up-meeting-new-teammates": {
        "title": "Знайомство з новими колегами",
        "intro": ["", ""]
      },
      "zh-a1-learn-special-spelling-rules": {
        "title": "Особливі правила вимови",
        "intro": ["", ""]
      },
      "zh-a1-practice-pinyin": {
        "title": "Піньїнь на практиці",
        "intro": ["", ""]
      },
      "zh-a1-learn-numbers-0-to-10": {
        "title": "Числа від 0 до 10",
        "intro": ["", ""]
      },
      "zh-a1-practice-numbers-0-to-10": {
        "title": "Числа від 0 до 10 на практиці",
        "intro": ["", ""]
      },
      "zh-a1-learn-numbers-11-to-19": {
        "title": "Числа від 11 до 19",
        "intro": ["", ""]
      },
      "zh-a1-practice-numbers-11-to-19": {
        "title": "Числа від 11 до 19 на практиці",
        "intro": ["", ""]
      },
      "zh-a1-learn-numbers-20-to-99": {
        "title": "Числа від 20 до 99",
        "intro": ["", ""]
      },
      "zh-a1-practice-numbers-20-to-99": {
        "title": "Числа від 20 до 99 на практиці",
        "intro": ["", ""]
      },
      "zh-a1-review-numbers-below-100": {
        "title": "Повторення чисел до 100",
        "intro": ["", ""]
      },
      "zh-a1-quiz-numbers-below-100": {
        "title": "Тест «Числа до 100»",
        "intro": ["", ""]
      }
    }
  },
  "basic-html": {
    "title": "Ознайомтесь з основами HTML",
    "summary": [
      "Навчіться створювати прості вебсторінки з текстом, зображеннями і посиланнями, доданими за допомогою HTML-тегів."
    ],
    "intro": [
      "HTML — це мова розмітки гіпертексту, яка відповідає за вміст і структуру вебсторінки. У цьому курсі ви ознайомитесь з основами написання HTML."
    ],
    "blocks": {
      "workshop-curriculum-outline": {
        "title": "Створіть навчальний план",
        "intro": [
          "Вітаємо на freeCodeCamp!",
          "У цьому практичному занятті ви ознайомитесь з HTML та програмуванням. Ви дізнаєтесь про деякі елементи, серед яких заголовки та абзаци."
        ]
      },
      "lab-debug-camperbots-profile-page": {
        "title": "Налагодьте профіль Кемпербота",
        "intro": [
          "Кемпербот також вчиться програмувати і потребує допомоги з HTML.",
          "У цій лабораторній роботі ви допоможете Кемперботу знайти і розв’язати помилки в коді."
        ]
      },
      "lecture-understanding-html-attributes": {
        "title": "Знайомство з атрибутами в HTML",
        "intro": [
          "У цих лекціях ви детальніше ознайомитесь з HTML (мовою розмітки гіпертексту) — мовою розмітки для створення вебсторінок.",
          "Ви дізнаєтесь, яку роль відіграє HTML у мережі, а також ознайомитесь з його атрибутами."
        ]
      },
      "lab-debug-pet-adoption-page": {
        "title": "Налагодьте сторінку притулку для тварин",
        "intro": [
          "У цій лабораторній роботі вам потрібно знайти і виправити помилки на сторінці притулку для тварин."
        ]
      },
      "lecture-understanding-the-html-boilerplate": {
        "title": "Знайомство з шаблонним HTML-кодом",
        "intro": [
          "У цих лекціях ви дізнаєтесь про шаблонний код для HTML.",
          "Ви навчитесь працювати з елементами <code>link</code>, <code>meta</code> та іншими."
        ]
      },
      "workshop-cat-photo-app": {
        "title": "Створіть застосунок із фото котів",
        "intro": [
          "HTML розшифровується як «мова розмітки гіпертексту» та представляє вміст і структуру вебсторінки.",
          "У цьому практичному занятті ви дізнаєтесь, як працювати з базовими елементами в HTML, серед яких заголовки, абзаци, зображення, посилання та списки."
        ]
      },
      "lab-recipe-page": {
        "title": "Створіть сторінку з рецептом",
        "intro": [
          "У цій лабораторній роботі ви пригадаєте основи HTML, створивши вебсторінку з улюбленим рецептом. Ви створите шаблонний код і будете працювати із заголовками, списками, зображеннями тощо."
        ]
      },
      "lecture-html-fundamentals": {
        "title": "Основи HTML",
        "intro": [
          "У цих лекціях ви дізнаєтесь про основи HTML, серед яких елемент <code>div</code>, атрибути <code>id</code> та <code>class</code>, шаблонний код HTML тощо."
        ]
      },
      "workshop-bookstore-page": {
        "title": "Створіть сторінку книгарні",
        "intro": [
          "У цьому практичному занятті ви будете працювати з класами, id та елементом <code>div</code>, створивши сторінку книгарні."
        ]
      },
      "lecture-understanding-how-html-affects-seo": {
        "title": "Як HTML впливає на SEO?",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як HTML впливає на оптимізацію пошукової системи."
        ]
      },
      "lab-travel-agency-page": {
        "title": "Створіть сторінку туристичної агенції",
        "intro": [
          "У цій лабораторній роботі ви пригадаєте основи HTML, створивши вебсторінку для туристичної агенції. Ви будете працювати із зображеннями, елементом <code>figure</code>, елементом <code>figcaption</code>, елементом <code>anchor</code> тощо."
        ]
      },
      "lecture-working-with-audio-and-video-elements": {
        "title": "Робота з елементами audio та video",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як працювати з елементами <code>audio</code> та <code>video</code>."
        ]
      },
      "workshop-html-video-player": {
        "title": "Створіть відеоплеєр",
        "intro": [
          "У цьому практичному занятті ви будете використовувати HTML, щоб створити звичайний відеоплеєр.",
          "Ви будете працювати з елементом <code>video</code>, налаштуванням відеоплеєра та багато іншим."
        ]
      },
      "lab-html-audio-and-video-player": {
        "title": "Створіть аудіо- та відеоплеєр",
        "intro": [
          "У цій лабораторній роботі ви створите HTML‑плеєр для аудіо й відео, використовуючи елементи <code>video</code> та <code>audio</code> з атрибутами controls і source."
        ]
      },
      "lecture-working-with-images-and-svgs": {
        "title": "Робота із зображеннями та SVG",
        "intro": [
          "У цих лекціях ви навчитесь працювати з SVG та дізнаєтесь про способи оптимізації зображень."
        ]
      },
      "workshop-build-a-heart-icon": {
        "title": "Створіть сердечко",
        "intro": [
          "У цьому практичному занятті ви будете працювати з SVG, створивши сердечко."
        ]
      },
      "lecture-working-with-media": {
        "title": "Робота з елементом iframe",
        "intro": [
          "У цих лекціях ви навчитесь працювати з елементом <code>iframe</code>, який використовують для додавання зовнішнього сайту на вебсторінку."
        ]
      },
      "workshop-build-a-video-display-using-iframe": {
        "title": "Створіть віджет відео за допомогою iframe",
        "intro": [
          "У цьому практичному занятті ви дізнаєтесь, як працювати з елементом <code>iframe</code>, створивши віджет для відтворення відео."
        ]
      },
      "lab-video-compilation-page": {
        "title": "Створіть сторінку із відео",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку із відео. Ви будете працювати з елементом <code>iframe</code>."
        ]
      },
      "lecture-working-with-links": {
        "title": "Робота з посиланнями",
        "intro": [
          "У цих лекціях ви дізнаєтесь про посилання, атрибут <code>target</code>, різні стани посилань, абсолютний і відносний шлях тощо."
        ]
      },
      "review-basic-html": {
        "title": "Повторення основ HTML",
        "intro": [
          "Перш ніж перейти до тесту «Основи HTML», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати шаблонний код HTML, елементи <code>audio</code> й <code>video</code>, різні значення атрибута <code>target</code> та багато іншого."
        ]
      },
      "quiz-basic-html": {
        "title": "Тест «Основи HTML»",
        "intro": [
          "Перевірте, що ви дізнались про основи HTML.",
          "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного."
        ]
      }
    }
  },
  "semantic-html": {
    "title": "Ознайомтесь з семантичним HTML",
    "summary": [
      "Дізнайтесь, як писати чистіший і змістовніший HTML завдяки семантичним тегам, які покращують структуру, доступність та SEO."
    ],
    "intro": [
      "У цьому інтерактивному курсі ви будете писати семантичний HTML."
    ],
    "blocks": {
      "lecture-importance-of-semantic-html": {
        "title": "Важливість семантичного HTML",
        "intro": [
          "У цих лекціях ви дізнаєтесь про семантичний HTML і чому ним варто цікавитись, а також про семантичні елементи, різницю між семантичним і презентаційним HTML та багато іншого."
        ]
      },
      "lecture-understanding-nuanced-semantic-elements": {
        "title": "Нюанси роботи з семантичними елементами",
        "intro": [
          "У цих лекціях ви дізнаєтесь, коли варто використовувати семантичні елементи (наприклад, <code>em</code> замість <code>i</code>), а також про списки визначень і багато іншого."
        ]
      },
      "workshop-major-browsers-list": {
        "title": "Створіть список основних браузерів",
        "intro": [
          "У цьому практичному занятті ви створите описовий список та попрацюєте з елементами <code>dl</code>, <code>dt</code> і <code>dd</code>."
        ]
      },
      "lecture-working-with-text-and-time-semantic-elements": {
        "title": "Робота з семантичними елементами тексту і часу",
        "intro": [
          "У цих лекціях ви дізнаєтесь про важливість семантики у передачі значення тексту і часу, що включає елементи <code>time</code>, <code>blockquote</code> тощо."
        ]
      },
      "workshop-quincys-job-tips": {
        "title": "Створіть сторінку з порадами для пошуку роботи від Квінсі",
        "intro": [
          "У цьому практичному занятті ви будете працювати з семантичним HTML, зокрема елементами <code>q</code>, <code>blockquote</code> та <code>cite</code>."
        ]
      },
      "lecture-working-with-specialized-semantic-elements": {
        "title": "Робота зі спеціальними семантичними елементами",
        "intro": [
          "У цих лекціях ви ознайомитесь зі спеціальними семантичними елементами, зокрема з <code>u</code>, <code>s</code>, <code>code</code> і багатьма іншими."
        ]
      },
      "workshop-blog-page": {
        "title": "Створіть сторінку блогу про котів",
        "intro": [
          "У цьому практичному занятті ви створите сторінку блогу лише на HTML, використовуючи семантичні елементи, серед яких <code>main</code>, <code>nav</code>, <code>article</code> та <code>footer</code>."
        ]
      },
      "lab-event-hub": {
        "title": "Створіть хаб для подій",
        "intro": [
          "У цій лабораторній роботі ви створите хаб для подій і пригадаєте різні семантичні елементи, серед яких <code>header</code>, <code>nav</code> та <code>article</code>."
        ]
      },
      "review-semantic-html": {
        "title": "Повторення семантичного HTML",
        "intro": [
          "Перш ніж перейти до тесту «Семантичний HTML», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати <code>em</code>, <code>strong</code>, <code>blockquote</code>, <code>address</code> та інші семантичні елементи в HTML."
        ]
      },
      "quiz-semantic-html": {
        "title": "Тест «Семантичний HTML»",
        "intro": [
          "Перевірте, що ви дізнались про семантичний HTML.",
          "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного."
        ]
      }
    }
  },
  "html-and-accessibility": {
    "title": "Ознайомтесь з HTML та доступністю",
    "summary": [
      "Навчіться писати інклюзивний HTML з використанням найкращих практик доступності й ARIA."
    ],
    "intro": ["Практикуйте створення доступних HTML‑структур і форм."],
    "blocks": {
      "lecture-importance-of-accessibility-and-good-html-structure": {
        "title": "Важливість доступності та хорошої структури HTML",
        "intro": [
          "У цих уроках ви дізнаєтесь про доступність та її важливість, допоміжні технології для людей з порушеннями, атрибути для створення інклюзивних вебсайтів, найкращі практики й багато іншого."
        ]
      },
      "workshop-debug-coding-journey-blog-page": {
        "title": "Налагодьте сторінку блогу про програмування",
        "intro": [
          "У цьому практичному занятті ви будете виправляти помилки щодо доступності на сторінці блогу про програмування."
        ]
      },
      "lecture-accessible-tables-forms": {
        "title": "Робота з доступними таблицями і формами",
        "intro": [
          "У цих уроках ви дізнаєтесь, як створювати доступні таблиці та форми."
        ]
      },
      "workshop-tech-conference-schedule": {
        "title": "Створіть таблицю із розкладом конференції",
        "intro": [
          "У цьому практичному занятті ви створите доступну таблицю із розкладом конференції."
        ]
      },
      "lab-debug-donation-form": {
        "title": "Налагодьте форму для донатів",
        "intro": [
          "У цій лабораторній роботі ви налагодите форму для донатів, виправивши синтаксичні помилки і покращивши доступність."
        ]
      },
      "lecture-introduction-to-aria": {
        "title": "Вступ до ARIA",
        "intro": ["У цих лекціях ви дізнаєтесь, як працювати з ARIA-ролями."]
      },
      "workshop-accessible-audio-controller": {
        "title": "Створіть доступний аудіоконтролер",
        "intro": [
          "У цьому практичному занятті ви будете працювати з доступністю, створивши аудіоконтролер з атрибутом <code>aria-labelledby</code>."
        ]
      },
      "lecture-accessible-media-elements": {
        "title": "Робота з доступними медіаелементами",
        "intro": [
          "У цих лекціях ви дізнаєтесь, як створювати доступні посилання, аудіо та відео."
        ]
      },
      "lab-checkout-page": {
        "title": "Створіть платіжну сторінку",
        "intro": [
          "У цій лабораторній роботі ви створите доступну платіжну сторінку.",
          "Ви будете працювати з різними поняттями, серед яких атрибути <code>alt</code> та ARIA-ролі."
        ]
      },
      "lab-movie-review-page": {
        "title": "Створіть сторінку з оглядом на фільм",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку з оглядом на фільм.",
          "Ви будете застосовувати семантичний HTML, атрибути <code>alt</code>, доступні списки, а також приховування декоративного вмісту від читачів екрана за допомогою <code>aria-hidden</code>."
        ]
      },
      "lab-multimedia-player": {
        "title": "Створіть мультимедійний плеєр",
        "intro": [
          "У цій лабораторній роботі ви створите мультимедійний плеєр.",
          "Ви будете працювати з елементами <code>audio</code> та <code>video</code>, а також атрибутами <code>controls</code> й <code>aria-label</code>."
        ]
      },
      "review-html-accessibility": {
        "title": "Повторення доступності в HTML",
        "intro": [
          "Перш ніж перейти до тесту «Доступність в HTML», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати атрибути <code>aria-hidden</code>, <code>aria-describedby</code>, <code>tabindex</code> та багато іншого."
        ]
      },
      "quiz-html-accessibility": {
        "title": "Тест «Доступність в HTML»",
        "intro": [
          "Перевірте, що ви дізнались про доступність.",
          "Якщо ви готуєтеся до екзамену, можете попрактикуватись на декількох тестах. Після завершення тесту ви можете повернутися на цю сторінку, щоб перейти до наступного."
        ]
      }
    }
  },
  "computer-basics": {
    "title": "Ознайомтесь з основами комп’ютера",
    "summary": [
      "Отримайте базові знання про комп’ютери, інтернет та інструменти для розробки вебзастосунків."
    ],
    "intro": [
      "Ознайомтеся з інструментами і поняттями, що лежать в основі сучасної веброзробки."
    ],
    "blocks": {
      "lecture-understanding-computer-internet-and-tooling-basics": {
        "title": "Знайомство з комп’ютером, інтернетом та інструментами",
        "intro": [
          "У цих уроках ви дізнаєтесь про комп’ютер, його різні частини, інтернет-провайдерів (ISP) та інструменти, якими користуються професійні розробники."
        ]
      },
      "lecture-working-with-file-systems": {
        "title": "Робота з файловими системами",
        "intro": [
          "У цих уроках ви дізнаєтесь, як працювати з файловими та папковими системами на комп’ютерах. Ви навчитеся створювати, переміщувати, видаляти файли й папки, дізнаєтеся про найкращі практики їхнього найменування і організації та багато іншого."
        ]
      },
      "lecture-browsing-the-web-effectively": {
        "title": "Ефективне користування мережею",
        "intro": [
          "У цих уроках ви дізнаєтесь, що таке вебсайти, пошукові системи й веббраузери, які існують браузери та як максимально ефективно використовувати пошукову систему."
        ]
      },
      "review-computer-basics": {
        "title": "Повторення основ комп’ютера",
        "intro": [
          "Перш ніж перейти до тесту «Основи комп’ютера», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати про RAM, інтернет-провайдери, загальні веббраузери, пошукові системи та багато іншого."
        ]
      },
      "quiz-computer-basics": {
        "title": "Тест «Основи комп’ютера»",
        "intro": ["Перевірте, що ви дізнались про основи комп'ютера."]
      }
    }
  },
  "basic-css": {
    "title": "Ознайомтесь з основами CSS",
    "summary": [
      "Вивчіть ключові поняття в CSS і почніть стилізувати реальні макети."
    ],
    "intro": ["Опануйте основи CSS і застосуйте їх на практиці."],
    "blocks": {
      "lecture-what-is-css": {
        "title": "Що таке CSS?",
        "intro": [
          "Наступні уроки присвячені CSS. Ви дізнаєтесь про CSS і його роль в мережі, анатомію правил в CSS, три способи написання CSS і коли їх використовувати, а також про блокові й вбудовані елементи та багато іншого."
        ]
      },
      "workshop-cafe-menu": {
        "title": "Створіть меню для кафе",
        "intro": [
          "CSS повідомляє браузеру, як відтворювати вебсторінку. CSS можна використовувати, щоб встановити колір, шрифт, розмір та інші властивості HTML-елементів.",
          "У цьому практичному занятті ви вивчите CSS, розробивши дизайн меню для вебсторінки кафе."
        ]
      },
      "lab-business-card": {
        "title": "Створіть дизайн візитівки",
        "intro": [
          "У цій лабораторній роботі ви створите візитівку та стилізуєте її за допомогою CSS.",
          "Ви будете працювати з різними властивостями стилю, серед яких <code>color</code>, <code>font-size</code>, <code>text-align</code> тощо."
        ]
      },
      "lecture-css-specificity-the-cascade-algorithm-and-inheritance": {
        "title": "Специфічність, алгоритм каскаду та успадкування в CSS",
        "intro": [
          "У цих уроках ви дізнаєтесь про специфічність в CSS, поширені селектори та їхню специфічність, алгоритм каскаду, успадкування і багато іншого."
        ]
      },
      "review-basic-css": {
        "title": "Повторення основ CSS",
        "intro": [
          "Перш ніж перейти до тесту «Основи CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати <code>margin</code>, <code>padding</code>, комбінатори, специфічність та багато іншого."
        ]
      },
      "quiz-basic-css": {
        "title": "Тест «Основи CSS»",
        "intro": ["Перевірте, що ви дізнались про основи CSS."]
      },
      "lecture-styling-lists-and-links": {
        "title": "Стилізація списків і посилань",
        "intro": [
          "У цих уроках ви дізнаєтесь про властивості, які потрібно знати для ефективної стилізації списків і посилань, включно зі станами посилань (наприклад, <code>link</code>, <code>visited</code>, <code>hover</code> та <code>active</code>)."
        ]
      },
      "lab-stylized-to-do-list": {
        "title": "Створіть стилізований список справ",
        "intro": [
          "У цій лабораторній роботі ви створите список справ, які потрібно виконати, та застосуєте різні стилі до посилань.",
          "Ви будете працювати з властивостями <code>text-decoration</code> та <code>list-style-type</code>, а також зміните стилі при наведенні чи натисканні."
        ]
      },
      "lecture-working-with-backgrounds-and-borders": {
        "title": "Робота з фоном і кордоном",
        "intro": [
          "У цих уроках ви дізнаєтесь про властивості та значення, необхідні для стилізації фону і кордону елементів, а також про аспекти доступності, пов’язані з фоном."
        ]
      },
      "lab-blog-post-card": {
        "title": "Створіть картку для допису",
        "intro": [
          "У цій лабораторній роботі ви створите картку для допису із блогу, використовуючи HTML та CSS.",
          "Ви будете працювати з різними поняттями, серед яких <code>background-color</code>, <code>border-radius</code>, поля, відступи та багато іншого."
        ]
      },
      "review-css-backgrounds-and-borders": {
        "title": "Повторення списків, посилань, фону та кордону в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Фони та кордони в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати властивості <code>background-image</code>, <code>border</code> та багато іншого."
        ]
      },
      "quiz-css-backgrounds-and-borders": {
        "title": "Тест «Фони та кордони в CSS»",
        "intro": ["Перевірте, що ви дізнались про фони та кордони в CSS."]
      }
    }
  },
  "design-for-developers": {
    "title": "Вступ до UI/UX дизайну",
    "summary": [
      "Ознайомтесь із основами UI‑дизайну та принципами дизайну, орієнтованого на користувача."
    ],
    "intro": [
      "Дізнайтесь про принципи дизайну, які допомагають розробникам створювати кращий інтерфейс."
    ],
    "blocks": {
      "lecture-user-interface-design-fundamentals": {
        "title": "Основи UI дизайну",
        "intro": [
          "У цих уроках ви дізнаєтесь про основи UI дизайну. Ви ознайомитеся з поняттями, необхідними для спілкування з дизайнерами, візуальною ієрархією, масштабуванням, вирівнюванням, використанням пробілів та багато іншим."
        ]
      },
      "lecture-user-centered-design": {
        "title": "Дизайн, орієнтований на користувача",
        "intro": [
          "У цих уроках ви дізнаєтесь про найкращі практики проєктування користувацьких функцій, серед яких темний режим, навігаційні стежки, діалогові вікна та багато іншого. Ви також навчитеся досліджувати користувачів, визначати їхні вимоги та проводити тестування."
        ]
      },
      "lecture-common-design-tools": {
        "title": "Поширені інструменти дизайну",
        "intro": [
          "У цих уроках ви дізнаєтесь про поширені інструменти дизайну, які мають знати розробники. Ви також ознайомитеся з дизайн-брифами та тим, як розробники працюють з ними."
        ]
      },
      "review-design-fundamentals": {
        "title": "Повторення основ дизайну",
        "intro": [
          "Перш ніж перейти до тесту «Основи дизайну», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати про дизайн, орієнтований на користувача, масштабування, вирівнювання, хорошу візуальну ієрархію та багато іншого."
        ]
      },
      "quiz-design-fundamentals": {
        "title": "Тест «Основи дизайну»",
        "intro": ["Перевірте, що ви дізнались про основи дизайну UI."]
      }
    }
  },
  "absolute-and-relative-units": {
    "title": "Ознайомтесь з абсолютними та відносними одиницями в CSS",
    "summary": [
      "Зрозумійте, коли використовувати відносні й абсолютні одиниці для створення гнучких макетів."
    ],
    "intro": [
      "Навчіться адаптувати розміри елементів за допомогою CSS‑одиниць."
    ],
    "blocks": {
      "lecture-working-with-relative-and-absolute-units": {
        "title": "Робота з відносними й абсолютними одиницями",
        "intro": [
          "У цих уроках ви дізнаєтесь про відносні та абсолютні одиниці, а також про те, як вони впливають на відтворення у браузері."
        ]
      },
      "lab-event-flyer-page": {
        "title": "Створіть запрошення на подію",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку із запрошенням на подію.",
          "Ви будете вирівнювати елементи за допомогою абсолютного та відносного CSS."
        ]
      },
      "review-css-relative-and-absolute-units": {
        "title": "Повторення відносних та абсолютних одиниць CSS",
        "intro": [
          "Перш ніж перейти до тесту «Відносні та абсолютні одиниці CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати відсотки, <code>px</code>, <code>rem</code>, <code>em</code> та багато іншого."
        ]
      },
      "quiz-css-relative-and-absolute-units": {
        "title": "Тест «Відносні та абсолютні одиниці CSS»",
        "intro": [
          "Перевірте, що ви дізнались про відносні та абсолютні одиниці в CSS."
        ]
      }
    }
  },
  "pseudo-classes-and-elements": {
    "title": "Ознайомтесь з псевдокласами та псевдоелементами в CSS",
    "summary": [
      "Використовуйте псевдокласи й псевдоелементи для створення багатших і більш інтерактивних стилів."
    ],
    "intro": [
      "Додавайте взаємодію та деталі за допомогою псевдокласів і псевдоелементів CSS."
    ],
    "blocks": {
      "lecture-working-with-pseudo-classes-and-pseudo-elements-in-css": {
        "title": "Робота з псевдокласами та псевдоелементами в CSS",
        "intro": [
          "У цих уроках ви дізнаєтесь про псевдокласи та псевдоелементи, розглянувши їхні приклади та принципи роботи."
        ]
      },
      "workshop-greeting-card": {
        "title": "Створіть вітальну листівку",
        "intro": [
          "У попередніх уроках ви навчилися працювати з різними псевдокласами.",
          "У цьому практичному занятті ви застосуєте свої знання на практиці, створивши вітальну листівку."
        ]
      },
      "workshop-parent-teacher-conference-form": {
        "title": "Створіть форму для батьківських зборів",
        "intro": [
          "У цьому практичному занятті ви будете стилізувати радіокнопки за допомогою різних псевдоселекторів, створивши форму для батьківських зборів.",
          "Ви застосуєте селектор псевдоелемента <code>::before</code>, властивість <code>transform</code> та багато іншого."
        ]
      },
      "lab-job-application-form": {
        "title": "Створіть форму заявки на працевлаштування",
        "intro": [
          "У цій лабораторній роботі ви створите форму із заявкою на працевлаштування та стилізуєте її, використовуючи псевдокласи.",
          "Ви будете працювати з різними поняттями, серед яких <code>:hover</code>, <code>:active</code>, <code>:focus</code> та багато іншого."
        ]
      },
      "review-css-pseudo-classes": {
        "title": "Повторення псевдокласів у CSS",
        "intro": [
          "Перш ніж перейти до тесту «Псевдокласи в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати псевдоелементи <code>::before</code> й <code>::after</code>, псевдокласи <code>:hover</code> й <code>:active</code> та багато іншого."
        ]
      },
      "quiz-css-pseudo-classes": {
        "title": "Тест «Псевдокласи в CSS»",
        "intro": ["Перевірте, що ви дізнались про псевдокласи в CSS."]
      }
    }
  },
  "css-colors": {
    "title": "Ознайомтесь з кольорами в CSS",
    "summary": [
      "Працюйте з форматами кольорів у CSS та створюйте цілісні палітри кольорів."
    ],
    "intro": [
      "Навчіться застосовувати колір у CSS для створення хорошого візуала."
    ],
    "blocks": {
      "lecture-working-with-colors-in-css": {
        "title": "Робота з кольорами в CSS",
        "intro": [
          "У цих уроках ви дізнаєтесь про лінійний та радіальний градієнти, теорію кольорів і різні види кольорів (серед яких названі, RGB, Hex та HSL). Ви дізнаєтесь, як ці кольори працюють і які потрібно використовувати."
        ]
      },
      "workshop-colored-markers": {
        "title": "Створіть набір кольорових маркерів",
        "intro": [
          "У цьому практичному занятті ви створите набір кольорових маркерів. Ви попрактикуєте різні способи встановити значення кольорів та дізнаєтесь, як поєднувати кольори між собою."
        ]
      },
      "lab-colored-boxes": {
        "title": "Створіть кольорові блоки",
        "intro": [
          "У цій лабораторній роботі ви створите кольорову сітку та попрактикуєтесь додавати кольори фону до елементів, використовуючи шістнадцяткові коди, RGB і визначені назви."
        ]
      },
      "review-css-colors": {
        "title": "Повторення кольорів у CSS",
        "intro": [
          "Перш ніж перейти до тесту «Кольори в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати функцію <code>rgb()</code>, функцію <code>hsl()</code>, <code>hex codes</code> та багато іншого."
        ]
      },
      "quiz-css-colors": {
        "title": "Тест «Кольори в CSS»",
        "intro": ["Перевірте, що ви дізнались про кольори в CSS."]
      }
    }
  },
  "styling-forms": {
    "title": "Навчіться стилізувати форми за допомогою CSS",
    "summary": [
      "Застосовуйте техніки CSS для створення чистих і зручних макетів."
    ],
    "intro": [
      "Стилізуйте елементи форм, щоб покращити зручність і візуальну зрозумілість."
    ],
    "blocks": {
      "lecture-best-practices-for-styling-forms": {
        "title": "Найкращі практики стилізації форм",
        "intro": [
          "У цих уроках ви дізнаєтесь про найкращі практики стилізації форм і проблеми, з якими можна зіткнутися при стилізації спеціальних вхідних даних, серед яких <code>color</code> та <code>datetime-local</code>."
        ]
      },
      "workshop-registration-form": {
        "title": "Створіть форму реєстрації",
        "intro": [
          "У цьому практичному занятті ви навчитесь працювати з формами в HTML, створивши сторінку реєстрації. Ви дізнаєтесь, як керувати типами даних, що можна ввести у формі, й деякі нові інструменти CSS для стилізації сторінки."
        ]
      },
      "lab-contact-form": {
        "title": "Створіть контактну форму",
        "intro": [
          "У цій лабораторній роботі ви створите контактну форму в HTML та стилізуєте її за допомогою CSS."
        ]
      },
      "workshop-game-settings-panel": {
        "title": "Створіть панель із налаштуваннями гри",
        "intro": [
          "У цьому практичному занятті ви будете стилізувати прапорці, створивши панель із налаштуваннями гри."
        ]
      },
      "lab-feature-selection": {
        "title": "Створіть сторінку для функцій",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку вибору функцій із кастомними прапорцями.",
          "Ви створите картки з мітками і прапорцями, а потім надасте прапорцям індивідуального стилю."
        ]
      },
      "review-styling-forms": {
        "title": "Повторення стилізації форм",
        "intro": [
          "Перш ніж перейти до тесту «Стилізація форм», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як стилізувати введення форми, як працювати з <code>appearance: none</code> та багато іншого."
        ]
      },
      "quiz-styling-forms": {
        "title": "Тест «Стилізація форм»",
        "intro": ["Перевірте, що ви дізнались про стилізацію форм."]
      }
    }
  },
  "css-box-model": {
    "title": "Ознайомтесь з блоковою моделлю в CSS",
    "summary": [
      "Опануйте блокову модель, простір і ефекти для точного дизайну."
    ],
    "intro": ["Дізнайтесь, як співпрацюють простір, кордони та ефекти."],
    "blocks": {
      "lecture-working-with-css-transforms-overflow-and-filters": {
        "title": "Робота з трансформаціями, переповненням і ефектами в CSS",
        "intro": [
          "У цих уроках ви дізнаєтесь про роботу з трансформаціями, переповненням та фільтрами в CSS. Ви також ознайомитеся з блоковою моделлю та принципами її роботи."
        ]
      },
      "workshop-rothko-painting": {
        "title": "Створіть картину Ротко",
        "intro": [
          "Кожен елемент HTML є власним блоком із власним простором та кордоном. Це називається блоковою моделлю.",
          "У цьому практичному занятті ви будете використовувати CSS та блокову модель, щоб створити власну картину в стилі Ротко."
        ]
      },
      "lab-confidential-email-page": {
        "title": "Створіть конфіденційний лист",
        "intro": [
          "У цій лабораторній роботі ви створите вебсторінку, використовуючи HTML, та замаскуєте вміст за допомогою властивостей CSS."
        ]
      },
      "review-css-layout-and-effects": {
        "title": "Повторення макетів та ефектів у CSS",
        "intro": [
          "Перш ніж перейти до тесту «Макети та ефекти в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати властивість <code>transform</code>, блокову модель, властивість <code>overflow</code> та багато іншого."
        ]
      },
      "quiz-css-layout-and-effects": {
        "title": "Тест «Макети та ефекти в CSS»",
        "intro": [
          "Перевірте, що ви дізнались про блокову модель, макети та ефекти в CSS."
        ]
      }
    }
  },
  "css-flexbox": {
    "title": "Ознайомтесь з flexbox в CSS",
    "summary": [
      "Створюйте адаптивні макети за допомогою моделі Flexbox та інструментів вирівнювання."
    ],
    "intro": [
      "Використовуйте Flexbox для побудови адаптивних, вирівняних макетів."
    ],
    "blocks": {
      "lecture-working-with-css-flexbox": {
        "title": "Робота з Flexbox в CSS",
        "intro": [
          "У цих уроках ви дізнаєтесь, як працює гнучка модель в CSS, про різні властивості та коли її варто використовувати."
        ]
      },
      "workshop-flexbox-photo-gallery": {
        "title": "Створіть фотогалерею із Flexbox",
        "intro": [
          "У цьому практичному занятті ви будете використовувати Flexbox, щоб створити адаптивну вебсторінку із фотогалереєю."
        ]
      },
      "lab-pricing-plans-layout": {
        "title": "Створіть сторінку з тарифами",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку з тарифами.",
          "Ви будете вирівнювати елементи за допомогою різних властивостей, серед яких <code>flex-direction</code>, <code>justify-content</code>, <code>align-self</code> та багато інших."
        ]
      },
      "lab-page-of-playing-cards": {
        "title": "Створіть сторінку з гральними картами",
        "intro": [
          "У цій лабораторній роботі ви будете використовувати гнучку модель, щоб створити вебсторінку з гральними картами.",
          "Ви будете вирівнювати елементи за допомогою різних властивостей, серед яких <code>flex-direction</code>, <code>justify-content</code>, <code>align-self</code> та багато інших."
        ]
      },
      "review-css-flexbox": {
        "title": "Повторення Flexbox в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Flexbox в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати властивості <code>flex-direction</code>, <code>justify-content</code>, <code>align-items</code>, <code>flex-wrap</code> та багато іншого."
        ]
      },
      "quiz-css-flexbox": {
        "title": "Тест «Flexbox в CSS»",
        "intro": ["Перевірте, що ви дізнались про flexbox в CSS."]
      }
    }
  },
  "css-typography": {
    "title": "Ознайомтесь з типографією в CSS",
    "summary": [
      "Дізнайтесь, як стилізувати текст для читабельності, ієрархії та візуального балансу."
    ],
    "intro": [
      "Використовуйте типографію для покращення читабельності й візуальної ієрархії."
    ],
    "blocks": {
      "lecture-working-with-css-fonts": {
        "title": "Робота з шрифтами в CSS",
        "intro": [
          "У цих уроках ви дізнаєтесь про типографію і її найкращі практики, шрифти та властивість <code>text-shadow</code>."
        ]
      },
      "workshop-nutritional-label": {
        "title": "Створіть харчову етикетку",
        "intro": [
          "Типографія — це мистецтво стилізації тексту, щоб його було легко читати та він відповідав своєму призначенню.",
          "У цьому практичному занятті ви будете використовувати типографію, щоб створити вебсторінку з харчовою етикеткою. Ви дізнаєтеся, як стилізувати текст, регулювати висоту рядка та позиціювати текст за допомогою CSS."
        ]
      },
      "lab-newspaper-article": {
        "title": "Створіть статтю в газеті",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку зі статтею з журналу, використовуючи HTML та CSS.",
          "Ви будете стилізувати шрифти, використовуючи такі властивості, як <code>font-family</code>, <code>font-size</code>, <code>font-weight</code> тощо."
        ]
      },
      "review-css-typography": {
        "title": "Повторення типографії в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Типографія в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати веббезпечні шрифти, властивість <code>font-family</code> та багато іншого."
        ]
      },
      "quiz-css-typography": {
        "title": "Тест «Типографія в CSS»",
        "intro": ["Перевірте, що ви дізнались про типографію."]
      }
    }
  },
  "css-and-accessibility": {
    "title": "Ознайомтесь з CSS та доступністю",
    "summary": [
      "Застосовуйте техніки CSS, які підтримують доступні й інклюзивні інтерфейси."
    ],
    "intro": ["Стилізуйте елементи інтерфейсу з урахуванням доступності."],
    "blocks": {
      "lecture-best-practices-for-accessibility-and-css": {
        "title": "Найкращі практики доступності й CSS",
        "intro": [
          "У цих уроках ви дізнаєтесь про найкращі практики доступності в CSS та інструменти для перевірки хорошого кольорового контрасту на вебсайтах."
        ]
      },
      "workshop-accessibility-quiz": {
        "title": "Створіть сторінку з вікториною",
        "intro": [
          "Доступність полегшує користування вебсторінкою для всіх людей, навіть для людей з порушеннями.",
          "У цьому практичному занятті ви створите вебсторінку з вікториною. Ви дізнаєтеся про інструменти доступності, серед яких комбінації клавіш, атрибути ARIA та найкращі поради щодо дизайну."
        ]
      },
      "lab-tribute-page": {
        "title": "Створіть пам’ятну сторінку",
        "intro": [
          "У цій лабораторній роботі ви створите пам’ятну сторінку на власну тему."
        ]
      },
      "review-css-accessibility": {
        "title": "Повторення доступності в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Доступність в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати інструменти контрастності кольорів та найкращі практики доступності."
        ]
      },
      "quiz-css-accessibility": {
        "title": "Тест «Доступність в CSS»",
        "intro": [
          "Перевірте, що ви дізнались про доступність вебсторінок із CSS."
        ]
      }
    }
  },
  "css-positioning": {
    "title": "Ознайомтесь з позиціюванням в CSS",
    "summary": [
      "Використовуйте позиціювання та обтікання для контролю макету і потоку елементів."
    ],
    "intro": [
      "Керуйте макетом за допомогою обтікання й інструментів позиціювання CSS."
    ],
    "blocks": {
      "lecture-understanding-how-to-work-with-floats-and-positioning-in-css": {
        "title": "Знайомство з вирівнюванням й позиціюванням в CSS",
        "intro": [
          "У цих уроках ви дізнаєтесь про позиціювання та обтікання в CSS. Ви ознайомитеся з позиціюванням <code>absolute</code>, <code>relative</code>, <code>fixed</code> та <code>sticky</code>, а також будете використовувати властивість <code>z-index</code>."
        ]
      },
      "workshop-cat-painting": {
        "title": "Створіть малюнок кота",
        "intro": [
          "Позиціювання CSS важливо опанувати для того, щоб створювати візуально привабливі та адаптивні вебмакети.",
          "У цьому практичному занятті ви створите малюнок кота. Ви дізнаєтесь, як працювати з абсолютним позиціюванням, а також з властивостями <code>z-index</code> й <code>transform</code>."
        ]
      },
      "lab-house-painting": {
        "title": "Створіть малюнок будинку",
        "intro": [
          "У цій лабораторній роботі ви створите малюнок будинку за допомогою CSS.",
          "Ви будете проєктувати окремі елементи будинку та розміщувати їх, використовуючи різні властивості, серед яких <code>position</code>, <code>top</code>, <code>left</code> і багато інших."
        ]
      },
      "review-css-positioning": {
        "title": "Повторення позиціювання в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Позиціювання в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати обтікання, відносне позиціювання, абсолютне позиціювання та багато іншого."
        ]
      },
      "quiz-css-positioning": {
        "title": "Тест «Позиціювання в CSS»",
        "intro": ["Перевірте, що ви дізнались про позиціювання в CSS."]
      }
    }
  },
  "attribute-selectors": {
    "title": "Ознайомтесь з селекторами атрибутів у CSS",
    "summary": [
      "Націлюйтесь на елементи за допомогою селекторів атрибутів CSS."
    ],
    "intro": [
      "Вибирайте елементи з точністю, використовуючи селектори атрибутів."
    ],
    "blocks": {
      "lecture-working-with-attribute-selectors": {
        "title": "Робота з селекторами атрибутів",
        "intro": [
          "У цих уроках ви дізнаєтесь про селектори атрибутів та як їх використовувати для націлювання на елементи (наприклад, на посилання та списки)."
        ]
      },
      "workshop-balance-sheet": {
        "title": "Створіть фінансовий облік",
        "intro": [
          "У цьому практичному занятті ви побудуєте фінансовий облік за допомогою псевдоселекторів. Ви дізнаєтеся, як змінити стиль елемента, коли наводите на нього курсор, та запускати інші події на вебсторінці."
        ]
      },
      "lab-book-inventory-app": {
        "title": "Створіть застосунок з книгами",
        "intro": [
          "У цій лабораторній роботі ви створите застосунок для інвентаризації книг.",
          "Ви будете використовувати селектори атрибутів у CSS, серед яких <code>[attribute]</code>, <code>[attribute=value]</code>, <code>[attribute~=value]</code> та багато інших."
        ]
      },
      "review-css-attribute-selectors": {
        "title": "Повторення селекторів атрибутів у CSS",
        "intro": [
          "Перш ніж перейти до тесту «Селектори атрибутів у CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з різними селекторами атрибутів, які націлюють посилання атрибутами <code>href</code> та <code>title</code>."
        ]
      },
      "quiz-css-attribute-selectors": {
        "title": "Тест «Селектори атрибутів у CSS»",
        "intro": ["Перевірте, що ви дізнались про селектори атрибутів у CSS."]
      }
    }
  },
  "responsive-design": {
    "title": "Ознайомтесь з адаптивним дизайном",
    "summary": [
      "Вивчіть принципи адаптивного дизайну і створюйте макети, що підлаштовуються під будь‑який екран."
    ],
    "intro": [
      "Зробіть макети адаптивними для екранів різних розмірів та пристроїв."
    ],
    "blocks": {
      "lecture-best-practices-for-responsive-web-design": {
        "title": "Найкращі практики адаптивного вебдизайну",
        "intro": [
          "У цих уроках ви дізнаєтесь про найкращі практики адаптивного вебдизайну, а також про основні поняття (а саме про сітку, гнучкий блок, медіазапити, медіаточки) і багато іншого."
        ]
      },
      "workshop-piano": {
        "title": "Створіть піаніно",
        "intro": [
          "Адаптивний дизайн повідомляє вебсторінці, як вона має виглядати на екранах різного розміру.",
          "У цьому практичному занятті ви використовуватимете CSS та адаптивний дизайн, щоб створити піаніно. До того ж ви більше дізнаєтесь про медіазапити та псевдоселектори."
        ]
      },
      "lab-technical-documentation-page": {
        "title": "Створіть сторінку технічної документації",
        "intro": [
          "У цій лабораторній роботі ви створите сторінку технічної документації, яка служитиме інструкцією або довідником.",
          "Ви також попрактикуєте роботу з медіазапитами для створення адаптивного дизайну."
        ]
      },
      "review-responsive-web-design": {
        "title": "Повторення адаптивного вебдизайну",
        "intro": [
          "Перш ніж перейти до тесту «Адаптивний вебдизайн», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати медіазапити, точки зупинки та принцип mobile first."
        ]
      },
      "quiz-responsive-web-design": {
        "title": "Тест «Адаптивний вебдизайн»",
        "intro": ["Перевірте, що ви дізнались про адаптивність вебсторінок."]
      }
    }
  },
  "css-variables": {
    "title": "Ознайомтесь зі змінними в CSS",
    "summary": [
      "Використовуйте змінні для створення стилів, які можна використовувати повторно."
    ],
    "intro": [
      "Створюйте підтримувані стилі за допомогою кастомних властивостей CSS."
    ],
    "blocks": {
      "lecture-working-with-css-variables": {
        "title": "Робота зі змінними в CSS",
        "intro": [
          "У цих уроках ви дізнаєтесь, як визначити та використовувати кастомні властивості (також відомі як CSS-змінні). Ви також дізнаєтесь про директиву <code>@property</code> і як вона працює."
        ]
      },
      "workshop-city-skyline": {
        "title": "Створіть панораму міста",
        "intro": [
          "Змінні в CSS допомагають організувати стилі та повторно використовувати їх.",
          "У цьому практичному занятті ви побудуєте панораму міста. Ви дізнаєтеся, як налаштувати змінні CSS, щоб повторно використовувати їх, коли забажаєте."
        ]
      },
      "lab-availability-table": {
        "title": "Створіть таблицю з вільними годинами",
        "intro": [
          "У цій лабораторній роботі ви створите таблицю з вільними годинами, яка показуватиме, чи людина може бути присутньою на зустрічі.",
          "Ви будете практикуватись використовувати CSS-змінні, щоб зберігати й повторно використовувати кольори, шрифти та інші стилі."
        ]
      },
      "review-css-variables": {
        "title": "Повторення змінних в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Змінні в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з власними CSS-властивостями (CSS-змінними) та директивою <code>@property</code>."
        ]
      },
      "quiz-css-variables": {
        "title": "Тест «Змінні в CSS»",
        "intro": ["Перевірте, що ви дізнались про змінні в CSS."]
      }
    }
  },
  "css-grid": {
    "title": "Ознайомтесь з сіткою в CSS",
    "summary": ["Проєктуйте складні макети з використанням сітки."],
    "intro": ["Будуйте багатовимірні макети за допомогою сітки."],
    "blocks": {
      "lecture-working-with-css-grid": {
        "title": "Робота з сіткою в CSS",
        "intro": [
          "У цих уроках ви дізнаєтесь про сітку в CSS, її властивості та як їх використовувати. Ви також дізнаєтесь про різницю між сіткою та гнучкою моделлю."
        ]
      },
      "workshop-magazine": {
        "title": "Створіть журнал",
        "intro": [
          "CSS-сітка дозволяє керувати рядками та стовпцями вебсторінки.",
          "У цьому практичному занятті ви створите статтю в журналі. Ви дізнаєтеся, як використовувати сітку, включно з рядками та стовпцями."
        ]
      },
      "lab-newspaper-layout": {
        "title": "Створіть сторінку в газеті",
        "intro": [
          "У цій лабораторній роботі ви розробите макет газети, використовуючи сітку в CSS, включно з рядками та стовпцями."
        ]
      },
      "lecture-debugging-css": {
        "title": "Налагодження CSS",
        "intro": [
          "У цьому уроці ви навчитесь налагоджувати CSS за допомогою інструментів розробника свого браузера та валідаторів CSS."
        ]
      },
      "lab-product-landing-page": {
        "title": "Створіть посадкову сторінку продукту",
        "intro": [
          "У цьому проєкті ви створите посадкову сторінку продукту, щоб прорекламувати продукт за власним вибором."
        ]
      },
      "review-css-grid": {
        "title": "Повторення сітки в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Сітка в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати, як працювати з різними властивостями CSS-сітки, серед яких <code>grid-template-columns</code>, <code>grid-gap</code> тощо."
        ]
      },
      "quiz-css-grid": {
        "title": "Тест «Сітка в CSS»",
        "intro": ["Перевірте, що ви дізнались про сітку в CSS."]
      }
    }
  },
  "css-animations": {
    "title": "Ознайомтесь з анімаціями в CSS",
    "summary": ["Створюйте захопливий інтерфейс з доступними анімаціями."],
    "intro": [
      "Додавайте рух за допомогою анімацій, враховуючи зручність використання."
    ],
    "blocks": {
      "lecture-animations-and-accessibility": {
        "title": "Анімація та доступність",
        "intro": [
          "У цих уроках ви дізнаєтесь про анімації в CSS та їхні аспекти доступності. Ви також дізнаєтесь, як <code>prefers-reduced-motion</code> може допомогти з цими питаннями."
        ]
      },
      "workshop-ferris-wheel": {
        "title": "Створіть оглядове колесо",
        "intro": [
          "У CSS можна використати анімацію, щоб привернути увагу до певних розділів вебсторінки та зробити її більш привабливою.",
          "У цьому практичному занятті ви побудуєте оглядове колесо. Ви будете використовувати CSS для анімації, трансформації та регулювання швидкості елементів."
        ]
      },
      "lab-moon-orbit": {
        "title": "Створіть орбіту Місяця",
        "intro": [
          "У цій лабораторній роботі ви створите анімацію оберту Місяця навколо Землі.",
          "Ви будете використовувати анімаційні властивості, серед яких <code>animation-name</code>, <code>animation-duration</code>, <code>animation-timing-function</code> і багато інших."
        ]
      },
      "workshop-flappy-penguin": {
        "title": "Створіть пінгвіна Флаппі",
        "intro": [
          "HTML-елементи можна змінити, щоб створити хороший дизайн, який привертає увагу читача. Ви можете використовувати трансформації, щоб обертати елементи, масштабувати їх тощо.",
          "У цьому практичному занятті ви створите пінгвіна. Ви будете використовувати трансформації CSS, щоб позиціювати й змінити розмір частин пінгвіна, створити фон та анімувати роботу."
        ]
      },
      "lab-personal-portfolio": {
        "title": "Створіть особисте портфоліо",
        "intro": ["У цьому проєкті ви створите особисте портфоліо."]
      },
      "review-css-animations": {
        "title": "Повторення анімацій в CSS",
        "intro": [
          "Перш ніж перейти до тесту «Анімації в CSS», повторіть основні поняття.",
          "Відкрийте цю сторінку, щоб пригадати <code>prefers-reduced-motion</code>, директиву <code>@keyframes</code> та багато іншого."
        ]
      },
      "quiz-css-animations": {
        "title": "Тест «Анімації в CSS»",
        "intro": ["Перевірте, що ви дізнались про анімації в CSS."]
      }
    }
  },
  "dev-playground": {
    "title": "Ігровий майданчик",
    "intro": ["Ігровий майданчик для створення і тестування завдань"],
    "blocks": {
      "daily-coding-challenges-javascript": {
        "title": "Щоденні завдання з JavaScript",
        "intro": ["Місце для створення щоденних завдань з JavaScript."]
      },
      "daily-coding-challenges-python": {
        "title": "Щоденні завдання з Python",
        "intro": ["Місце для створення щоденних завдань з Python."]
      }
    }
  },
  "full-stack-open": {
    "title": "Full-Stack Open",
    "intro": ["A good intro is to be added here."],
    "blocks": {
      "workshop-blog-page": {
        "title": "Створіть сторінку блогу про котів",
        "intro": [
          "У цьому практичному занятті ви створите сторінку блогу лише на HTML, використовуючи семантичні елементи, серед яких <code>main</code>, <code>nav</code>, <code>article</code> та <code>footer</code>."
        ]
      }
    },
    "chapters": {
      "part-0": "Основи вебзастосунків",
      "part-1": "Вступ до React",
      "part-2": "З’єднання із серверами",
      "part-3": "Програмування сервера з NodeJS та Express",
      "part-4": "Тестування серверів Express та адміністрування користувачів",
      "part-5": "Тестування застосунків React",
      "part-6": "Розширене керування станом",
      "part-7": "Роутер React, кастомні хуки, стилізація з CSS та webpack",
      "part-8": "GraphQL",
      "part-9": "TypeScript",
      "part-10": "React Native",
      "part-11": "CI/CD",
      "part-12": "Контейнери",
      "part-13": "Використання реляційних баз даних"
    },
    "modules": {
      "basic-html": "Основи HTML"
    },
    "module-intros": {
      "basic-html": {
        "title": "Основи HTML",
        "intro": [
          "Навчіться створювати прості вебсторінки з текстом, зображеннями і посиланнями, доданими за допомогою HTML-тегів."
        ]
      }
    }
  },
  "daily-coding-challenge": {
    "title": "Щоденне завдання з програмування",
    "blocks": {
      "daily-coding-challenge": {
        "title": "Щоденне завдання з програмування"
      }
    }
  },
  "misc-text": {
    "browse-other": "Перегляньте інші безоплатні сертифікації",
    "courses": "Курси",
    "requirements": "Вимоги",
    "steps": "Кроки",
    "expand": "Розгорнути курс",
    "collapse": "Згорнути курс",
    "legacy-header": "Застарілі курси",
    "legacy-desc": "Ці курси більше не входять до сертифікацій, але вони досі доступні для навчання.",
    "legacy-go-back": "Перейдіть до поточної версії навчальної програми.",
    "course-maintenance": "Ці курси знаходяться на технічному обслуговуванні. Якщо вони не працюють, див. як запустити їх локально на <0>https://www.freecodecamp.org/news/how-to-run-freecodecamps-relational-databases-curriculum-using-docker-vscode-and-coderoad</0>.",
    "course-disabling-soon": "Вебверсія цих курсів буде тимчасово недоступна, а віртуальні машини будуть видалені. Будь-який прогрес на віртуальних машинах буде втрачено. Якщо у вас є файли, які ви хочете зберегти, збережіть їх на своєму комп’ютері. Просимо вибачення за будь-які незручності. Ми сподіваємося, що покращена вебверсія цих курсів стане доступною в найближчий час.",
    "course-disabled": "Ці курси тимчасово недоступні для виконання в браузері. Просимо вибачення за будь-які незручності. Ви можете дізнатись, як запустити їх локально на <0>https://www.freecodecamp.org/news/how-to-run-freecodecamps-relational-databases-curriculum-using-docker-vscode-and-coderoad</0>. Ми сподіваємося, що покращена вебверсія стане доступною в найближчий час.",
    "run-locally": "Наразі ми рекомендуємо запускати курси локально на своєму комп’ютері. Більше деталей за посиланням <0>https://www.freecodecamp.org/news/how-to-run-freecodecamps-relational-databases-curriculum-using-docker-vscode-and-coderoad</0>.",
    "progress-wont-save": "Ваш прогрес не буде збережений в обліковому записі freeCodeCamp при локальному запуску.",
    "go-back-to-learn": "Поверніться до стабільної версії навчальної програми.",
    "read-database-cert-article": "Будь ласка, прочитайте повідомлення на форумі, перш ніж продовжити.",
    "enable-cookies": "Увімкніть сторонні файли cookie перед початком роботи.",
    "english-only": "Курси в цьому розділі доступні лише англійською мовою. Наразі ми можемо перекладати лише заголовки й вступи, а не самі уроки.",
    "exam-english-only": "Зверніть увагу, що наразі екзамен доступний лише англійською мовою. Решта курсів доступні деякими іншими мовами."
  }
}
