ЦЕНТЪР ЗА ПРОФЕСИОНАЛНО ОБУЧЕНИЕ
КЪМ „ХАРМОНИЯ 1”ООД
УЧЕБЕН ПЛАН
ЗА НАЧАЛНО ПРОФЕСИОНАЛНО ОБУЧЕНИЕ С
ПРИДОБИВАНЕ НА ТРЕТА СТЕПЕН НА ПРОФЕСИОНАЛНА КВАЛИФИКАЦИЯ
Професионално направление | Компютърни науки | Код:481 |
Професия | Приложен програмист | Код: 481030 |
Специалност | Приложно програмиране | Код: 4810301 |
Степен на професионална квалификация | трета |
Очаквани резултати от обучението:
по ДОС за придобиване на квалификация по професии, публикувани в ДВ от началото на 2016 г.
ЕРУ 1 Здравословни и безопасни условия на труд (ЗБУТ) и опазване на околната среда
Резултат от учене
1:1
|
Създава организация за осигуряване на здравословни и безопасни условия на труд на работното място |
Знания | • Познава разпоредбите за осигуряване на здравословни и безопасни условия на труд на работното място
• Познава средствата за сигнализация и маркировка за осигуряване на ЗБУТ • Представя информация за нормативните разпоредби, касаещи осигуряването на здравословни и безопасни условия на труд за конкретната трудова дейност и за свързаните трудови дейности • Представя информация за рисковете за здравето и безопасността при извършваната трудова дейност и свързани с нея трудови дейности • Представя информация за мерките за защита и средствата за сигнализация и маркировка за осигуряване на ЗБУТ • Познава разпоредбите за провеждане на инструктаж на работещите по правилата за осигуряване на здравословни и безопасни условия на труд |
Умения
|
• Участва в прилагането на мерките за предотвратяване, намаляване и ограничаване на рисковете за здравето и безопасността на работното място при различни трудови дейности
• Инструктира работещите по правилата за осигуряване на здравословни и безопасни условия на труд (ако е приложимо) • Контролира прилагането на необходимите мерки за защита • Използва средствата за сигнализация и маркировка за осигуряване на ЗБУТ |
Компетентности
|
• Създава организация за изпълнение на трудовите дейности при спазване на нормативните разпоредби за осигуряване на здравословни и безопасни условия на труд
• Участва в процеса за осигуряване на безопасност при работата • Изпълнява трудовата дейност при спазване на необходимите мерки за осигуряване на безопасност • Проявява отговорност към останалите участници в трудовия процес |
Резултат от учене
1.2: |
Участва в създаването на организация за осъществяване на превантивна дейност по опазване на околната среда |
Знания | • Познава разпоредбите за опазване на околната среда
• Описва основните изисквания за разделно събиране на отпадъци • Познава разпоредбите за съхранение, използване и изхвърляне на опасни продукти |
Умения
|
• Организира сортирането/съхранението на опасни продукти и излезли от употреба материали, консумативи и др. при спазване технологията за събиране и рециклиране |
Компетентности
|
• Анализира възможните причини за екологично замърсяване |
Резултат от учене
1.3: |
Създава организация за овладяването на рискови и аварийни ситуации |
Знания | • Описва основните рискови и аварийни ситуации • Описва основните изисквания за осигуряване на аварийна безопасност
• Обяснява основните стъпки за действие при аварии и аварийни ситуации • Обяснява видовете травми и методите за оказване на първа помощ • Познава реда за разследване на трудови злополуки |
Умения
|
• Използва терминологията, свързана с аварийните ситуации
• Контролира спазването на мерките за осигуряване на пожарна и аварийна безопасност • Контролира спазването на правилата за действие при аварии и аварийни ситуации • Координира действията на работния екип при аварии и опасни ситуации • Предотвратява опасните ситуации, които могат да възникнат по време на работа • Оказва първа помощ на пострадали при авария • Организира спазването на правилата за действие при аварии и аварийни ситуации |
Компетентности
|
• Анализира рисковете за възникване на пожар или аварийна ситуация, прави предложения за актуализиране на вътрешнофирмените правила за пожарна и аварийна безопасност
• Участва в създаването на организация за овладяването на възникнал пожар и/или авария в съответствие с установените вътрешнофирмени правила за пожарна и аварийна безопаснос |
ЕРУ 2 Икономика | |
Резултат от учене
2:1 |
Познава основите на пазарната икономика |
Знания | • Познава общата теория на пазарната икономика
• Запознат е с основните икономически проблеми • Знае ролята на държавата в пазарната икономика • Познава видовете икономически субекти в бизнеса |
Умения
|
• Информира се за успешни практически примери за управление на различни бизнес начинания |
Компетентности
|
• Способен е да идентифицира успешни практически примери за управление на бизнес начинания, като обясни ролята на всеки икономически субект, ангажиран в бизнеса |
Резултат от учене
2.2: |
Познава характеристиките на дейността на фирмата |
Знания | • Познава основите на пазарното търсене и пазарното предлагане
• Дефинира икономически понятия – приходи, разходи, печалба, рентабилност и др. |
Умения
|
• Обяснява икономически понятия в контекста на дейността на фирмата |
Компетентности
|
• Способен е да анализира икономическите принципи в контекста на дейността на фирмата |
ЕРУ 3 Предприемачество | |
Резултат от учене
3.1: |
Познава основите на предприемачеството |
Знания | • Знае същността на предприемачеството
• Знае видовете предприемачески умени |
Умения
|
• Анализира практически примери за успешно управление на дейността на фирмата |
Компетентности
|
• Предлага нови идеи за успешно изпълнение на трудовите дейности |
Резултат от учене
3.2: |
Формира предприемаческо поведение |
Знания | • Познава характеристиките на предприемаческото поведение
• Знае видовете предприемаческо поведение |
Умения
|
• Преценява необходимостта от промени, свързани с подобряване на работата |
Компетентности
|
• Предлага решения за оптимизиране на трудовите дейности |
Резултат от учене
3.3: |
Участва в разработването на бизнес план |
Знания | • Познава основните елементи, изисквания и етапи при разработване на бизнес план
• Знае факторите на обкръжаващата пазарна сред |
Умения
|
• Анализира възможностите за развитие на дейността на фирмата |
Компетентности
|
• В екип разработва проект на бизнес план |
ЕРУ 4 Организация на труда | |
Резултат от учене
4.1: |
Организира работния процес |
Знания | • Познава структурата на организацията, в която работи
• Познава методи за нормиране на работния процес • Познава нормативните документи, свързани с упражняване на професията • Познава изискванията за планиране на ресурси, свързани с работата |
Умения
|
• Планира работния процес
• Съставя график на работните задачи • Разработва и поддържа система за архивиране на клиентска база данни • Планира и организира рекламни стратегии и кампании |
Компетентности
|
• Ефективно организира работния процес
• Предлага и аргументира необходимостта от въвеждане на промени в работата |
Резултат от учене
4.2: |
Отговаря за разпределението на дейностите |
Знания | • Познава видовете трудови дейности
• Познава изискванията за качествено изпълнение на видовете трудови дейности • Познава начините за организация на дейностите в работния процес |
Умения
|
• Организира трудовите дейности в съответната последователност
• Спазва етичните норми на поведение • Съдейства за изграждането на етична работна среда |
Компетентности
|
• Ефективно разпределя дейностите в работния процес
• Съдейства за създаване и поддържане на етична работна среда |
ЕРУ 5 Комуникация и чужд език | |
Резултат от учене
5.1: |
Общува ефективно в работния екип |
Знания | • Познава отделните длъжности в екипа, техните взаимоотношения и йерархични връзки |
Умения
|
• Комуникира в работен порядък с екипа и персонала |
Компетентности
|
• Комуникира ефективно с всички участници в трудовия процес съобразно работния протокол
• Поема отговорности при работа в екип |
Резултат от учене
5.2: |
Води ефективна бизнес комуникация |
Знания | • Познава етичните норми на комуникацията
• Познава правилата за вербална и невербална комуникация • Познава ефективното поведение при конфликти • Познава правилата и изискванията за делова кореспонденция |
Умения
|
• Разпознава и избягва конфликтни ситуации
• Съдейства за решаване на конфликтни ситуации • Води делова комуникация – писмена и устна • Събира и предлага необходимата информация за удовлетворяване изискванията на клиентите |
Компетентности
|
• Провежда ефективна комуникация с потребителите съобразно индивидуалните им характеристики
• Провежда разговор с клиенти с цел консултиране и съгласуване на услуги • Разбира и уважава изискванията на клиентите и защитава интересите на организацията |
Резултат от учене
5.3: |
Владее чужд език по професията |
Знания | • Познава професионалната терминология на чужд език |
Умения
|
• Чете и разбира професионални текстове на чужд език (специализирана литература, техническа документация и др.)
• Ползва чужд език при търсене на информация от интернет и други източници • Ползва чужд език (писмено и говоримо) при комуникация с партньори и клиенти |
Компетентности
|
• Владее чужд език на ниво, позволяващо му да осъществява ефективна комуникация по професионални теми |
ЕРУ 6 Електротехника и електроника | |
Резултат от учене
6.1: |
Разчита, изчислява и измерва електрически схеми |
Знания | • Познава процесите, законите и градивните елементи при постояннотокови електрически вериги
• Познава процесите, законите и градивните елементи при променливотокови електрически вериги • Познава основните видове захранващи източници • Познава методите и средствата за измерване на постоянно- и променливотокови величини |
Умения
|
• Разчита електрически схеми
• Изчислява основни електрически величини чрез прилагане законите на електротехниката • Измерва електрически величини |
Компетентности
|
• Самостоятелно и прецизно изчислява и измерва основни електрически величини и анализира електрически схеми |
Резултат от учене
6.2: |
Разбира принципа на работа на електронните схеми |
Знания | • Познава технологиите, принципа на действие и режимите на работа на електронни градивни елементи
• Познава принципа на действие на основните аналогови устройства – генератор, усилвател, токоизправител, аналогово-цифров и цифрово-аналогов преобразувател • Познава принципа на действие на цифровите компоненти – логически елементи, схеми от комбинационен и последователен тип • Познава начините за измерване на електронни схеми с измервателни уреди |
Умения
|
• Използва учебна, техническа и справочна литература
• Разчита характеристиките на електронни градивни елементи • Разбира принципа на действие на електронни схеми с аналогови и цифрови устройства • Измерва аналогови и цифрови сигнали в електронни схеми |
Компетентности
|
• Самостоятелно намира и се запознава с каталожна информация за електронни елементи и схеми
• Самостоятелно разчита електронни схеми, като прилага иновативен подход • Прецизно и точно измерва параметрите на електронни устройства, използва подходяща измервателна апаратура |
ЕРУ 7 Информационни и комуникационни технологии | |
Резултат от учене
7.1: |
Познава съвременните информационни и комуникационни технологии |
Знания | Познава съвременните информационни и комуникационни технологии, които имат приложение в трудовите му дейности |
Умения
|
Информира се за новости в областта на ИКТ, свързани с пряката работа |
Компетентности
|
|
Резултат от учене
7.2: |
Използва различни информационни и комуникационни технологии |
Знания | • Знае най-често използваните ИКТ в рамките на работния процес
• Познава специализираната терминология за работа с ИКТ |
Умения
|
• Ползва програмни продукти и специализиран софтуер
• Изготвя, регистрира и архивира документи в електронен вид |
Компетентности
|
• Самостоятелно работи с подходящо подбрани ИКТ съобразно спецификата на конкретната трудова дейност |
ЕРУ 8 Математика | |
Резултат от учене
8.1: |
Извършва базов анализ на функции |
Знания | • Знае същността и ролята на функцията
• Знае основната математическа нотация за записване на функциите • Познава инективната, сюрективната и биективната функция • Разбира обратимостта на функцията • Познава обратимите и необратимите функции и тяхната роля в програмирането • Познава характеристиките прекъснатост, непрекъснатост, ограниченост и неограниченост на функциите • Знае начина за изобразяване на графика на функция върху правоъгълна координатна система • Познава същността на концепцията за функция от по-висок ред |
Умения
|
• Разпознава типа функция
• Намира обратни функции на прости функции • Определя типа на основните функции – линейна, квадратична, експоненциална • Разчита графика на функция, изобразена върху правоъгълна координатна система |
Компетентности
|
• Самостоятелно решава задачи, свързани с използване на изучаваните функции
• Точно чертае функции върху правоъгълна координатна система |
Резултат от учене
8.2: |
Борави с основните математически понятия, срещани в дискретната математика (множества, функции, релации, булева алгебра и комбинаторика) |
Знания | • Знае функциите на комбинаториката
• Познава основните комбинаторни конфигурации • Познава същността на понятието зад булевата алгебра • Познава основните булеви операции • Знае как се извършват основните булеви операции • Познава същността на множествата и тяхната роля в програмирането • Познава основните операции, извършвани с множества • Разбира понятието функция, разгледано като изображение между две множества • Разбира същността на релацията между два обекта • Знае начините за изобразяване на релация чрез функция • Познава основните свойства на релациите |
Умения
|
• Борави с математическите нотации за множества
• Извършва базови операции върху множества • Премества основни булеви изрази • Определя свойствата на дадена релация • Извършва основни комбинаторни пресмятания |
Резултат от учене
8.3: |
Борави с основните математически понятия, срещани в Линейната алгебра (вектори и матрици) |
Знания | • Познава структурата вектор в линейната алгебра и нейната функция
• Познава основните характеристики на вектора • Познава структурата матрица в линейната алгебра и нейната функция • Познава основните характеристики на структурата матрица • Знае основните операции, които могат да се извършват между вектори и матрици • Познава понятието детерминанта на матрица • Знае информацията, която дава детерминантата • Знае алгоритъма за пресмятане на детерминанта • Познава метода на Гаус като начин за решаване на система линейни уравнения и алгоритъма за прилагането му |
Умения
|
• Извършва основни операции над вектори и матрици
• Пресмята детерминанта на матрица • Решава система линейни уравнения чрез метода на Гаус |
Компетентности
|
• Способен е самостоятелно и точно да решава задачи, включващи вектори, матрици и операциите над тях
• Способен е самостоятелно и точно да решава задачи, включващи пресмятане на детерминанта на матрица • Способен е самостоятелно и точно да решава задачи чрез метода на Гаус • Способен е самостоятелно и точно да решава задачи по програмиране, за които са необходими знания за вектори и матрици |
Резултат от учене
8.4: |
Борави с десетична, двоична и шестнадесетична бройна система |
Знания | • Познава същността и ролята на бройните системи
• Познава същността на основната бройна система, с която работи – десетичната бройна система • Познава двоичната бройна система и нейните роля и приложение • Познава приложението на двоичната бройна система в компютрите • Знае основните операции в двоична бройна система • Познава шестнадесетичната бройна система и нейното приложение в компютрите • Знае общия начин за преобразуване на число от една бройна система в друга |
Умения
|
• Разпознава запис в двоична и в шестнадесетична бройна система
• Преобразува записа на числа от една бройна система в друга – от десетична към двоична и обратно; от десетична към шестнадесетична и обратно • Преобразува записа на числа от произволна бройна система към друга произволна бройна система |
Компетентности
|
• Способен е да извърши основните побитови операции в двоична бройна система
• Способен е да преобразува записа на числа от една бройна система в друга, използвайки общия алгоритъм |
ЕРУ 9 Алгоритми и структури от данни | |
Резултат от учене
9.1: |
Оценява сложността на алгоритми |
Знания | • Разбира понятието „сложност на алгоритъм“ и неговата роля
• Разбира какво измерва понятието „сложност на алгоритъм“ и чрез каква нотация се записва сложността на даден алгоритъм • Познава математическата нотация „Big-Oh Notation“ • Разбира сложността на често срещаните операции, които се извършват в даден програмен език • Знае същността на рекурсията • Знае начина за намиране на сложност на рекурсивен алгоритъм • Знае основните класове на сложност за един алгоритъм |
Умения
|
• Оценява сложността на алгоритъм, използвайки Big-Oh Notation
• Прави разлика между бърз и бавен алгоритъм • Разменя елементи в масив/списък |
Компетентности
|
• Да има интуиция/очакване каква е сложността на често срещани фрагменти от код – цикли/вложени цикли
• Способен е да засече реалното време на работа на даден алгоритъм спрямо размера на входа • Способен е да определи нуждата от по-бърз алгоритъм • Разбира „Big-Oh“ нотацията на по-известните алгоритми • Способен е да намери екстремален (максимален/минимален) елемент в масив/списък • Способен е да реализира един и същ алгоритъм както чрез итерация (цикъл), така и чрез рекурсия |
Резултат от учене
9. 2: |
Прилага алгоритми за сортиране |
Знания | • Познава процеса на „сортиране“ на дадена поредица от елементи
• Знае характеристиките на един алгоритъм за сортиране относно стабилността • Познава различни видове алгоритми за сортиране спрямо тяхната сложност |
Умения
|
• Имплементира и използва базовите алгоритми за сортиране
• Използва API-то на дадения език, за да сортира • Разбира разликата между бързо и бавно сортиране |
Компетентности
|
• Способен е да направи тест върху голямо количество от данни |
Резултат от учене
9.3: |
Прилага алгоритми за търсене |
Знания | • Разбира процеса на търсене
• Познава алгоритъма за двоично търсене • Знае с каква сложност работи алгоритъмът за двоично търсене и какви са неговите предварителни изисквания |
Умения
|
• Имплементира наивен (прост) алгоритъм за търсене
• Имплементира двоично търсене |
Компетентности
|
• Решава проблеми, използвайки алгоритмите за търсене
• Решава проблеми, използвайки алгоритмите за двоично търсене • Способен е да търси нещо и знае с каква сложност се случва търсенето, използвайки наивен подход за търсене |
Резултат от учене
9.4: |
Използва линейни структури от данни |
Знания | • Знае същността на структурите от данни и тяхната роля в програмирането
• Познава характеристиките на линейните структури от данни и основните операции върху тях • Знае същността на масива като линейна структура от данни, неговите основни характеристики, операции и тяхната сложност • Знае същността на вектора като структура от данни, неговите основни характеристики, операции и тяхната сложност • Разбира понятието амортизирана сложност • Познава свързания списък като линейна структура от данни, неговите основни характеристики, операции и тяхната сложност • Изброява разликите и приликите между масив, вектор и свързан списък • Разбира „опашката“ като линейна структура от данни, като назовава нейните основни характеристики, операции и тяхната сложност • Знае същността на „Стека“ като линейна структура от данни, неговите основни характеристики, операции и тяхната сложност • Познава съответните имплементации на тези линейни структури от данни в даден език за програмиране |
Умения
|
• Имплементира всички основни структури от данни по ефективен начин |
Компетентности
|
• Ефективно използва линейни структури от данни за решаване на конкретен проблем |
Резултат от учене
9.5: |
Използва речници и множества като структури от данни |
Знания | • Познава асоциативния списък като структура от данни, неговите функции и приложения
• Знае различните начини за имплементация на асоциативен списък и разбира сложностите на операциите спрямо имплементацията • Изброява различията в характеристиките на тези имплементации • Познава най-често срещаните проблеми при имплементация на HashMap • Разбира понятието за хешираща функция • Разбира множеството като структура от данни и неговите основни операции и характеристики • Знае различните начини за имплементация на множество и сложността на операциите спрямо имплементацията • Познава различията в характеристиките на тези имплементации • Разграничава множество и асоциативен списък от другите линейни структури от данни |
Умения
|
• Използва стандартните имплементации на структурите от данни в зависимост от програмния език
• Ориентира се спрямо обектния модел на езика • Осъществява добавяне в Map или Set при създаване на нов тип |
Компетентности
|
• Способен е да имплементира асоциативен списък и множество като структура от данни
• Способен е самостоятелно да реши даден проблем, преценявайки какви структури от данни да използва • Развива интуиция за имплементацията на асоциативен списък чрез хеш таблица или дървовидна структура • Развива интуиция за имплементацията на множество чрез хешираща функция или дървовидна структура |
Резултат от учене
9.6: |
Използва графите като структури от данни заедно с основните алгоритми върху тях |
Знания | • Знае същността на структурата от данни граф и нейното приложение
• Познава основните операции, които се извършват в един граф • Познава различните начини за представяне на граф в програмирането и сложността на операциите спрямо избора на представяне • Разбира идеята за обхождане на граф • Познава различните начини за обхождане на граф • Разбира същността на идеята за намиране на най-кратък път в граф • Разбира значението на теглата на ребрата • Познава различните алгоритми за намиране на най-кратки пътища • Разбира процеса на топологично сортиране на един граф с посока на ребрата и без цикли и приложението на съответния алгоритъм |
Умения
|
• Представя различни видове графи и имплементира основните алгоритми върху тях
• Моделира задачи чрез използване на основни алгоритми върху графи |
Компетентности
|
• Способен е да имплементира граф като структура от данни
• Решава проблеми, моделирайки ги чрез графи и използвайки някой от основните алгоритми върху тях |
Резултат от учене
9.7: |
Използва дървета и пирамиди като структури от данни заедно с основните алгоритми върху тях |
Знания | • Знае същността, характеристиките и приложенията на дървото като структура от данни
• Познава основните операции, извършвани върху дървото като структура от данни • Знае начина за представяне на дървото като структура чрез програмен език и сложността на операциите спрямо представянето • Разбира характеристиката на дървото „удобна за рекурсия структура от данни“ • Познава същността на двоичното дърво като структура от данни и неговите характеристики • Познава сложността на операциите в дървото и най-вече на търсенето • Разбира идеята за балансирано двоично дърво за търсене • Познава пирамидата като дървовидна структура от данни, нейните характеристики и приложения • Знае начина за представяне на пирамидалните структури |
Умения
|
• Различава балансирано двоично дърво за търсене от стандартното двоично дърво за търсене
• Локализира дървовидни структури във всекидневната компютърна употреба – HTML, файлова система и т.н. • Представя различни видове дървета и имплементира основните алгоритми върху тях |
Компетентности
|
• Разрешава проблеми, моделирайки ги чрез дървета и използвайки някой от основните алгоритми върху тях
• Разрешава проблеми, използвайки дървовидни структури от данни • Способен е да имплементира двоично дърво за търсене • Способен е да имплементира балансирано дърво за търсене • Способен е да имплементира пирамидална структура от данни |
ЕРУ 10 Модели на програмиране | |
Резултат от учене
10.1: |
Познава същността на обектноориентирания модел |
Знания | • Познава същността на обектноориентирания модел
• Разбира основната идея зад този модел • Познава основните понятия в обектноориентираното програмиране • Разбира връзката между типовата система на даден език за програмиране и неговия обектен модел • Знае общото между типове, класове и обекти • Разбира термина „предаване на нещо по референция“ • Знае разликата между „референтна“ и „примитивна“ стойност • Разбира абстракцията и нейното приложение в обектноориентирания модел • Знае начина за изграждане на абстракция |
Умения
|
• Използва обектноориентиран език за програмиране
• Посочва грешки в чужд код, написан в обектен стил |
Компетентности
|
• Способен е да решава проблеми в обектноориентиран стил
• Проучва начина на работа на различни стандартни библиотеки, като разбира какви способи за абстракция са използвани при имплементацията |
Резултат от учене
10.2: |
Познава същността на функционалния модел |
Знания | • Знае същността на чистата функция и нейното приложение
• Разбира понятието страничен ефект и посочва къде се среща • Знае същността на функцията от по-висок ред и нейното приложение • Разбира композицията на функции и нейната цел • Разбира основните функции от по-висок ред – map, filter, reduce • Знае същността на lambda (анонимна) функцията и нейното приложение • Обяснява термина рекурсия |
Умения
|
• Пише без променливи/for цикъл
• Пише с използването на рекурсия • Използва функции от по-висок ред и анонимни функции за често срещани операции, за които трябва цикличен оператор/условен оператор (for/if) • Пише чисти функции и разделя кода на чиста/нечиста част (доколкото е възможно и го позволява езикът) • Структурира кода така, че функциите със страничен ефект да са само на необходимите места |
Компетентности
|
• Разрешава проблем, използвайки функционален стил
• Способен е да идентифицира във вече работеща програма/проект кои части се състоят от чисти функции и кои части се състоят от функции със странични ефекти |
ЕРУ 11 Софтуерна разработка | |
Резултат от учене
11.1: |
Използва различни видове операционни системи |
Знания | • Знае същността, приложението и ползите на операционната система
• Познава най-често използваните видове операционни системи, освен посочените Linux, Mac OS, Windows • Знае структурата на една операционна система • Знае начини за инсталиране на софтуер върху операционна система • Разбира системи за достъп в различните операционни системи • Разбира разликите между процес и програма |
Умения
|
• Инсталира различни ОС
• Работи с ОС без графична среда – чрез терминал • Навигира и редактира файлове чрез конзолен редактор • Инсталира и конфигурира софтуер на дадена ОС чрез използване на пакетни мениджъри |
Компетентности
|
• Способен е да администрира операционна система
• Способен е да се справя с различни проблеми, свързани с конфигуриране и инсталиране на софтуер |
Резултат от учене
11.2: |
Познава устройството на компютъра |
Знания | • Разбира функциите на основните компютърни компоненти и тяхното взаимодействие
• Познава основни интерфейси и свързани с тях протоколи (USB, Ethernet, VGA, HDMI, PCI, SATA, DVI, и др.) |
Умения
|
• Свързва и конфигурира периферни устройства с компютър
• Прави основна профилактика на компютърна система |
Компетентности
|
• Способен е да добавя и настройва периферни устройства |
Резултат от учене
11.3: |
Разбира разликата между среда за разработка и текстов редактор |
Знания | • Знае същността на средата за разработка и тази на текстовия редактор
• Знае връзката между езици и технологии и препоръчителни среди и редактори • Знае основните операции в текстов редактор и в среда за разработка • Познава процеса на работа на интегрираната среда за разработка, когато стартира програма |
Умения
|
• Използва конзолен текстов редактор за работа с операционни системи (UNIX и др.)
• Използва средата за разработка за отстраняване на грешки (debug) • Прави базово рефакториране на кода, използвайки инструментите, предоставени му от средата или редактора • Модифицира средата или редактора за постигане на по-голяма ефективност |
Компетентности
|
• Способен е да използва ефективно поне една среда за разработка или поне един текстов редактор
• Преценява спрямо конкретната ситуацията дали да използва текстов редактор, или среда за разработка |
Резултат от учене
11.4: |
Развива интуиция за процес на компилация, процес на интерпретация, междинен код и виртуални машини за изпълнение на код |
Знания | • Разбира термина компилация
• Разбира термина интерпретация • Разбира термина compile-time error • Разбира термина run-time error • Разбира термините междинен код и виртуална машина • Разбира термина израз/expression в даден език за програмиране • Разбира термина statement в даден език за програмиране • Разбира управлението на паметта при компилатори и интерпретатори и виртуални машини |
Умения
|
• Разграничава процес на компилация, интерпретация и пускане на виртуална машина спрямо езика, който използва
• Използва REPL, за да тества фрагменти по даден код |
Компетентности
|
• Способен е да пише на поне един език, който се компилира
• Способен е да пише на поне един език, който се интерпретира |
Резултат от учене
11.5: |
Разбира процеса на търсене и отстраняване на грешки и процеса на „рефакториране„ |
Знания | • Познава процеса на debug – търсене на грешки, използвайки даден инструмент
• Познава средства за debug в дадено IDE – break points, stepping in and stepping out of functions • Познава същността на процеса на рефакториране • Познава средства за базово рефакториране в дадено IDE |
Умения
|
• Използва инструменти за debug (отстраняване на грешки), за да открива причини за странно или неправилно поведение на програмата
• Използва инструментите за базово рефакториране • Проследява логиката на кода и открива проблеми в него |
Компетентности
|
• Способен е да открива и анализира причините за неправилно поведение в по-голям проект |
Резултат от учене
11.6: |
Използва релационни бази от данни |
Знания | • Разбира нуждата от бази от данни
• Познава различни типове бази от данни: релационни, мрежови, key-value stores • Познава структурата на релационни бази от данни • Познава различните видове релации – 1:1, 1:N, N:M • Разбира разликата между DDL и DML заявки • Разбира различни CRUD заявки – SELECT, INSERT, UPDATE, DELETE • Разбира идеята за JOIN на таблици в база от данни • Познава видове JOINs • Знае различните типове от данни |
Умения
|
• Дафинира таблици по зададен модел на данни
• Създава заявки (например SQL) за: въвеждане, изтриване и промяна на данни • Създава SQL заявки за справки: SELECT, JOIN, UNION • Опраделя вида на връзката между таблици – 1:1, 1:N, N:M |
Компетентности
|
• Способен е да създава, моделира и работи с база от данни
• Способен е да създава софтуер, който използва база от данни |
Резултат от учене
11.7: |
Разбира същността на клиент-сървърни архитектури |
Знания | • Разбира концепцията за клиент-сървърна архитектура
• Познава приложението на клиент-сървърната архитектура • Разбира концепцията за протокол за комуникация между даден клиент и сървър • Разбира начина на свързване на клиент-сървърната архитектура с бази от данни – „трислойна“ архитектура |
Умения
|
• Реализира проста клиент-сървър архитектура
• Разпознава вече съществуваща клиент-сървър архитектура |
Компетентности
|
• Способен е да създава и надгражда софтуер, използващ клиент-сървър архитектура
• Определя коя архитектура е най-подходяща в конкретен случа |
Резултат от учене
11.8: |
Познава различни начини за комуникация между системи |
Знания | • Познава същността на протокола за комуникация между системи и разбира нуждата от тях
• Познава OSI модела • Познава основните протоколи за комуникация от по-ниско ниво – TCP/UDP • Познава основни протоколи за комуникация на „приложно“ ниво – HTTP • Познава формати, чрез които две системи могат да разменят комуникация: Binary, Structured Text Format • Разбира „service oriented“ архитектурата и нейното приложение |
Умения
|
• Разграничава отделни софтуерни системи и протокола/формата, по който те комуникират
• Сериализира и десериализира данни от и към най-популярните текстови формати (JSON, XML) |
Компетентности
|
• Способен е да създава и надгражда софтуер, използващ клиент-сървър архитектура |
Резултат от учене
11.9: |
Разбира конкурентното програмиране – нишки, процеси, асинхронност |
Знания | • Разбира същността на термина „процес“
• Разбира изпълнението на дадена програма • Разбира значението на термина „блокираща операция“ • Познава операциите, които са блокиращи, и тяхното влияние върху процеса • Познава видовете проблеми при разработване на сървър за клиент-сървърно приложение • Познава видовете проблеми при разработка на потребителски интерфейс • Знае значението на термина „нишка“ и неговата свързаност с понятието за процес • Познава връзката между нишките, процесите, както и броя на процесорите в системата • Разбира управлението на нишките от програмата и от операционната система • Разбира концепцията за споделена памет между различни нишки • Разбира проблемите за разрешаване при използване на нишки: Race conditions, Deadlocks, Livelocks, Starvation • Разбира концепциите за синхронизация и заключване • Познава начина за асинхронизиране на блокираща операция • Знае начините за синхронизиция и правилно заключва при боравене с нишки |
Умения
|
• Синхронизира множество асинхронни процеси
• Борави с многонишков код |
Компетентности
|
• Способен е да създава и надгражда софтуер, използващ асинхронни операции |
ЕРУ 12 Работен процес | |
Резултат от учене
12.1: |
Владее основните процеси на софтуерно тестване |
Знания | • Разбира нуждата от тестване на софтуера • Разбира основните правила и характеристики на тестването
• Разбира разликите между различните видове тестове (Unit testing, Integration testing, Functional testing) • Разбира работата на различните тестови framework • Разбира разликата между ръчно и автоматизирано тестване |
Умения
|
• Провежда ръчни тестове, за да идентифицира проблеми
• Пише различни видове тестове (unit тестове, functional тестове, integration тестове) • Превръща user stories в тестове • Използва тестовете като форма на документация на даден код (например библиотека) |
Компетентности
|
• Способен е да тества ефективно и автоматизирано софтуерен проект |
Резултат от учене
12.2: |
Използва методологии за разработка на софтуер |
Знания | • Познава общия процес на разработка на софтуер и Value-chain (верига на добавената стойност)
• Знае различните роли, които влизат в разработката на даден софтуер (бизнес анализатори, програмисти, системни администратори, специалисти по контрол на качеството, проектни мениджъри, представители на клиентите (на 3 нива – бизнес, техническо, технологично) • Познава и разбира същността на гъвкавите и негъвкавите методологии за разработка на софтуер, както и идеи зад тях • Изброява примери за употреба (и съответните плюсове и минуси) от тези методологии • Разбира значението и приложението на user stories |
Умения
|
• Прави дизайн на дадена система/feature/част, преди да бъде написана като код |
Компетентности
|
• Работи в екип по софтуерен проект, спазвайки различна методология за разработване на софтуер
• Поема определена роля в даден софтуерен процес със съответната методология • Аргументира се за използването на дадена софтуерна технология в конкретни случаи |
Резултат от учене
12.3: |
Създава софтуерна документация |
Знания | • Познава базови инструменти за писане на документация
• Познава системи за генериране на информация • Разбира процесите в системата по графично описание |
Умения
|
• Създава и поддържа документация в екип
• Описва конкретен софтуерен проект |
Компетентности
|
• Способен е да документира даден софтуер
• Владее систематичен подход към документация • Детайлно описва документация за инсталиране и стартиране на проекта • Чете и разбира ефективно дадена софтуерна документация |
Резултат от учене
12.4: |
Използва системи за контрол на версията на изходния код |
Знания | • Разбира разликата между централизирана и децентрализирана source control/version control система (svn/git)
• Познава начините за работа с основните source control/version control системи • Разбира понятията commit, branch, merge, push и pull в контекста на source/version control системата, която използва • Разбира понятието конфликт в контекста на програмирането и знае методи за преодоляването на конфликти • Познава начини за интеграция на source/version control системи в среди за разработка • Познава добри практики, свързани с процеса на поддържане на source/version control системи |
Умения
|
• Използва системите през графичен и конзолен потребителски интерфейс
• Работи със source/version control hosting service |
Компетентности
|
• Работи в екип, използвайки source/version control система
• Избира подходящата source/version control система според нуждите на екипа и проекта |
Резултат от учене
12.5: |
Прилага процес на управление на задачите |
Знания | • Разбира необходимостта от управление на софтуерната разработка и основни методологии за това
• Разбира идеята зад това да има „задачи“ в разработката на един софтуер • Знае нужните реквизити за една задача (описание, приоритет, свързани задачи, поемане на отговорност за задача) • Разбира основните състояния на една задача (Backlocked, Pending/Todo, Doing, For Review, Done) • Разбира концепцията за „блокиране“ на задача от друга задача |
Умения
|
• Ориентира се в даден софтуер за task management
• Работи с примерна система за task management |
Компетентности
|
• Управлява обема работа целесъобразно и адекватно спрямо крайните резултати
• Способен е да преведе дадена задача през целия ѝ цикъл на състояния • Комуникира с колеги и външни специалисти, когато има неясноти или неща, които блокират |
Резултат от учене
12.6: |
Работи с чужд код |
Знания | • Познава инструменти за ориентиране в чужд код |
Умения
|
• Ориентира се в чужд код
• Чете тестове като документация на чужд код • Работи с чуждо API • Ориентира се в документацията на чужд код • Извършва прегледи на кода (code reviews) |
Компетентности
|
• Способен е да поддържа и развива чужди проекти
• Лесно и бързо се ориентира и използва чужди библиотеки |
ЕРУ 13 Уеб програмиране | |
Резултат от учене
13.1: |
Разработва Уеб Frontend |
Знания | • Разбира термините URI и URL • Разбира HTTP като протокол за комуникация
• Познава семантичното структуриране на уебстраница чрез HTML • Познава стилизирането и подреждането на страница чрез CSS • Разбира механизма, по който чрез форми се изпраща информация към сървъра |
Умения
|
• Структурира семантични HTML документи
• Създава комуникация от вида Сървър -> HTML страница -> Форма с данни -> Сървър |
Компетентности
|
• Способен е да имплементира уебстраница по зададен дизайн
• Способен е да извършва сървърна комуникация чрез форми • Разработва, създава и визуално репрезентира уебстраници и уебсайтове |
Резултат от учене
13.2: |
Разработва сървърен уебсофтуер |
Знания | • Разбира различните HTTP заявки като начин за сървърна комуникация
• Разбира MVC като архитектура за изграждане на сървърен уебсофтуер • Разбира концепцията зад REST комуникацията • Знае основните SQL заявки за вземане и обработване на данни |
Умения
|
• Реализира комуникация с база данни
• Обслужва различни HTTP заявки • Реализира CRUD операции през SQL • Различава сървър и уебсайт |
Компетентности
|
• Разработва динамичен уебсайт – сървърна и клиентска част |
ЕРУ 14 Дизайн и моделиране | |
Резултат от учене
14.1: |
Моделира дизайн на софтуер |
Знания | • Знае предимствата и недостатъците на всеки един от подходите при моделиране чрез обектен модел – наследяване срещу композиция • Знае начините за изграждане на библиотека/Framework/API
• Разбира разликата между различните подходи за дизайн и моделиране на софтуер |
Умения
|
• Създава предварителен дизайн на софтуер без писане на код
• Моделира API – публична част и имплементационна част • Чертае и разчита клас диаграми – комуникиране и релации • Имплементира прототип по зададен дизайн |
Компетентности
|
• Способен е да създава, моделира и имплементира често срещани и използвани абстракции |
Резултат от учене
14.2: |
Създава дизайн на софтуер |
Знания | • Познава основните компоненти за изграждане на библиотека/софтуерна рамка/API |
Умения
|
• Създава прототип по зададен дизайн по различни възможни методи |
Компетентности
|
• Способен е да създаде дизайн и модел на софтуер без конкретна имплементация |
№ | Видове професионална подготовка
учебни предмети |
Брой учебни часове |
Раздел А. Задължителни учебни часове | ||
ТЕОРЕТИЧНО ОБУЧЕНИЕ | ||
Раздел А1. Обща професионална подготовка | ||
Здравословни и безопасни условия на труд | ||
Икономика | ||
Предприемачество | ||
Раздел А2. Отраслова професионална подготовка | ||
Чужд език по професията – английски език | ||
Информационни и комуникационни технологии | ||
Увод в програмирането | ||
Програмиране | ||
Увод в обектно-ориентираното програмиране | ||
Увод в алгоритмите и структурите от данни | ||
Обектно-ориентирано програмиране | ||
Бази данни | ||
Разработка на софтуер | ||
Раздел А3. Специфична професионална подготовка | ||
Програмиране за вградени системи | ||
Математически основи на програмирането | ||
Операционни системи | ||
Конкурентно програмиране | ||
Алгоритми и структури от данни | ||
Функционално програмиране | ||
Интернет програмиране | ||
Софтуерно инженерство | ||
ПРАКТИЧЕСКО ОБУЧЕНИЕ | ||
Раздел А2. Учебна практика по отраслова професионална подготовка: | ||
Увод в програмирането | ||
Програмиране | ||
Увод в обектно-ориентираното програмиране | ||
Увод в алгоритмите и структурите от данни | ||
Обектно-ориентирано програмиране | ||
Бази данни | ||
Разработка на софтуер | ||
Раздел А3. Учебна практика по специфична професионална подготовка: | ||
Програмиране за вградени системи | ||
Математически основи на програмирането | ||
Операционни системи | ||
Конкурентно програмиране | ||
Алгоритми и структури от данни | ||
Функционално програмиране | ||
Интернет програмиране | ||
Софтуерно инженерство | ||
Производствена практика | ||
Раздел Б. Избираеми учебни часове | ||
Разширена професионална подготовка | ||
Микропроцесорни системи | ||
Микропроцесорни системи теория | ||
Микропроцесорни системи практика | ||
Компютърни мрежи | ||
Компютърни мрежи теория | ||
Компютърни мрежи практика |