НАРЕДБА № 1 ОТ 15 ЯНУАРИ 2018 Г. ЗА ПРИДОБИВАНЕ НА КВАЛИФИКАЦИЯ ПО ПРОФЕСИЯТА "ПРИЛОЖЕН ПРОГРАМИСТ"
НАРЕДБА № 1 ОТ 15 ЯНУАРИ 2018 Г. ЗА ПРИДОБИВАНЕ НА КВАЛИФИКАЦИЯ ПО ПРОФЕСИЯТА "ПРИЛОЖЕН ПРОГРАМИСТ"
Обн. ДВ. бр.9 от 26 Януари 2018г.
Раздел I.
Общи положения
Чл. 1. С тази наредба се определя държавният образователен стандарт (ДОС) за придобиването на квалификация по професията 481030 "Приложен програмист" от област на образование "Информатика" и професионално направление 481 "Компютърни науки" съгласно Списъка на професиите за професионално образование и обучение по чл. 6, ал. 1 от Закона за професионалното образование и обучение.
Чл. 2. Държавният образователен стандарт за придобиването на квалификация по професията 481030 "Приложен програмист" съгласно приложението към тази наредба определя изискванията за придобиването на трета степен на професионална квалификация за специалността 4810301 "Приложно програмиране".
Чл. 3. Въз основа на ДОС по чл. 1 и рамковите програми по чл. 10, ал. 3, т. 2, 3 и 6 от Закона за професионалното образование и обучение се разработват типови учебни планове за ученици, учебни планове за лица, навършили 16 години, и учебни програми за обучението по специалността по чл. 2.
Раздел II.
Съдържание на държавния образователен стандарт
Чл. 4. (1) Държавният образователен стандарт по чл. 1 определя изискванията към кандидатите, описанието на професията, единиците резултати от ученето, изискванията към материалната база и изискванията към обучаващите.
(2) Държавният образователен стандарт за придобиване на квалификация по професията 481030 "Приложен програмист" включва общата, отрасловата и специфичната професионална подготовка с необходимите професионални компетентности, които гарантират на обучаемия възможността за упражняване на професията след завършване на обучението.
Заключителни разпоредби
§ 1. Тази наредба се издава на основание чл. 22, ал. 6 във връзка с чл. 22, ал. 2, т. 6 от Закона за предучилищното и училищното образование.
§ 2. Наредбата влиза в сила от деня на обнародването ѝ в "Държавен вестник".
Приложение към чл. 2
Държавен образователен стандарт за придобиване на квалификация по професията "Приложен програмист"
Професионално направление: | ||||
| ||||
481 |
Компютърни науки | |||
| ||||
Наименование на професията: | ||||
| ||||
481030 |
Приложен програмист | |||
| ||||
Специалности: |
Степен на професионална квалификация: |
Ниво по НКР |
Ниво по ЕКР | |
| ||||
4810301 |
Приложно програмиране |
Трета |
4 |
4 |
1. Изисквания към кандидатите
1.1. За придобиване на трета степен на професионална квалификация по професията "Приложен програмист" от Списъка на професиите за професионално образование и обучение по чл. 6, ал. 1 ЗПОО (утвърден от министъра на образованието и науката със Заповед № РД-09-413 от 12.05.2003 г., изм. със Заповед № РД-09-1851 от 27.03.2017 г.) изискванията за входящото минимално образователно равнище към кандидатите са:
• за ученици - завършено основно образование;
• за лица, навършили 16 години - придобито право за явяване на държавни зрелостни изпити или придобито средно образование.
Изискванията за входящото минимално квалификационно равнище при продължаващо професионално обучение с придобиване на трета степен на професионална квалификация е придобита втора степен по професия от същата област на образование или придобита квалификация по част от професия с трета степен на професионална квалификация.
За ученици със специални образователни потребности и за лица с увреждания, навършили 16 години, се организира професионално образование и професионално обучение, съобразено със съответното им увреждане.
Здравословното състояние на кандидата се удостоверява с медицински документ, доказващ, че професията, по която желае да се обучава, не му е противопоказна.
1.2. Валидиране на професионални знания, умения и компетентности
Придобиването на квалификация по професията "Приложен програмист" - трета степен на професионална квалификация или част от нея, чрез валидиране на придобити с неформално обучение или информално учене професионални знания, умения и компетентности се осъществява съгласно Наредба № 2 от 2014 г. за условията и реда за валидиране на професионални знания, умения и компетентности, издадена от министъра на образованието и науката (ДВ, бр. 96 от 2014 г.).
2. Описание на професията
2.1. Трудови дейности, отговорности, личностни качества, особености на условията на труд, оборудване и инструменти, изисквания за упражняване на професията, определени в законови и подзаконови актове (здравословно състояние, правоспособност и др.)
Приложният програмист работи с компютри (включително уеббазирани конфигурации и мобилни устройства), операционни системи, езици за програмиране (алгоритмични езици), технически средства за печат, графика и анимация, специализирана литература, програмна документация и документация на софтуерни библиотеки, нормативни източници, спецификации на изискванията, технически проекти (дизайн, архитектура) на системата и др. Той използва софтуерни инструменти като интегрирани среди за разработка (Integrated Development Environment), инструменти за моделиране (Computer Aided Software Engineering, CASE), контрол на изходния код (source control) и на конфигурациите, системи за автоматизирано асемблиране (build) и автоматизирано тестване, непрекъсната интеграция (continuous integration), системи за управление на задачите и дефектите (bug and task tracking).
Придобилият трета степен на професионална квалификация по професията "Приложен програмист" работи с всички устройства от конфигурацията на компютърната система (КС) и периферните устройства (ПУ), като познава принципното устройство и действие на компютърните системи и на основни видове ПУ. Той познава и прилага основните видове алгоритми, структури от данни и начини за добра организация на програмния код. Контролира и управлява адекватно на поставената цел основните ресурси на КС на база съответстващата документация, каталожната и справочната литература, нормативните документи и изискванията на клиента. Участва в прегледи на спецификации на изискванията и чужд код (code review) и дава предложения за подобряване.
Осигурява и осъществява входящ контрол на необходимото информационно осигуряване (приложно) по съответстващата му документация, каталожна и справочна литература на български и чужд език, нормативни документи и изискванията на клиента.
Инсталира, конфигурира и администрира необходимия приложен софтуер за работа с КС според изискванията на клиента. Инсталира собствена среда за разработка, включително КС като работна станция/сървър в мрежова среда, конфигурира и администрира мрежовите параметри на операционната система, на мрежовите ПУ и ресурсите за общо ползване.
При необходимост използва основните възможности на текстообработващите системи, електронни таблици и програми за презентации, средства за архивиране на данни, средства за диагностика и отстраняване на компютърни вируси и средства за защита на информацията. Използва основните възможности на системи за предпечатна подготовка, графични редактори, средства за обработка на изображения, компютърни анимации, програмни системи за сканиране и обработка на сканирани документи.
Създава програмни продукти по готов проект, като прилага математически подходи и използва процедурни и обектно-ориентирани езици за програмиране. Администрира, поддържа и архивира бази от данни; тества, внедрява и настройва според изискванията на клиента разработените приложения.
Разработва приложения с бази от данни по готов проект.
Създава WEB съдържание по зададен проект; създава приложения за динамично генериране на WEB съдържание по зададен проект; създава, поддържа и администрира бази от данни във WWW и интернет.
Приложният програмист, придобил трета степен на професионална квалификация, спазва правните, етичните и здравните норми за работа с информационните технологии (ИТ) и създава и поддържа безопасна работна среда.
Работното време на програмиста е с нормална продължителност в съответствие с разпоредбите на Кодекса на труда. Програмистът може да работи като самонаето лице, като работното време в този случай е гъвкаво. Възможно е да се налага програмистът да работи през почивните дни или извън работно време във връзка с приключването на конкретен проект.
2.2. Възможности за продължаване на професионалното обучение
Лицата, придобили трета степен на професионална квалификация по професията "Приложен програмист", могат да продължат обучението си за придобиване на квалификация по други професии/специалности от професионално направление 481 "Компютърни науки".
Придобилите професионална квалификация по професията "Приложен програмист" могат да продължат обучението си във висши училища; могат да завършат специализация в областта на информатиката; могат да придобият сертификати за заемане на специфични длъжности в софтуерните компании.
При продължаващото професионално обучение се организира обучение за усвояване на единиците резултати от ученето, които лицата не притежават.
2.3. Възможности за професионална реализация съгласно Националната класификация на професиите и длъжностите (НКПД - 2011) в Република България, утвърдена със Заповед № РД-01-931 от 27.12.2010 г. на министъра на труда и социалната политика, изм. и доп. със Заповед № РД-01-715 от 19.09.2017 г.
Приложният програмист намира професионална реализация в предприятия, фирми и организации, които проектират и произвеждат програмни продукти, поддържат и обслужват информационни системи за клиенти, които ползват компютърна техника.
Придобилият трета степен на професионална квалификация по професията "Приложен програмист" може да постъпва на работа на следните длъжности от НКПД - 2011:
• 3511 3001 Оператор периферни устройства;
• 3512 3007 Консултант, поддръжка на софтуер;
• 3512 3008 Оператор инсталиране на софтуер;
• 3512 3001 Техник, компютърно програмиране;
• 3512-3005 Компютърен аналитик, поддръжка на софтуер;
• 3512-3010 Специалист, интернет поддръжка;
• 3512-3011 Специалист, поддръжка приложения;
• 3514-3001 Администратор, уебсайт;
• 3514-3002 Техник, уебсайт;
• 3514-3003 Уебмастер;
• 3514-3004 Мениджър, уебсайт,
както и на други длъжности, допълнени при актуализиране на НКПД.
3. Единици резултати от ученето (ЕРУ)
3.1. Списък на ЕРУ
ЕРУ по обща професионална подготовка
• ЕРУ 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. Оценява сложността на алгоритми
о РУ 9.2. Прилага алгоритми за сортиране
о РУ 9.3. Прилага алгоритми за търсене
о РУ 9.4. Използва линейни структури от данни
о РУ 9.5. Използва речници и множества като структури от данни
о РУ 9.6. Използва графите като структури от данни заедно с основните алгоритми върху тях
о РУ 9.7. Използва дървета и пирамиди като структури от данни заедно с основните алгоритми върху тях
• ЕРУ 10. Модели на програмиране
о РУ 10.1. Познава същността на обектноориентирания модел
о РУ 10.2. Познава същността на функционалния модел
• ЕРУ 11. Софтуерна разработка
о РУ 11.1. Използва различни видове операционни системи
о РУ 11.2. Познава устройството на компютъра
о РУ 11.3. Разбира разликата между среда за разработка и текстов редактор
о РУ 11.4. Развива интуиция за процес на компилация, процес на интерпретация, междинен код и виртуални машини за изпълнение на код
о РУ 11.5. Разбира процеса на търсене и отстраняване на грешки и процеса на "рефакториране"
о РУ 11.6. Използва релационни бази от данни
о РУ 11.7. Разбира същността на клиент - сървърни архитектури
о РУ 11.8. Познава различни начини за комуникация между системи
о РУ 11.9. Разбира конкурентното програмиране - нишки, процеси, асинхронност
• EРУ 12. Работен процес
о РУ 12.1. Владее основните процеси на софтуерно тестване
о РУ 12.2. Използва методологии за разработка на софтуер
о РУ 12.3. Създава софтуерна документация
о РУ 12.4. Използва системи за контрол на версията на изходния код
о РУ 12.5. Прилага процес на управление на задачите
о РУ 12.6. Работи с чужд код
• ЕРУ 13. Уебпрограмиране
о РУ 13.1. Разработва Уеб Frontend
о РУ 13.2. Разработва сървърен уебсофтуер
• ЕРУ 14. Дизайн и моделиране
о РУ 14.1. Моделира дизайн на софтуер
о РУ 14.2. Създава дизайн на софтуер
3.2. Описание на ЕРУ
ЕРУ по обща професионална подготовка
ЕРУ 1
Наименование на |
Здравословни и безопасни условия на труд (ЗБУТ) |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 1.1: |
Създава организация за осигуряване на здравословни и безопасни условия на труд на работното място |
Знания |
• Познава разпоредбите за осигуряване на здравословни и безопасни условия на труд на работното място • Познава средствата за сигнализация и маркировка за осигуряване на ЗБУТ • Представя информация за нормативните разпоредби, касаещи осигуряването на здравословни и безопасни условия на труд за конкретната трудова дейност и за свързаните трудови дейности • Представя информация за рисковете за здравето и безопасността при извършваната трудова дейност и свързани с нея трудови дейности • Представя информация за мерките за защита и средствата за сигнализация и маркировка за осигуряване на ЗБУТ • Познава разпоредбите за провеждане на инструктаж на работещите по правилата за осигуряване на здравословни и безопасни условия на труд |
Умения |
• Участва в прилагането на мерките за предотвратяване, намаляване и ограничаване на рисковете за здравето и безопасността на работното място при различни трудови дейности • Инструктира работещите по правилата за осигуряване на здравословни и безопасни условия на труд (ако е приложимо) • Контролира прилагането на необходимите мерки за защита • Използва средствата за сигнализация и маркировка за осигуряване на ЗБУТ |
Компетентности |
• Създава организация за изпълнение на трудовите дейности при спазване на нормативните разпоредби за осигуряване на здравословни и безопасни условия на труд • Участва в процеса за осигуряване на безопасност при работата • Изпълнява трудовата дейност при спазване на необходимите мерки за осигуряване на безопасност • Проявява отговорност към останалите участници в трудовия процес |
Резултат от учене 1.2: |
Участва в създаването на организация за осъществяване на превантивна дейност по опазване на околната среда |
Знания |
• Познава разпоредбите за опазване на околната среда • Описва основните изисквания за разделно събиране на отпадъци • Познава разпоредбите за съхранение, използване и изхвърляне на опасни продукти |
Умения |
• Организира сортирането/съхранението на опасни продукти и излезли от употреба материали, консумативи и др. при спазване технологията за събиране и рециклиране |
Компетентности |
• Анализира възможните причини за екологично замърсяване |
Резултат от учене 1.3: |
Създава организация за овладяването на рискови и аварийни ситуации |
Знания |
• Описва основните рискови и аварийни ситуации • Описва основните изисквания за осигуряване на аварийна безопасност • Обяснява основните стъпки за действие при аварии и аварийни ситуации • Обяснява видовете травми и методите за оказване на първа помощ • Познава реда за разследване на трудови злополуки |
Умения |
• Използва терминологията, свързана с аварийните ситуации • Контролира спазването на мерките за осигуряване на пожарна и аварийна безопасност • Контролира спазването на правилата за действие при аварии и аварийни ситуации • Координира действията на работния екип при аварии и опасни ситуации • Предотвратява опасните ситуации, които могат да възникнат по време на работа • Оказва първа помощ на пострадали при авария • Организира спазването на правилата за действие при аварии и аварийни ситуации |
Компетентности |
• Анализира рисковете за възникване на пожар или аварийна ситуация, прави предложения за актуализиране на вътрешнофирмените правила за пожарна и аварийна безопасност • Участва в създаването на организация за овладяването на възникнал пожар и/или авария в съответствие с установените вътрешнофирмени правила за пожарна и аварийна безопасност |
Средства за оценяване: |
Средство 1: • Решаване на тест Средство 2: • Решаване на казус по зададен сценарий |
Условия за провеждане на оценяването: |
За средства 1 и 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: Владее теоретичните знания за: • хигиенните норми; • здравословните и безопасни условия на труд на работното място; • превантивната дейност за опазване на околната среда; • овладяването на аварийни ситуации и оказването на първа помощ на пострадали. За средство 2: • Избира бързо и уверено най-адекватния тип поведение при зададената рискова ситуация • Вярно и точно определя необходимите действия за оказване на първа помощ |
ЕРУ 2
Наименование на единицата: |
Икономика |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 2.1: |
Познава основите на пазарната икономика |
Знания |
• Познава общата теория на пазарната икономика • Запознат е с основните икономически проблеми • Знае ролята на държавата в пазарната икономика • Познава видовете икономически субекти в бизнеса |
Умения |
• Информира се за успешни практически примери за управление на различни бизнес начинания |
Компетентности |
• Способен е да идентифицира успешни практически примери за управление на бизнес начинания, като обясни ролята на всеки икономически субект, ангажиран в бизнеса |
Резултат от учене 2.2: |
Познава характеристиките на дейността на фирмата |
Знания
|
• Познава основите на пазарното търсене и пазарното предлагане • Дефинира икономически понятия - приходи, разходи, печалба, рентабилност и др. |
Умения |
• Обяснява икономически понятия в контекста на дейността на фирмата |
Компетентности |
• Способен е да анализира икономическите принципи в контекста на дейността на фирмата |
Средства за оценяване: |
Средство 1: • Писмен изпит/тест Средство 2: • Казус по зададен сценарий |
Условия за провеждане на оценяването: |
За средства 1 и 2: • Учебен кабинет |
Критерии за оценяване: |
За средство 1: • Владее основните теоретични знания в областта на икономиката За средство 2: • Вярно, точно и мотивирано определя действията за разрешаване на проблема в зададения казус/сценарий |
ЕРУ 3
Наименование на единицата: |
Предприемачество |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 3.1: |
Познава основите на предприемачеството |
Знания |
• Знае същността на предприемачеството • Знае видовете предприемачески умения |
Умения |
• Анализира практически примери за успешно управление на дейността на фирмата |
Компетентности |
• Предлага нови идеи за успешно изпълнение на трудовите дейности |
Резултат от учене 3.2: |
Формира предприемаческо поведение |
Знания |
• Познава характеристиките на предприемаческото поведение • Знае видовете предприемаческо поведение |
Умения |
• Преценява необходимостта от промени, свързани с подобряване на работата |
Компетентности |
• Предлага решения за оптимизиране на трудовите дейности |
Резултат от учене 3.3: |
Участва в разработването на бизнес план |
Знания |
• Познава основните елементи, изисквания и етапи при разработване на бизнес план • Знае факторите на обкръжаващата пазарна среда |
Умения |
• Анализира възможностите за развитие на дейността на фирмата |
Компетентности |
• В екип разработва проект на бизнес план |
Средства за оценяване: |
Средство 1: Решаване на тест Средство 2: Решаване на казус по зададен сценарий |
Условия за провеждане на оценяването: |
За средства 1 и 2: • Учебен кабинет |
Критерии за оценяване: |
За средство 1: • Владее основните теоретични постановки в областта на предприемачеството За средство 2: • Вярно, точно и мотивирано определя действията за разрешаване на описания проблем в зададения казус/сценарий |
ЕРУ по отраслова професионална подготовка
ЕРУ 4
Наименование на единицата: |
Организация на труда |
Ниво по НКР |
4 |
Ниво по ЕКР |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 4.1: |
Организира работния процес |
Знания |
• Познава структурата на организацията, в която работи • Познава методи за нормиране на работния процес • Познава нормативните документи, свързани с упражняване на професията • Познава изискванията за планиране на ресурси, свързани с работата |
Умения |
• Планира работния процес • Съставя график на работните задачи • Разработва и поддържа система за архивиране на клиентска база данни • Планира и организира рекламни стратегии и кампании |
Компетентности |
• Ефективно организира работния процес • Предлага и аргументира необходимостта от въвеждане на промени в работата |
Резултат от учене 4.2: |
Отговаря за разпределението на дейностите |
Знания |
• Познава видовете трудови дейности • Познава изискванията за качествено изпълнение на видовете трудови дейности • Познава начините за организация на дейностите в работния процес |
Умения |
• Организира трудовите дейности в съответната последователност • Спазва етичните норми на поведение • Съдейства за изграждането на етична работна среда |
Компетентности |
• Ефективно разпределя дейностите в работния процес • Съдейства за създаване и поддържане на етична работна среда |
Средства за оценяване: |
Средство 1: • Писмен изпит/тест Средство 2: • Казус по зададен сценарий |
Условия за провеждане на оценяването: |
За средства 1 и 2: • Учебен кабинет |
Критерии за оценяване: |
За средство 1: • Дефинира основни теоретични понятия в организацията на работния процес За средство 2: • Дефинира основни теоретични понятия в разпределението на дейностите в работния процес |
ЕРУ 5
Наименование на единицата: |
Комуникация и чужд език |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Системен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 5.1: |
Общува ефективно в работния екип |
Знания |
• Познава отделните длъжности в екипа, техните взаимоотношения и йерархични връзки |
Умения |
• Комуникира в работен порядък с екипа и персонала |
Компетентности |
• Комуникира ефективно с всички участници в трудовия процес съобразно работния протокол • Поема отговорности при работа в екип |
Резултат от учене 5.2: |
Води ефективна бизнес комуникация |
Знания |
• Познава етичните норми на комуникацията • Познава правилата за вербална и невербална комуникация • Познава ефективното поведение при конфликти • Познава правилата и изискванията за делова кореспонденция |
Умения |
• Разпознава и избягва конфликтни ситуации • Съдейства за решаване на конфликтни ситуации • Води делова комуникация - писмена и устна • Събира и предлага необходимата информация за удовлетворяване изискванията на клиентите |
Компетентности |
• Провежда ефективна комуникация с потребителите съобразно индивидуалните им характеристики • Провежда разговор с клиенти с цел консултиране и съгласуване на услуги • Разбира и уважава изискванията на клиентите и защитава интересите на организацията |
Резултат от учене 5.3: |
Владее чужд език по професията |
Знания |
• Познава професионалната терминология на чужд език |
Умения |
• Чете и разбира професионални текстове на чужд език (специализирана литература, техническа документация и др.) • Ползва чужд език при търсене на информация от интернет и други източници • Ползва чужд език (писмено и говоримо) при комуникация с партньори и клиенти |
Компетентности |
• Владее чужд език на ниво, позволяващо му да осъществява ефективна комуникация по професионални теми |
Средства за оценяване:
|
Средство 1: • Разговори на професионални теми на чужд език |
Условия за провеждане на оценяването: |
За средство 1: • Учебен кабинет |
Критерии за оценяване: |
За средство 1: • Комуникира свободно на чужд език в учебна или работна среда |
ЕРУ 6
Наименование на единицата: |
Електротехника и електроника |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 6.1: |
Разчита, изчислява и измерва електрически схеми |
Знания |
• Познава процесите, законите и градивните елементи при постояннотокови електрически вериги • Познава процесите, законите и градивните елементи при променливотокови електрически вериги • Познава основните видове захранващи източници • Познава методите и средствата за измерване на постоянно- и променливотокови величини |
Умения |
• Разчита електрически схеми • Изчислява основни електрически величини чрез прилагане законите на електротехниката • Измерва електрически величини |
Компетентности |
• Самостоятелно и прецизно изчислява и измерва основни електрически величини и анализира електрически схеми |
Резултат от учене 6.2: |
Разбира принципа на работа на електронните схеми |
Знания |
• Познава технологиите, принципа на действие и режимите на работа на електронни градивни елементи • Познава принципа на действие на основните аналогови устройства - генератор, усилвател, токоизправител, аналогово-цифров и цифрово-аналогов преобразувател • Познава принципа на действие на цифровите компоненти - логически елементи, схеми от комбинационен и последователен тип • Познава начините за измерване на електронни схеми с измервателни уреди |
Умения |
• Използва учебна, техническа и справочна литература • Разчита характеристиките на електронни градивни елементи • Разбира принципа на действие на електронни схеми с аналогови и цифрови устройства • Измерва аналогови и цифрови сигнали в електронни схеми |
Компетентности |
• Самостоятелно намира и се запознава с каталожна информация за електронни елементи и схеми • Самостоятелно разчита електронни схеми, като прилага иновативен подход • Прецизно и точно измерва параметрите на електронни устройства, използва подходяща измервателна апаратура |
Средства за оценяване: |
Средство 1: • Решаване на тест или устен изпит Средство 2: • Практически задания |
Условия за провеждане на оценяването: |
За средство 1: • Учебен кабинет • Интернет достъп За средство 2: • Аналогови и цифрови градивни елементи • Аналогови и цифрови електронни схеми • Измервателна апаратура • Електрическа схема • Захранващи източници • Уреди за измерване • Средства за изчисление |
Критерии за оценяване:
|
За средство 1: • Обяснява електронна схема на база каталожна информация • Обяснява функционалността на аналогови и цифрови устройства • Обяснява принципа на действие на електронна схема с аналогови и цифрови устройства • Обяснява електрическа схема по задание За средство 2: • Измерва параметрите на електронни устройства • Изчислява параметрите на електрическа схема • Свързва и захранва електрическа схема • Измерва самостоятелно електрически величини в зададена схема |
ЕРУ 7
Наименование на единицата: |
Информационни и комуникационни технологии |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 7.1: |
Познава съвременните информационни и комуникационни технологии |
Знания |
Познава съвременните информационни и комуникационни технологии, които имат приложение в трудовите му дейности |
Умения |
Информира се за новости в областта на ИКТ, свързани с пряката работа |
Компетентности |
- |
Резултат от учене 7.2: |
Използва различни информационни и комуникационни технологии |
Знания |
• Знае най-често използваните ИКТ в рамките на работния процес • Познава специализираната терминология за работа с ИКТ |
Умения |
• Ползва програмни продукти и специализиран софтуер • Изготвя, регистрира и архивира документи в електронен вид |
Компетентности |
• Самостоятелно работи с подходящо подбрани ИКТ съобразно спецификата на конкретната трудова дейност |
Средства за оценяване: |
Средство 1: • Изпълнява работната задача, като прилага информационни и комуникационни технологии Средство 2: • Обосновава избора на информационни и комуникационни технологии за решаване на работната задача |
Условия за провеждане на оценяването: |
За средства 1 и 2: • Компютърен кабинет |
Критерии за оценяване: |
За средства 1 и 2: • Изпълнение на поставена задача, свързана с използването на информационни и комуникационни технологии |
ЕРУ 8
Наименование на единицата: |
Математика |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 8.1: |
Извършва базов анализ на функции |
Знания |
• Знае същността и ролята на функцията • Знае основната математическа нотация за записване на функциите • Познава инективната, сюрективната и биективната функция • Разбира обратимостта на функцията • Познава обратимите и необратимите функции и тяхната роля в програмирането • Познава характеристиките прекъснатост, непрекъснатост, ограниченост и неограниченост на функциите • Знае начина за изобразяване на графика на функция върху правоъгълна координатна система • Познава същността на концепцията за функция от по-висок ред |
Умения |
• Разпознава типа функция • Намира обратни функции на прости функции • Определя типа на основните функции - линейна, квадратична, експоненциална • Разчита графика на функция, изобразена върху правоъгълна координатна система |
Компетентности |
• Самостоятелно решава задачи, свързани с използване на изучаваните функции • Точно чертае функции върху правоъгълна координатна система |
Резултат от учене 8.2: |
Борави с основните математически понятия, срещани в дискретната математика (множества, функции, релации, булева алгебра и комбинаторика) |
Знания |
• Знае функциите на комбинаториката • Познава основните комбинаторни конфигурации • Познава същността на понятието зад булевата алгебра • Познава основните булеви операции • Знае как се извършват основните булеви операции • Познава същността на множествата и тяхната роля в програмирането • Познава основните операции, извършвани с множества • Разбира понятието функция, разгледано като изображение между две множества • Разбира същността на релацията между два обекта • Знае начините за изобразяване на релация чрез функция • Познава основните свойства на релациите |
Умения |
• Борави с математическите нотации за множества • Извършва базови операции върху множества • Премества основни булеви изрази • Определя свойствата на дадена релация • Извършва основни комбинаторни пресмятания |
Компетентности |
• Самостоятелно решава задачи за математически множества, булева алгебра и комбинаторни конфигурации |
Резултат от учене 8.3: |
Борави с основните математически понятия, срещани в Линейната алгебра (вектори и матрици) |
Знания |
• Познава структурата вектор в линейната алгебра и нейната функция • Познава основните характеристики на вектора • Познава структурата матрица в линейната алгебра и нейната функция • Познава основните характеристики на структурата матрица • Знае основните операции, които могат да се извършват между вектори и матрици • Познава понятието детерминанта на матрица • Знае информацията, която дава детерминантата • Знае алгоритъма за пресмятане на детерминанта • Познава метода на Гаус като начин за решаване на система линейни уравнения и алгоритъма за прилагането му |
Умения |
• Извършва основни операции над вектори и матрици • Пресмята детерминанта на матрица • Решава система линейни уравнения чрез метода на Гаус |
Компетентности |
• Способен е самостоятелно и точно да решава задачи, включващи вектори, матрици и операциите над тях • Способен е самостоятелно и точно да решава задачи, включващи пресмятане на детерминанта на матрица • Способен е самостоятелно и точно да решава задачи чрез метода на Гаус • Способен е самостоятелно и точно да решава задачи по програмиране, за които са необходими знания за вектори и матрици |
Резултат от учене 8.4: |
Борави с десетична, двоична и шестнадесетична бройна система |
Знания |
• Познава същността и ролята на бройните системи • Познава същността на основната бройна система, с която работи - десетичната бройна система • Познава двоичната бройна система и нейните роля и приложение • Познава приложението на двоичната бройна система в компютрите • Знае основните операции в двоична бройна система • Познава шестнадесетичната бройна система и нейното приложение в компютрите • Знае общия начин за преобразуване на число от една бройна система в друга |
Умения |
• Разпознава запис в двоична и в шестнадесетична бройна система • Преобразува записа на числа от една бройна система в друга - от десетична към двоична и обратно; от десетична към шестнадесетична и обратно • Преобразува записа на числа от произволна бройна система към друга произволна бройна система |
Компетентности |
• Способен е да извърши основните побитови операции в двоична бройна система • Способен е да преобразува записа на числа от една бройна система в друга, използвайки общия алгоритъм |
Критерии за оценяване: |
За средство 1: • Вярно и точно решава зададените задачи • Точно изобразява начертаните функции • Вярно и точно разчита изобразените функции |
Условия за провеждане на оценяването: |
За средство 1: • Учебен кабинет |
Средства за оценяване: |
Средство 1: • Математически задачи |
ЕРУ за специалност "Приложно програмиране"
ЕРУ 9
Наименование на единицата: |
Алгоритми и структури от данни |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 9.1: |
Оценява сложността на алгоритми |
Знания |
• Разбира понятието "сложност на алгоритъм" и неговата роля • Разбира какво измерва понятието "сложност на алгоритъм" и чрез каква нотация се записва сложността на даден алгоритъм • Познава математическата нотация "Big-Oh Notation" • Разбира сложността на често срещаните операции, които се извършват в даден програмен език • Знае същността на рекурсията • Знае начина за намиране на сложност на рекурсивен алгоритъм • Знае основните класове на сложност за един алгоритъм |
Умения |
• Оценява сложността на алгоритъм, използвайки Big-Oh Notation • Прави разлика между бърз и бавен алгоритъм • Разменя елементи в масив/списък |
Компетентности |
• Да има интуиция/очакване каква е сложността на често срещани фрагменти от код - цикли/вложени цикли • Способен е да засече реалното време на работа на даден алгоритъм спрямо размера на входа • Способен е да определи нуждата от по-бърз алгоритъм • Разбира "Big-Oh" нотацията на по-известните алгоритми • Способен е да намери екстремален (максимален/минимален) елемент в масив/списък • Способен е да реализира един и същ алгоритъм както чрез итерация (цикъл), така и чрез рекурсия |
Резултат от учене 9.2: |
Прилага алгоритми за сортиране |
Знания |
• Познава процеса на "сортиране" на дадена поредица от елементи • Знае характеристиките на един алгоритъм за сортиране относно стабилността • Познава различни видове алгоритми за сортиране спрямо тяхната сложност |
Умения |
• Имплементира и използва базовите алгоритми за сортиране • Използва API-то на дадения език, за да сортира • Разбира разликата между бързо и бавно сортиране |
Компетентности |
• Способен е да направи тест върху голямо количество от данни |
Критерии за оценяване: |
За средство 1: • Вярно и точно решава зададената задача |
Условия за провеждане на оценяването: |
За средство 1: • Учебен кабинет |
Средства за оценяване: |
Средство 1: • Решаване на задачи |
Резултат от учене 9.3: |
Прилага алгоритми за търсене |
Знания |
• Разбира процеса на търсене • Познава алгоритъма за двоично търсене • Знае с каква сложност работи алгоритъмът за двоично търсене и какви са неговите предварителни изисквания |
Умения |
• Имплементира наивен (прост) алгоритъм за търсене • Имплементира двоично търсене |
Компетентности |
• Решава проблеми, използвайки алгоритмите за търсене • Решава проблеми, използвайки алгоритмите за двоично търсене • Способен е да търси нещо и знае с каква сложност се случва търсенето, използвайки наивен подход за търсене |
Резултат от учене 9.4: |
Използва линейни структури от данни |
Знания |
• Знае същността на структурите от данни и тяхната роля в програмирането • Познава характеристиките на линейните структури от данни и основните операции върху тях • Знае същността на масива като линейна структура от данни, неговите основни характеристики, операции и тяхната сложност • Знае същността на вектора като структура от данни, неговите основни характеристики, операции и тяхната сложност • Разбира понятието амортизирана сложност • Познава свързания списък като линейна структура от данни, неговите основни характеристики, операции и тяхната сложност • Изброява разликите и приликите между масив, вектор и свързан списък • Разбира "опашката" като линейна структура от данни, като назовава нейните основни характеристики, операции и тяхната сложност • Знае същността на "Стека" като линейна структура от данни, неговите основни характеристики, операции и тяхната сложност • Познава съответните имплементации на тези линейни структури от данни в даден език за програмиране |
Умения |
• Имплементира всички основни структури от данни по ефективен начин |
Компетентности |
• Ефективно използва линейни структури от данни за решаване на конкретен проблем |
Резултат от учене 9.5: |
Използва речници и множества като структури от данни |
Знания |
• Познава асоциативния списък като структура от данни, неговите функции и приложения • Знае различните начини за имплементация на асоциативен списък и разбира сложностите на операциите спрямо имплементацията • Изброява различията в характеристиките на тези имплементации • Познава най-често срещаните проблеми при имплементация на HashMap • Разбира понятието за хешираща функция • Разбира множеството като структура от данни и неговите основни операции и характеристики • Знае различните начини за имплементация на множество и сложността на операциите спрямо имплементацията • Познава различията в характеристиките на тези имплементации • Разграничава множество и асоциативен списък от другите линейни структури от данни |
Умения |
• Използва стандартните имплементации на структурите от данни в зависимост от програмния език • Ориентира се спрямо обектния модел на езика • Осъществява добавяне в Map или Set при създаване на нов тип |
Компетентности |
• Способен е да имплементира асоциативен списък и множество като структура от данни • Способен е самостоятелно да реши даден проблем, преценявайки какви структури от данни да използва • Развива интуиция за имплементацията на асоциативен списък чрез хеш таблица или дървовидна структура • Развива интуиция за имплементацията на множество чрез хешираща функция или дървовидна структура |
Резултат от учене 9.6: |
Използва графите като структури от данни заедно с основните алгоритми върху тях |
Знания |
• Знае същността на структурата от данни граф и нейното приложение • Познава основните операции, които се извършват в един граф • Познава различните начини за представяне на граф в програмирането и сложността на операциите спрямо избора на представяне • Разбира идеята за обхождане на граф • Познава различните начини за обхождане на граф • Разбира същността на идеята за намиране на най-кратък път в граф • Разбира значението на теглата на ребрата • Познава различните алгоритми за намиране на най-кратки пътища • Разбира процеса на топологично сортиране на един граф с посока на ребрата и без цикли и приложението на съответния алгоритъм |
Умения |
• Представя различни видове графи и имплементира основните алгоритми върху тях • Моделира задачи чрез използване на основни алгоритми върху графи |
Компетентности |
• Способен е да имплементира граф като структура от данни • Решава проблеми, моделирайки ги чрез графи и използвайки някой от основните алгоритми върху тях |
Резултат от учене 9.7: |
Използва дървета и пирамиди като структури от данни заедно с основните алгоритми върху тях |
Знания |
• Знае същността, характеристиките и приложенията на дървото като структура от данни • Познава основните операции, извършвани върху дървото като структура от данни • Знае начина за представяне на дървото като структура чрез програмен език и сложността на операциите спрямо представянето • Разбира характеристиката на дървото "удобна за рекурсия структура от данни" • Познава същността на двоичното дърво като структура от данни и неговите характеристики • Познава сложността на операциите в дървото и най-вече на търсенето • Разбира идеята за балансирано двоично дърво за търсене • Познава пирамидата като дървовидна структура от данни, нейните характеристики и приложения • Знае начина за представяне на пирамидалните структури |
Умения |
• Различава балансирано двоично дърво за търсене от стандартното двоично дърво за търсене • Локализира дървовидни структури във всекидневната компютърна употреба - HTML, файлова система и т.н. • Представя различни видове дървета и имплементира основните алгоритми върху тях |
Компетентности |
• Разрешава проблеми, моделирайки ги чрез дървета и използвайки някой от основните алгоритми върху тях • Разрешава проблеми, използвайки дървовидни структури от данни • Способен е да имплементира двоично дърво за търсене • Способен е да имплементира балансирано дърво за търсене • Способен е да имплементира пирамидална структура от данни |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
ЕРУ 10
Наименование на единицата: |
Модели на програмиране |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 10.1: |
Познава същността на обектноориентирания модел |
Знания |
• Познава същността на обектноориентирания модел • Разбира основната идея зад този модел • Познава основните понятия в обектноориентираното програмиране • Разбира връзката между типовата система на даден език за програмиране и неговия обектен модел • Знае общото между типове, класове и обекти • Разбира термина "предаване на нещо по референция" • Знае разликата между "референтна" и "примитивна" стойност • Разбира абстракцията и нейното приложение в обектноориентирания модел • Знае начина за изграждане на абстракция |
Умения |
• Използва обектноориентиран език за програмиране • Посочва грешки в чужд код, написан в обектен стил |
Компетентности |
• Способен е да решава проблеми в обектноориентиран стил • Проучва начина на работа на различни стандартни библиотеки, като разбира какви способи за абстракция са използвани при имплементацията |
Резултат от учене 10.2: |
Познава същността на функционалния модел |
Знания |
• Знае същността на чистата функция и нейното приложение • Разбира понятието страничен ефект и посочва къде се среща • Знае същността на функцията от по-висок ред и нейното приложение • Разбира композицията на функции и нейната цел • Разбира основните функции от по-висок ред - map, filter, reduce • Знае същността на lambda (анонимна) функцията и нейното приложение • Обяснява термина рекурсия |
Умения |
• Пише без променливи/for цикъл • Пише с използването на рекурсия • Използва функции от по-висок ред и анонимни функции за често срещани операции, за които трябва цикличен оператор/условен оператор (for/if) • Пише чисти функции и разделя кода на чиста/нечиста част (доколкото е възможно и го позволява езикът) • Структурира кода така, че функциите със страничен ефект да са само на необходимите места |
Компетентности |
• Разрешава проблем, използвайки функционален стил • Способен е да идентифицира във вече работеща програма/проект кои части се състоят от чисти функции и кои части се състоят от функции със странични ефекти |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
ЕРУ 11
Наименование на единицата: |
Софтуерна разработка |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 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 • Разбира концепциите за синхронизация и заключване • Познава начина за асинхронизиране на блокираща операция • Знае начините за синхронизиция и правилно заключва при боравене с нишки |
Умения |
• Синхронизира множество асинхронни процеси • Борави с многонишков код |
Компетентности |
• Способен е да създава и надгражда софтуер, използващ асинхронни операции |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
ЕРУ 12
Наименование на единицата: |
Работен процес |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 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) |
Компетентности |
• Способен е да поддържа и развива чужди проекти • Лесно и бързо се ориентира и използва чужди библиотеки |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
ЕРУ 13
Наименование на единицата: |
Уеб програмиране |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 13.1: |
Разработва Уеб Frontend |
Знания |
• Разбира термините URI и URL • Разбира HTTP като протокол за комуникация • Познава семантичното структуриране на уебстраница чрез HTML • Познава стилизирането и подреждането на страница чрез CSS • Разбира механизма, по който чрез форми се изпраща информация към сървъра |
Умения |
• Структурира семантични HTML документи • Създава комуникация от вида Сървър -> HTML страница -> Форма с данни -> Сървър |
Компетентности |
• Способен е да имплементира уебстраница по зададен дизайн • Способен е да извършва сървърна комуникация чрез форми • Разработва, създава и визуално репрезентира уебстраници и уебсайтове |
Резултат от учене 13.2: |
Разработва сървърен уебсофтуер |
Знания |
• Разбира различните HTTP заявки като начин за сървърна комуникация • Разбира MVC като архитектура за изграждане на сървърен уебсофтуер • Разбира концепцията зад REST комуникацията • Знае основните SQL заявки за вземане и обработване на данни |
Умения |
• Реализира комуникация с база данни • Обслужва различни HTTP заявки • Реализира CRUD операции през SQL • Различава сървър и уебсайт |
Компетентности |
• Разработва динамичен уебсайт - сървърна и клиентска част |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
ЕРУ 14
Наименование на единицата: |
Дизайн и моделиране |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Наименование на професията: |
Приложен програмист |
Ниво по НКР: |
4 |
Ниво по ЕКР: |
4 |
Резултат от учене 14.1: |
Моделира дизайн на софтуер |
Знания |
• Знае предимствата и недостатъците на всеки един от подходите при моделиране чрез обектен модел - наследяване срещу композиция • Знае начините за изграждане на библиотека/Framework/API • Разбира разликата между различните подходи за дизайн и моделиране на софтуер |
Умения |
• Създава предварителен дизайн на софтуер без писане на код • Моделира API - публична част и имплементационна част • Чертае и разчита клас диаграми - комуникиране и релации • Имплементира прототип по зададен дизайн |
Компетентности |
• Способен е да създава, моделира и имплементира често срещани и използвани абстракции |
Резултат от учене 14.2: |
Създава дизайн на софтуер |
Знания |
• Познава основните компоненти за изграждане на библиотека/софтуерна рамка/API |
Умения |
• Създава прототип по зададен дизайн по различни възможни методи |
Компетентности |
• Способен е да създаде дизайн и модел на софтуер без конкретна имплементация |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
4. Изисквания към материалната база
Обучението по теория се осъществява в компютърни зали, а по практика - в компютърни зали, учебни лаборатории или базови обекти във фирми с предварително сключени договори, които отговарят на материалната база, описана в ДОС, за придобиване на квалификация по професията "Приложен програмист" - трета степен на професионална квалификация.
За постигане резултатите от ученето материалната база трябва да включва:
4.1. Учебен кабинет
4.1.1. Основно оборудване - учебни маси, столове, учебна дъска, екран за прожектиране, мултимедийни и други средства за обучение и дидактическа техника.
4.1.2. Учебни пособия - онагледяващи табла, учебни видеофилми, програмни продукти. Наличие на библиотека за специализирана литература (на хартиен или електронен носител).
4.1.3. Компютърна зала - включва индивидуални компютърни работни места, оборудвани с необходимия за учебния процес хардуер и софтуер, осигурен достъп до интернет, мултимедиен проектор.
4.2. Учебна лаборатория
Учебните лаборатории се оборудват с хардуерни и софтуерни средства, достъп до интернет, както и със съответни справочници и друга техническа литература.
Работното място на обучавания е в съответствие с нормативите за извършване на съответната дейност и методическите изисквания. За работно място се счита площта, върху която се намират хардуерните и софтуерните средства, необходими за работа.
Нормативните изисквания към учебната лаборатория са в съответствие с дейностите, които ще се извършват в нея, с видовете технологични процеси, с ергономичните, естетичните изисквания и методическите указания.
4.2.1. Основно оборудване:
- компютърни работни места - по едно за всеки обучаван;
- различни видове периферни устройства, необходими за учебния процес;
- хардуер и софтуер, необходими за учебния процес (такива могат да бъдат интегрирани среди за разработка (IDE), компилатори, интерпретатори, библиотеки, системи за управление на програмния код (source control), за автоматизирано асемблиране (build) и автоматизирано тестване, непрекъсната интеграция (continuous integration), системи за управление на задачите и дефектите (bug and task tracking).
5. Изисквания към обучаващите
Право да преподават по учебните предмети от общата професионална подготовка имат лица с висше образование с образователно-квалификационна степен "магистър" или "бакалавър" по специалности от следните професионални направления от Класификатора на областите на висше образование и професионални направления, приет с Постановление № 125 от 2002 г. на Министерския съвет (ДВ, бр. 64 от 2002 г.).
• Област на висше образование "Социални, стопански и правни науки":
◦ Професионално направление "Администрация и управление";
◦ Професионално направление "Икономика".
• Област на висше образование "Технически науки".
• Област на висше образование "Здравеопазване и спорт":
◦ Професионално направление "Медицина".
Право да преподават по учебните предмети от отрасловата и специфичната професионална подготовка (теория и практика на професията) имат лица с висше образование с образователно-квалификационна степен "магистър" или "бакалавър" по специалности от следните професионални направления от Класификатора на областите на висше образование и професионалните направления:
• Област на висше образование "Социални, стопански и правни науки":
◦ Професионално направление "Администрация и управление";
◦ Професионално направление "Икономика";
◦ Професионално направление "Право".
• Област на висше образование "Природни науки, математика и информатика":
◦ Професионално направление "Информатика и компютърни науки".
• Област на висше образование "Хуманитарни науки":
◦ Професионално направление "Филология".
• Област на висше образование "Технически науки":
◦ Професионално направление "Електротехника, електроника и автоматика";
◦ Професионално направление "Комуникационна и компютърна техника".
По учебен предмет или модул от професионалната подготовка, за който няма съответно професионално направление в Класификатора на областите на висше образование и професионалните направления, могат да преподават лица без висше образование, ако са придобили съответната професионална квалификация при условията и по реда на Закона за професионалното образование и обучение.
Професионална квалификация "учител" не е необходима.
Препоръчително е на всеки три години обучаващите да преминават курс за актуализиране на професионалните знания, умения и компетентности.
Списък на използваните съкращения
ЗБУТ - здравословни и безопасни условия на труд
КС - компютърна система
ИКТ - информационни и комуникационни технологии
ИТ - информационни технологии
ПУ - периферни устройства
ОС - операционна система
IDE - интегрирана среда за разработка
Debug - функционалност за разучаване на кода и изясняване на грешките
SQL - език за структурирани запитвания
WWW - World Wide Web
HTTP - Hypertext Transfer Protocol - протокол за трансфер на хипертекст
HTML - Hypertext Markup Language - език за маркиране на хипертекст
CSS - Cascading Style Sheets - език за описание на стилове
URI - Uniform Resource Identifier - универсален идентификатор на ресурс
URL - Uniform Resource Locator - универсален указател на ресурс
USB - Universal Serial Bus - универсална серийна шина
VGA - Video Graphics Array - видеографичен масив
HDMI - High-Definition Multimedia Interface - интерфейс за мултимедия с висока детайлност
PCI - Peripheral Component Interconnect
SATA - Serial AT Attachment - шинен интерфейс
DVI - Digital Visual Interface - дигитален (цифров) графичен интерфейс
REPL - read-eval-print loop - интерактивна среда за компютърно програмиране
CRUD - create, read, update and delete - четирите основни функции на паметта за продължително съхранение
JOINs - заявка, която съчетава редове от две или повече таблици
OSI model - Open Systems Interconnection Basic Reference Model
TCP - Transmission Control Protocol
UDP - User Datagram Protocol
JSON - JavaScript Object Notation - текстово базиран отворен стандарт
XML - eXtensible Markup Language - разширяем маркиращ език
svn - Subversion - софтуерна система за контрол на версиите
git - децентрализирана система за контрол на версиите на файлове
API - Application Programming Interface - приложно-програмен интерфейс
MVC - Model-View-Controller - Модел-изглед-контролер - архитектурен шаблон за дизайн в програмирането.