Национална програма "Обучение за ИТ умения и кариера"

Националната програма предлага формат за обучение по програмиране на ученици от цялата страна за придобиване на професионална квалификация по професия "Приложен програмист". Обучението е предназначено за ученици в средни училища, профилирани гимназии и професионални гимназии, които не се обучават по тази професия. Обучението се организира в свободното време на учениците през седмицата, в събота и неделя или през ваканциите, като учебният процес ще се провежда както присъствено, така и онлайн.

В обучението могат да се включат и ученици в XII клас, които се обучават по специалност код 4810101 "Програмно осигуряване" от професия код 481010 "Програмист" с придобиване на II степен на професионална квалификация и да надградят професионалната си квалификация, като придобият III степен по професия "Приложен програмист".

Обучителни курсове

Учебни курсове през първата година
Курс "Увод в програмирането"
  • Първи стъпки в програмирането
  • Пресмятания, оператори, изрази
  • Проверки (условни конструкции)
  • Повторения (цикли) Подпрограми (функции / методи)
  • Практически изпит
Курс "Програмиране"
  • Сорс-контрол системи
  • Бройни системи Типове данни
  • Масиви и списъци
  • Дебъгване и работа с дебъгер
  • Многомерни масиви
  • Стрингове и работа с текст
  • Речници и хеш-таблици
  • Практически изпит
Курс "Увод в обектно-ориентираното програмиране"
  • Дефиниране на класове
  • Член-функции (методи) в класовете
  • Капсулация на данни в ООП
  • Статични членове в класовете
  • Абстракция, наследяване и интерфейси
  • Полиморфизъм в ООП
  • Работа по практически курсови проекти
  • Защита на практически курсов проект
Курс "Увод в алгоритмите и структурите от данни">
  • Въведение в алгоритмите
  • Линейни структури от данни
  • Алгоритми върху линейни структури
  • Алгоритми за сортиране
  • Алгоритми за търсене
  • Задачи върху списъци, сортиране и търсене
  • Подготовка за изпит
  • Практически изпит

 

Учебни курсове през втората година
Курс "ООП“
  • Компонентно тестване (unit testing)
  • Дефиниране на класове за напреднали
  • Шаблонни класове
  • Наследяване, абстракция, интерфейси Полиморфизъм в ООП
  • Работа с обекти
  • Елементи от функционалното програмиране
  • Комуникация между обекти (събития / интерфейси)
  • Изключения (exceptions)
  • Работа с потоци и файлове
  • Базови шаблони за дизайн (design patterns)
  • Практически изпит
Курс "Бази данни"
  • Въведение в базите данни
  • Моделиране на релационни бази от данни Заявки за извличане и промяна на данни
  • Сложни заявки за извличане на данни
  • Съединения на таблици (SQL JOIN)
  • Агрегация и групиране на данни
  • Скаларни функции, работа с дати, транзакции
  • Практически изпит
Курс „Разработка на софтуер“
  • Преглед на трислойния модел
  • Концепция за тестване, писане на компонентни тестове
  • Концепция за дебъгване
  • Концепция за рефакториране и правене на "инкрементални промени"
  • Увод в инструментите за разработка - IDE, текстови редактори, командни инструменти
  • Използване на външни библиотеки.
  • Управление на пакети.
  • Свързване на приложения с бази от данни
  • Свързване на приложения с бази от данни
  • Създаване на приложения с няколко потребителски интерфейса
Курс „Въведение в операционни системи и вградени системи“
  • Компютърни системи и ОС
  • Структура на ОС
  • Пакетни системи в ОС
  • Процеси и памет
  • Увод във вградените системи
  • Вход и изход с общо предназначение (GPIO) Работа със сензори
  • Аналогов/цифров вход/изход и преобразуватели
  • Управление на периферия

 

Учебни курсове през третата година
Курс "Алгоритми и структура от данни"
  • Алчни алгоритми
  • Рекурсия, пълно изчерпване и търсене с връщане назад
  • Комбинаторни алгоритми
  • Динамично оптимиране
  • Дървовидни структури от данни и алгоритми върху тях
  • Хеширане и хеш-таблици
  • Графи и алгоритми върху графи
Курс "Функционално програмиране"
  • Мотивация зад функционалното програмиране
  • Функции и стойности - дефиниции и понятия
  • Програмиране без променливи и цикли. Решаване на задачи с рекурсия. Видове рекурсия
  • Работа със списъци във функционален език. Понятие за cons / head & tail. Рекурсивни функции върху списъци
  • Понятие "функции от по-висок ред". Запознаване с анонимни / lambda функции
  • Затваряне на състояние във функция - closures
Курс "Интернет програмиране"
  • Запознаване с TCP/IP и сокети
  • HTTP протокол
  • Запознаване с HTML
  • HTTP сървъри и сервиране на статични HTML файлове
  • Запознаване с MVC технологична рамка
  • Свързване на HTTP сървър с backend език за програмиране (PHP / Python / Java / C# / JS / други)
  • Комуникация с база от данни
  • Шаблонни езици от страна на сървъра
  • MVC архитектура
  • Управление на състоянието в уеб приложенията
  • Автентикация и авторизация
  • Сигурност на уеб приложенията
  • Създаване REST API
  • Внедряване на проект (deployment)
Курс "Софтуерно инженерство"
  • Работа с чужд код
  • Сорс-контрол системи
  • Софтуерни изисквания и прототипи
  • Софтуерно тестване
  • Софтуерна документация
  • Процеси за софтуерна разработка

Центрове за обучение

Обучението се извършва в професионални гимназии и училища, в които се осъществява професионално образование по държавен план-прием за придобиване на професионална квалификация по специалности от професии в професионално направление код 481 „Компютърни науки“ от Списъка на професиите за професионално образование и обучение и се подпомага от 5 центъра, обособени към съответните училища, както следва:

  • Правец (за региона на западна България) – Професионална гимназия по компютърни технологии и системи, гр. Правец и Технически университет-София
  • Русе (за региона на североизточна България) – Професионална гимназия по електротехника и електроника „Апостол Арнаудов“, гр. Русе и Русенски университет „Ангел Кънчев“
  • Пловдив (за региона Пловдив и централна България): към МГ „Акад. Кирил Попов“ и Пловдивски университет „Паисий Хилендарски“ - за региона на Пловдив и централна България
  • Бургас (за региона на югоизточна България): Професионална гимназия по електротехника и електроника „К. Фотинов“ и Университет „Проф. д-р Асен Златаров“ -
  • София (за София-град): Технологично училище „Електронни системи“ и Технически Университет-София

Центровете организират и провеждат обучението за посочените в таблицата области, като част от обучението може да се провежда в съответния град.

София Правец Пловдив Бургас Русе
  • София
  • София-регион
  • Видин
  • Враца
  • Монтана
  • Плевен
  • Перник
  • Кюстендил
  • Благоевград
  • Ловеч
  • Пловдив
  • Стара Загора
  • Пазарджик
  • Кърджали
  • Смолян
  • Хасково
  • Бургас
  • Варна
  • Сливен
  • Ямбол
  • Русе
  • Силистра
  • Разград
  • Шумен
  • Търговище
  • Добрич
  • Габрово
  • Велико Търново