НАРЕДБА № 18 ОТ 23 АВГУСТ 2019 Г. ЗА ПРИДОБИВАНЕ НА КВАЛИФИКАЦИЯ ПО ПРОФЕСИЯТА "ПРОГРАМИСТ"
Обн. ДВ. бр.70 от 3 Септември 2019г.
Раздел I.
Общи положения
Чл. 1. С тази наредба се определя държавният образователен стандарт (ДОС) за придобиването на квалификация по професията 481010 "Програмист" от област на образование "Информатика" и професионално направление 481 "Компютърни науки" съгласно Списъка на професиите за професионално образование и обучение по чл. 6, ал. 1 от Закона за професионалното образование и обучение.
Чл. 2. Държавният образователен стандарт за придобиването на квалификация по професията 481010 "Програмист" съгласно приложението към тази наредба определя изискванията за придобиването на втора степен на професионална квалификация за специалността 4810101 "Програмно осигуряване".
Чл. 3. Въз основа на ДОС по чл. 1 и рамковите програми по чл. 10, ал. 3, т. 2, 3 и 6 от Закона за професионалното образование и обучение се разработват типови учебни планове за ученици, учебни планове за лица, навършили 16 години, и учебни програми за обучението по специалността по чл. 2.
Раздел II.
Съдържание на държавния образователен стандарт
Чл. 4. (1) Държавният образователен стандарт по чл. 1 определя изискванията към кандидатите, описанието на професията, единиците резултати от ученето, изискванията към материалната база и изискванията към обучаващите.
(2) Държавният образователен стандарт за придобиване на квалификация по професията 481010 "Програмист" включва общата, отрасловата и специфичната професионална подготовка с необходимите професионални компетентности, които гарантират на обучаемия възможността за упражняване на професията след завършване на обучението.
Преходни и Заключителни разпоредби
§ 1. (1) Типовите учебни планове по чл. 3, разработени въз основа на тази наредба, се прилагат от учебната 2019/2020 година за учениците, които от тази година започват обучението си за придобиване на професионална квалификация по професията.
(2) Учениците, които са приети за обучение за придобиване на професионална квалификация по професията в системата на училищното образование до учебната 2018/2019 година включително, се обучават и завършват обучението си по учебните планове и учебните програми, които са действали при постъпването им.
(3) Лицата, навършили 16 години, които към влизане в сила на тази наредба се обучават в квалификационен курс, завършват обучението си по учебните планове и учебните програми, по които са започнали.
§ 2. Тази наредба се издава на основание чл. 22, ал. 6 във връзка с ал. 2, т. 6 от Закона за предучилищното и училищното образование и отменя Наредба № 20 от 2004 г. за придобиване на квалификация по професия "Програмист" (ДВ, бр. 104 от 2004 г.).
§ 3. Наредбата влиза в сила от деня на обнародването ѝ в "Държавен вестник".
Приложение към чл. 2
Държавен образователен стандарт за придобиване на квалификация по професията "Програмист"
Професионално направление: | ||
| ||
481 |
Компютърни науки | |
| ||
Професия: | ||
| ||
481010 |
Програмист | |
| ||
Специалност: |
Степен на професионална квалификация | |
| ||
4810101 |
Програмно осигуряване |
Втора |
| ||
Ниво на квалификация според Европейската квалификационна рамка (ЕКР): 3 |
Ниво на квалификация според Националната квалификационна рамка (НКР): 3 |
1. Изисквания към кандидатите
1.1. Изисквания към кандидатите за входящо минимално образователно и/или квалификационно равнище за придобиване на степен на професионална квалификация съгласно Закона за професионалното образование и обучение (ЗПОО)
За придобиване на втора степен на професионална квалификация по професията "Програмист" от Списъка на професиите за професионално образование и обучение по чл. 6, ал. 1 от (утвърден от министъра на образованието и науката със Заповед № РД-09-413 от 12.05.2003 г., посл. изм. Заповед № РД-09-296 от 19.02.2018 г.) изискванията за входящото минимално образователно равнище към кандидатите са:
за ученици - завършено основно образование;
за лица, навършили 16 години - завършен първи гимназиален етап.
Здравословното състояние на кандидата се удостоверява с медицински документ, доказващ, че професията, по която желае да се обучава, не му е противопоказна.
Изискването за входящо минимално квалификационно равнище при продължаващо професионално обучение е придобита първа степен на професионална квалификация от същата област на образование.
1.2. Валидиране на професионални знания, умения и компетентности
Придобиването на квалификация по професията "Програмист" или по част от нея чрез валидиране на придобити с неформално или информално учене резултати от ученето се осъществява съгласно Наредба № 2 от 2014 г. за условията и реда за валидиране на професионални знания, умения и компетентности (ДВ, бр. 96 от 2014 г., в сила от 1.01.2015 г.).
2. Описание на професията
2.1. Трудови дейности, отговорности, личностни качества, особености на условията на труд, оборудване и инструменти, изисквания за упражняване на професията, определени в законови и подзаконови актове (здравословно състояние, правоспособност и др.)
Програмистът работи с компютри (включително виртуални машини, облачна инфраструктура и мобилни устройства), операционни системи, езици за програмиране, специализирана литература, техническа документация и др. В дейността си той използва текстообработващи системи, електронни таблици и системи за презентации, системи за управление на виртуални машини, интегрирани среди за разработка, системи за управление на бази от данни, системи за контрол на версиите на изходния код, системи за управление на проекти, сървърни технологии.
Придобилият втора степен на професионална квалификация по професията "Програмист" умее да работи с всички устройства от конфигурацията на компютърната система (КС) и периферните устройства (ПУ), като познава принципното устройство и действие на компютърните системи и на основни видове ПУ. Свободно използва възможностите на текстообработващи системи, електронни таблици и програми за презентации, средства за архивиране на данни, средства за диагностика и отстраняване на компютърни вируси, средства за защита на информацията. Програмистът инсталира, конфигурира и администрира необходимия системен и приложен софтуер за работа с КС, инсталира интегрирани среди за разработка и конфигурира компонентите, свързани с разработката на софтуер, както и инсталира и конфигурира бази от данни, умее да съставя и разчита софтуерна документация. Познава различни видове процеси за разработка на софтуер, както и терминологията и основните процеси в софтуерното тестване; познава и следи различни показатели на качеството на софтуерни продукти и работи свободно с бази от данни.
Програмистът работи свободно с обектно-ориентирана парадигма, с библиотеки, работещи с файлове, както с библиотеки за изграждане на графичен потребителски интерфейс. Той познава стандартни алгоритми и структури от данни и умее да ги прилага при решаване на конкретни проблеми. Създава програмни продукти по готов проект, прилагайки обектно-ориентирани езици за програмиране, умее да разработва и приложения, работещи с бази от данни.
Придобилият професионална квалификация по професията "Програмист" познава устройството на компютърни мрежи, стандартни мрежови протоколи и умее да реализира софтуерни системи, които комуникират в рамките на компютърна мрежа. Изгражда статични уеб страници по предварително подготвен дизайн, проектира и изгражда динамични уеб базирани системи.
Програмистът спазва правните, етичните и здравните норми за работа с информационните технологии (ИТ) и създава и поддържа безопасна работна среда.
Работното време на програмиста е с нормална продължителност в съответствие с разпоредбите на Кодекса на труда. Той може да работи и като самонаето лице, като работното време в този случай е гъвкаво. Възможно е да работи през почивни дни или в извънстандартното работно време.
Работната дейност на програмиста се изпълнява в съответствие с Наредба № 7 от 2005 г. за минималните изисквания за осигуряване на здравословни и безопасни условия на труд при работа с видеодисплеи (ДВ, бр. 70 от 2005 г.).
2.2. Възможности за продължаване на професионалното обучение
Лицата, придобили втора степен на професионална квалификация по професията "Програмист", могат да продължат обучението си за придобиване на трета степен на професионална квалификация по професия "Системен програмист" или по професия "Приложен програмист" от професионално направление 481 "Компютърни науки". При продължаващото професионално обучение усвоените единици резултати от учене по отрасловата професионална подготовка се признават и се организира обучение за усвояване на единиците резултати от учене по общата професионална подготовка за професии от трета степен на професионална квалификация, както и за усвояване на единиците резултати от учене по специфичната професионална подготовка.
Придобилите втора степен на професионална квалификация по професията "Програмист" могат да повишават квалификацията си чрез обучение в курсове и семинари, участие в конференции, специализирани национални и международни изложения, състезания и конкурси, работни срещи и други прояви, организирани от бранша.
2.3. Възможности за професионална реализация съгласно Националната класификация на професиите и длъжностите (НКПД - 2011), утвърдена със Заповед № РД-01-931 от 27.12.2010 г. на министъра на труда и социалната политика, посл. изм. и доп. със Заповед № РД-01-1093 от 19.12.2018 г.
Лицата, придобили квалификация по професията "Програмист", намират професионална реализация в предприятия, фирми и организации, които проектират и произвеждат програмни продукти, поддържат и обслужват информационни системи за клиенти, които ползват компютърна техника.
Придобилият втора степен на професионална квалификация по професията "Програмист" може да постъпва на работа на следните длъжности от НКПД - 2011:
3512-3007 Консултант, поддръжка на софтуер;
3512-3008 Оператор, инсталиране на софтуер;
3512-3001 Техник, компютърно програмиране;
3512-3011 Специалист, поддръжка приложения;
3514-3001 Администратор, уеб сайт;
3514-3002 Техник, уеб сайт;
3514-3003 Уебмастер;
3514-3004 Мениджър, уеб сайт,
както и на други близки до тях длъжности или допълнени при актуализиране на НКПД.
3. Списък на Единиците резултати от учене (ЕРУ)
Обща професионална подготовка за втора степен на професионална квалификация
ЕРУ 1. Здравословни и безопасни условия на труд (ЗБУТ)
РУ 1.1. Спазва хигиенните норми и здравословните и безопасни условия на труд на работното място
РУ 1.2. Осъществява превантивна дейност по опазване на околната среда
РУ 1.3. Предотвратява и овладява аварийни ситуации
ЕРУ 2. Икономика
РУ 2.1. Познава основите на пазарната икономика
РУ 2.2 Познава характеристиките на производствената дейност във фирмата/ предприятието
ЕРУ 3. Предприемачество
РУ 3.1. Познава основите на предприемачеството
РУ 3.2. Формира предприемаческо поведение
Отраслова професионална подготовка
ЕРУ 4. Организация на труда
РУ 4.1. Подготовка на работното място
РУ 4.2. Организация на работното място
ЕРУ 5. Комуникация и чужд език
РУ 5.1. Общува ефективно в работния екип
РУ 5.2. Води ефективна бизнес комуникация
РУ 5.3. Владее чужд език по професията
ЕРУ 6. Математика (Важи за всички професии от професионално направление "Компютърни науки")
РУ 6.1. Извършва базов анализ на функции
РУ 6.2. Борави с основните математически понятия, срещани в дискретната математика
РУ 6.3. Борави с основните математически понятия, срещани в линейната алгебра
РУ 6.4. Прилага различни бройни системи
Специфична професионална подготовка за специалност "Програмно осигуряване" - втора степен на професионална квалификация
ЕРУ 7. Програмиране
РУ 7.1. Създава структурни програми с процедурен език
РУ 7.2. Създава структурни програми, управляващи входно-изходни потоци
ЕРУ 8. Алгоритми и структури от данни
РУ 8.1. Реализира и прилага структури от данни и свързани с тях алгоритми
РУ 8.2. Реализира и прилага алгоритми за сортиране
РУ 8.3. Реализира и прилага алгоритми за търсене
РУ 8.4. Използва стандартна библиотека, реализираща функционалността на речници и множества
РУ 8.5. Използва стандартна библиотека, реализираща функционалността на графи
РУ 8.6. Използва стандартна библиотека, реализираща функционалността на бинарни дървета
ЕРУ 9. Модели на програмиране
РУ 9.1. Използва обектно-ориентирания модел
РУ 9.2. Използва събитийно-ориентирания модел
РУ 9.3. Създава софтуер, използващ клиент-сървърни архитектури
ЕРУ 10. Софтуерна разработка
РУ 10.1. Използва различни видове операционни системи
РУ 10.2. Дефинира устройството на компютъра
РУ 10.3. Обяснява разликата между среда за разработка и текстов редактор
РУ 10.4. Прилага стандартни средства за компилация, интерпретация и изпълнение на програма
РУ 10.5. Реализира търсене и отстраняване на грешки и процес на "рефакториране"
РУ 10.6. Обяснява същността на клиент-сървърни архитектури
РУ 10.7. Използва бази от данни и прилага CRUD операции над тях
РУ 10.8. Дефинира различни начини за комуникация между системи
РУ 10.9. Назовава основни стандарти за представяне и описание на данни в текстов вид (xml, json)
ЕРУ 11. Работен процес
РУ 11.1. Владее основните процеси на софтуерно тестване
РУ 11.2. Използва методологии за разработка на софтуер
РУ 11.3. Използва системи за контрол на версията на изходния код
РУ 11.4. Следва процес на управление на задачите
РУ 11.5. Работи с чужд код
ЕРУ 12. Уеб програмиране
РУ 12.1. Разработва клиентски уеб софтуер (Frontend)
РУ 12.2. Разработва сървърен уеб софтуер (Backend)
Описание на единиците резултати от учене
Обща професионална подготовка за втора степен на професионална квалификация
ЕРУ 1
Наименование на единицата: |
Здравословни и безопасни условия на труд (ЗБУТ) |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 1.1: |
Спазва хигиенните норми и здравословните и безопасни условия на труд на работното място |
Знания |
• Познава разпоредбите за осигуряване на здравословни и безопасни условия на труд за конкретната трудова дейност • Познава средствата за сигнализация и маркировка за осигуряване на ЗБУТ • Знае основните рискове за здравето и безопасността при конкретната трудова дейност • Знае основните мерки за защита и средствата за сигнализация и маркировка за осигуряване на ЗБУТ |
Умения |
• Прилага необходимите мерки за защита • Използва средствата за сигнализация и маркировка за осигуряване на ЗБУТ |
Компетентности |
• Изпълнява трудовата дейност при спазване на необходимите мерки за осигуряване на безопасност и здраве при работа • Проявява отговорност към останалите участници в трудовия процес • Извършва трудовата дейност, като спазва нормативните разпоредби за осигуряване на здравословни и безопасни условия на труд на работното място |
Резултат от учене 1.2: |
Осъществява превантивна дейност по опазване на околната среда |
Знания |
• Познава основните разпоредби за опазване на околната среда, отнасящи се до конкретната трудова дейност • Знае рисковете от замърсяване на околната среда при извършваната трудова дейност • Познава основните изисквания за разделно събиране на отпадъци • Познава разпоредбите за съхранение, използване и изхвърляне на опасни продукти |
Умения |
• Разпознава и съхранява опасни продукти и излезли от употреба детайли, възли, материали, консумативи и др., спазвайки технологията за събиране и рециклиране (ако е приложимо) |
Компетентности |
• Изпълнява трудовата дейност при спазване изискванията и правилата за опазване на околната среда |
Резултат от учене 1.3: |
Предотвратява и овладява аварийни ситуации |
Знания |
• Знае основните рискови и аварийни ситуации • Познава основните изисквания за осигуряване на аварийна безопасност • Изброява основните стъпки за действия при аварии и аварийни ситуации • Познава видовете травми и методите за оказване на първа помощ |
Умения |
• Използва терминологията, свързана с аварийните ситуации • Спазва изискванията за осигуряване на пожарна и аварийна безопасност • Спазва правилата за действия при аварии и аварийни ситуации • Оказва първа помощ на пострадали при авария |
Компетентности |
• Разпознава рисковете, които могат да доведат до възникване на пожар и/или авария • Участва в овладяването на възникнал пожар и/или авария в съответствие с установените вътрешнофирмени правила за пожарна и аварийна безопасност |
Средства за оценяване: |
Средство 1: • Решаване на тест Средство 2: • Решаване на казус по зададен сценарий |
Условия за провеждане на оценяването: |
За средства 1 и 2: • Учебен кабинет |
Критерии за оценяване: |
За средство 1: • Владее теоретичните знания за: • здравословните и безопасни условия на труд на работното място; • превантивната дейност за опазване на околната среда; • овладяването на аварийни ситуации и оказването на първа помощ на пострадали. За средство 2: • Избира бързо и уверено най-адекватния тип поведение при зададената рискова ситуация • Вярно и точно определя необходимите действия за оказване на първа помощ |
ЕРУ 2
Наименование на единицата: |
Икономика |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 2.1: |
Познава основите на пазарната икономика |
Знания |
• Познава общата теория на пазарната икономика • Запознат е с основните икономически проблеми - оскъдност, ресурси, избор • Знае ролята на държавата в пазарната икономика • Познава видовете икономически субекти в бизнеса |
Умения |
• Информира се за успешни практически примери за управление на различни бизнес начинания |
Компетентности |
• Способен е да идентифицира успешни практически примери за управление на бизнес начинания, като обясни ролята на всеки икономически субект, ангажиран в бизнеса |
Резултат от учене 2.2: |
Познава характеристиките на производствената дейност във фирмата/предприятието |
Знания
|
• Познава основите на пазарното търсене и пазарното предлагане • Дефинира основни икономически понятия - приходи, разходи, печалба, рентабилност |
Умения |
• Обяснява основни икономически понятия в контекста на дейността на фирмата/предприятието |
Компетентности |
• Способен е да анализира основните икономически принципи в контекста на дейността на дадена фирма/предприятие |
Средства за оценяване: |
Средство 1: • Писмен изпит/тест Средство 2: • Казус по зададен сценарий |
Условия за провеждане на оценяването: |
За средства 1 и 2: • Учебен кабинет |
Критерии за оценяване: |
За средство 1: • Владее основните теоретични знания в областта на икономиката За средство 2: • Вярно, точно и мотивирано определя действията за разрешаване на проблема в зададения казус/сценарий |
ЕРУ 3
Наименование на единицата: |
Предприемачество |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 3.1: |
Познава основите на предприемачеството |
Знания |
• Знае същността на предприемачеството • Знае видовете предприемачески умения |
Умения |
• Анализира практически примери за успешно управление |
Компетентности |
• Предлага нови идеи за ефективно изпълнение на трудовите дейности |
Резултат от учене 3.2: |
Формира предприемаческо поведение |
Знания
|
• Познава характеристиките на предприемаческото поведение • Знае видовете предприемаческо поведение |
Умения |
• Преценява необходимостта от промени, свързани с подобряване на работата |
Компетентности |
• Предлага решения за оптимизиране на трудовите дейности |
Средства за оценяване: |
Средство 1: • Писмен изпит/тест Средство 2: • Казус по зададен сценарий |
Условия за провеждане на оценяването: |
За средство 1 и 2: • Учебен кабинет |
Критерии за оценяване: |
За средство 1: • Владее основните теоретични знания в областта на предприемачеството За средство 2: • Вярно, точно и мотивирано определя действията за разрешаване на проблема в зададения казус/сценарий |
Отраслова професионална подготовка
ЕРУ 4
Наименование на единицата: |
Организация на труда |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 4.1: |
Подготовка на работното място |
Знания |
• Познава правилата за работа на работното място • Описва технологията на работа • Познава видовете инструктаж |
Умения |
• Работи с инструментите и машините, свързани с професионалната му дейност • Спазва правилата за ЗБУТ |
Компетентности |
• Работи с инструментите и машините, свързани с професионалната му дейност, като спазва изискванията за ЗБУТ във фирмата/предприятието |
Резултат от учене 4.2: |
Организация на работното място |
Знания |
• Познава правилата за рационална организация на работното място |
Умения |
• Работи по схема, като спазва ЗБУТ • Открива грешки от технологичен характер • При техническа неизправност уведомява съответното длъжностно лице • Поддържа ред и чистота на работното място |
Компетентности |
• Изпълнява в срок поставените задачи, като спазва изискванията за качество • Способен е да отстранява грешки от технологичен характер |
Средства за оценяване: |
Средство 1: • Писмен изпит Средство 2: • Изпълнение на практическа задача |
Условия за провеждане на оценяването: |
За средства 1 и 2: • Учебен кабинет и учебна работилница или реално работно място |
Критерии за оценяване: |
За средство 1: • Дефинира основни понятия, свързани с подготовката и организацията за работа За средство 2: • Ефективно организира работното си място при изпълнение на практическата задача |
ЕРУ 5
Наименование на единицата: |
Комуникация и чужд език |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 5.1: |
Общува ефективно в работния екип |
Знания |
• Познава отделните длъжности в екипа, техните взаимоотношения и йерархични връзки |
Умения |
• Комуникира в работен порядък с екипа и персонала |
Компетентности |
• Комуникира ефективно с всички участници в трудовия процес съобразно работния протокол • Поема отговорности при работа в екип |
Резултат от учене 5.2: |
Води ефективна бизнес комуникация |
Знания |
• Познава етичните норми на комуникацията • Познава правилата за вербална и невербална комуникация • Познава ефективното поведение при конфликти • Познава правилата и изискванията за делова кореспонденция |
Умения |
• Разпознава и избягва конфликтни ситуации • Съдейства за решаване на конфликтни ситуации • Води делова комуникация - писмена и устна • Събира и предлага необходимата информация за удовлетворяване изискванията на клиентите |
Компетентности |
• Провежда разговор с клиенти с цел консултиране и съгласуване на предлаганите услуги • Разбира и уважава изискванията на клиентите, като същевременно защитава интересите на организацията |
Резултат от учене 5.3: |
Владее чужд език по професията |
Знания |
• Познава основната професионална терминология на чужд език |
Умения |
• Чете и разбира кратки, по-общодостъпно написани текстове на чужд език на професионална тематика (например техническа документация и др.) • Ползва чужд език при търсене на информация от интернет и други източници • Ползва чужд език (писмено и говоримо) при комуникация с партньори и клиенти |
Компетентности |
• Владее чужд език на ниво, позволяващо му да осъществява успешна комуникация по познати професионални теми, изискваща обикновен, пряк обмен на информация |
Средства за оценяване:
|
Средство 1: • Разговори на професионални теми на чужд език |
Условия за провеждане на оценяването: |
За средство 1: • Учебен кабинет |
Критерии за оценяване: |
За средство 1: • Комуникира успешно на чужд език в учебна или работна среда |
ЕРУ 6
Наименование на единицата: |
Математика (Важи за всички професии от професионално направление "Компютърни науки") |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 6.1: |
Извършва базов анализ на функции |
Знания |
• Знае същността и ролята на функциите • Знае основната математическа нотация за записване на функциите • Познава инективната, сюрективната и биективната функция • Разбира обратимостта на функциите • Познава обратимите и необратимите функции и тяхната роля в програмирането • Познава характеристиките прекъснатост, непрекъснатост, ограниченост и неограниченост на функциите • Знае начина за изобразяване на графика на функции върху правоъгълна координатна система • Познава същността на концепцията за функция от по-висок ред |
Умения |
• Разпознава типа функция • Намира обратни функции на прости функции • Определя типа на основните функции - линейна, квадратична, експоненциална • Разчита графика на функции, изобразени върху правоъгълна координатна система |
Компетентности |
• Самостоятелно решава задачи, свързани с използване на изучаваните функции • Точно чертае функции върху правоъгълна координатна система |
Резултат от учене 6.2: |
Борави с основните математически понятия, срещани в дискретната математика |
Знания |
• Знае функциите на комбинаториката • Познава основните комбинаторни конфигурации • Познава същността на понятието булева алгебра • Познава основните булеви операции • Знае как се извършват основните булеви операции • Познава същността на множествата и тяхната роля в програмирането • Познава основните операции, извършвани с множества • Разбира понятието функция, разгледано като изображение между две множества • Разбира същността на релацията между два обекта • Знае начините за изобразяване на релация чрез функция • Познава основните свойства на релациите |
Умения |
• Служи си с математически нотации за множества • Прилага базови операции върху множества • Пресмята основни булеви изрази • Определя свойствата на дадена релация • Извършва основни комбинаторни пресмятания |
Компетентности |
• Самостоятелно решава задачи за математически множества, булева алгебра и комбинаторни конфигурации |
Резултат от учене 6.3: |
Борави с основните математически понятия, срещани в линейната алгебра |
Знания |
• Познава структурата вектор в линейната алгебра и нейната функция • Познава основните характеристики на вектора • Познава структурата матрица в линейната алгебра и нейната функция • Познава основните характеристики на структурата матрица • Знае основните операции, които могат да се извършват между вектори и матрици • Познава понятието детерминанта на матрица • Знае информацията, която дава детерминантата • Знае алгоритъма за пресмятане на детерминанта • Познава метода на Гаус като начин за решаване на система линейни уравнения и алгоритъма за прилагането му |
Умения |
• Реализира основни операции над вектори и матрици • Пресмята детерминанта на матрица • Решава система линейни уравнения чрез метода на Гаус |
Компетентности |
• Способен е самостоятелно и точно да решава задачи, включващи вектори, матрици и операциите над тях • Способен е самостоятелно и точно да решава задачи, включващи пресмятане на детерминанта на матрица • Способен е самостоятелно и точно да решава задачи чрез метода на Гаус • Способен е самостоятелно и точно да решава задачи по програмиране, за които са необходими знания за вектори и матрици |
Резултат от учене 6.4: |
Прилага различни бройни системи |
Знания |
• Познава същността и ролята на бройните системи • Познава същността на основната бройна система, с която работи - десетичната бройна система • Познава двоичната бройна система и нейните роля и приложение • Познава приложението на двоичната бройна система в компютрите • Знае основните операции в двоична бройна система • Познава шестнадесетичната бройна система и нейното приложение в компютрите • Знае общия начин за преобразуване на число от една бройна система в друга |
Умения |
• Разпознава запис в двоична и в шестнадесетична бройни системи • Преобразува записа на числа от една бройна система в друга - от десетична към двоична и обратно; от десетична към шестнадесетична и обратно • Преобразува записа на числа от произволна бройна система към друга произволна бройна система |
Компетентности |
• Способен е да извърши правилно основните побитови операции в двоична бройна система • Способен е да преобразува точно записа на числа от една бройна система в друга, използвайки общия алгоритъм |
Средства за оценяване: |
Средство 1: • Математически задачи |
Условия за провеждане на оценяването: |
За средство 1: • Учебен кабинет |
Критерии за оценяване: |
За средство 1: • Вярно и точно решава зададените задачи • Точно изобразява начертаните функции • Вярно и точно разчита изобразените функции |
Специфична професионална подготовка за специалност "Програмно осигуряване" - втора степен на професионална квалификация
ЕРУ 7
Наименование на единицата: |
Програмиране |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 7.1: |
Създава структурни програми с процедурен език |
Знания |
• Познава скаларни и съставни типове данни (масиви, низове и структури) • Познава основните оператори и техния приоритет в израз (аритметични, сравнителни, логически, побитови, присвояващи, знакови, инкрементиращ, декрементиращ и др.) • Изброява основните вградени функции (математически и други, характерни за избрания програмен език) • Познава операторите за вход и изход • Познава оператори за разклоняване if, if-else и switch/select |
|
• Познава операторите за цикъл с предусловие и с постусловие (while, until, do-while, do-until, for, foreach) • Знае метода рекурсия и неговото приложение • Дефинира начините за декларация и извикване на функция • Познава операторите за принудително напускане на цикъл • Познава работата с указатели (ако в съответния програмен език се използват указатели или референции) • Дефинира начините за деклариране и извикване на функция • Познава предаване на параметри по стойност и по адрес |
Умения |
• Оперира с основните скаларни типове данни и прилага операции върху тях • Използва динамична памет • Служи си с фактически и формални параметри • Обработва съставни типове данни • Прилага оператори за управление на изчислителния процес и побитова обработка • Структурира и създава програми, като използва функции • Създава по задание правилно функционираща програма на изучавания език • Структурира и създава програми, като използва готови библиотеки |
Компетентности |
• Работи умело със среди за програмиране, може да се ориентира и да усвоява нови среди • Логично и комбинативно, с прилагане на абстракции, самостоятелно създава код • Самостоятелно и творчески развива знанията и уменията си, усвоява нови програмни езици и среди за програмиране |
Резултат от учене 7.2: |
Създава структурни програми, управляващи входно-изходни потоци |
Знания |
• Познава програмни средства за работа с файлове • Знае режими на отваряне на файлове • Познава отварянето на файл за запис • Познава отварянето на файл за четене • Познава отварянето на файл за запис и за четене едновременно • Познава типовете файлове: текстови и бинарни • Изброява методи за достъп до елементи на файл |
Умения |
• Разработва програми с достъп до файлове за запис и четене • Използва методи за достъп до елементи на файл |
Компетентности |
• Самостоятелно създава структурни програми с процедурен език за управление на входно-изходни потоци |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване: |
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
ЕРУ 8
Наименование на единицата: |
Алгоритми и структури от данни |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 8.1: |
Реализира и прилага структури от данни и свързани с тях алгоритми |
Знания |
• Знае същността на структурите от данни и тяхната роля в програмирането • Познава харектеристиките на линейните структури от данни и основните операции върху тях • Знае същността на масива като линейна структура от данни, неговите основни характеристики, операции и тяхната сложност • Познава характеристиките на дървовидни структури от данни, основните операции върху тях и тяхната сложност • Разбира понятието параметри за тип • Разграничава структури от данни, които са параметризирани по тип (generic) • Познава средства на езика за деклариране на параметър за тип • Познава библиотеки с реализации на стандартни структури от данни • Познава динамичните структури от данни: вектор, стек, опашка, свързан списък, дек и др. |
Умения |
• Реализира структури от данни и основните операции върху тях • Реализира алгоритми върху структури от данни • Прилага средствата на езика за деклариране на параметър за тип • Прилага добър стил за именуване на параметър на тип |
Компетентности |
• Способен е правилно да борави със структури от данни и основните операции върху тях • Способен е вярно и точно да реализира алгоритми върху структури от данни • Способен е правилно да прилага утвърден стил за дефиниране и работа с параметър за тип • Способен е навременно и точно да отстранява грешки при неправилно боравене с параметър за тип • Способен е правилно да използва библиотеки с реализации на стандартни структури от данни |
Резултат от учене 8.2: |
Реализира и прилага алгоритми за сортиране |
Знания |
• Знае стандартни алгоритми за сортиране и тяхната сложност • Знае интерфейсите за достъп до методи на абстрактни типове данни от стандартни библиотеки за сортиране • Познава ограниченията на методите за сортиране • Знае как се прилага способ за прилагане на наредба за сортиране, различна от подразбиращата се |
Умения |
• Реализира стандартни алгоритми за сортиране • Прилага методи на абстрактни типове данни от стандартни библиотеки за сортиране • Извършва сортиране с наредба, различна от подразбиращата се |
Компетентности |
• Способен е правилно да прилага алгоритми за сортиране за решаване на реални проблеми • Способен е вярно и точно да разграничава типове на структури от данни, които предоставят методи за сортиране • Способен е коректно да прилага реализация на алгоритми за сортиране от стандартни библиотеки |
Резултат от учене 8.3: |
Реализира и прилага алгоритми за търсене |
Знания |
• Знае стандартни алгоритми за търсене и тяхната сложност • Познава интерфейсите за достъп до методи на абстрактни типове данни от стандартни библиотеки за търсене • Знае ограниченията на методите за търсене • Знае как се прилага способ за прилагане на наредба за търсене, различна от подразбиращата се |
Умения |
• Реализира стандартни алгоритми за търсене • Прилага методи на абстрактни типове данни от стандартни библиотеки за търсене • Извършва търсене с наредба, различна от подразбиращата се |
Компетентности |
• Способен е правилно да прилага алгоритми за търсене за решаване на реални проблеми • Способен е вярно и точно да разграничава типове на структури от данни, които предоставят методи за търсене • Способен е коректно да прилага реализация на алгоритми за търсене от стандартни библиотеки |
Резултат от учене 8.4: |
Използва стандартна библиотека, реализираща функционалността на речници и множества |
Знания |
• Познава речници и множества като структури от данни, реализирани в стандартни библиотеки |
Умения |
• Използва речници и множества като структури от данни, реализирани в стандартни библиотеки • Итерира елементите на речници и множества • Извършва търсене на елемент в речник |
Компетентности |
• Способен е правилно да съхранява данни в речник и множество • Способен е вярно и точно да извършва CRUD операции в речник и множество |
Резултат от учене 8.5: |
Използва стандартна библиотека, реализираща функционалността на графи |
Знания |
• Знае същността на структурата от данни граф и нейното приложение • Познава основните операции, които се извършват в един граф • Познава различните начини за представяне на граф в програмирането и сложността на операциите спрямо избора на представяне • Разбира идеята за обхождане на граф • Познава различните начини за обхождане на граф • Разбира същността на идеята за намиране на най-кратък път в граф • Разбира значението на теглата на ребрата • Познава различните алгоритми за намиране на най-кратки пътища |
Умения |
• Строи граф по зададена матрица на инцидентност • Обхожда върховете на графа, използвайки поне по един способ • Дефинира тегла на ребра на граф като цена за прехода между два съседни върха |
Компетентности |
• Способен е да имплементира правилно граф като структура от данни по зададена спецификация • Способен е коректно да решава проблеми, моделирайки данните чрез графи и използвайки някой от основните алгоритми върху тях |
Резултат от учене 8.6: |
Използва стандартна библиотека, реализираща функционалността на бинарни дървета |
Знания |
• Знае същността, характеристиките и приложенията на бинарни дървовидни структори от данни • Познава основните приложения, извършвани върху дървовидни структори от данни • Знае начина за представяне на дървото като структура чрез програмен език и сложността на операциите спрямо представянето • Разбира характеристиката на дървото "удобна за рекурсия структура от данни" • Познава същността на двоичното дърво като структура от данни и неговите характеристики • Познава сложността на операциите в дървото, и най-вече на търсенето • Разбира идеята за балансирано двоично дърво за търсене • Познава пирамидата като дървовидна структура от данни, нейните характеристики и приложения • Знае начина за представяне на пирамидалните структури • Познава основни оптимизационни алгоритми и ги прилага при решаване на известни задачи |
Умения |
• Различава балансирано двоично дърво за търсене от стандартното двоично дърво за търсене • Локализира дървовидни структури във всекидневната компютърна употреба - HTML, файлова система и т.н. • Представя различни видове дървета и имплементира основните алгоритми върху тях |
Компетентности |
• Разрешава коректно проблеми, моделирайки ги чрез дървета и използвайки някой от основните алгоритми върху тях • Разрешава коректно проблеми, използвайки дървовидни структури от данни • Способен е правилно да имплементира двоично дърво за търсене • Способен е правилно да имплементира балансирано дърво за търсене • Способен е вярно и точно да имплементира пирамидална структура от данни |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
ЕРУ 9
Наименование на единицата: |
Модели на програмиране |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 9.1: |
Използва обектно-ориентирания модел |
Знания |
• Познава същността на обектно-ориентирания модел • Разбира основната идея за този модел • Познава основните понятия в обектно-ориентираното програмиране • Разбира връзката между типовата система на даден език за програмиране и неговия обектен модел • Знае общото между типове, класове и обекти • Разбира термина "предаване по референция" • Знае разликата между "референтна" и "примитивна" стойност • Разбира абстракцията и нейното приложение в обектно-ориентирания модел • Разбира основните принципи в Обектно-ориентираното програмиране (ООП): Капсулация, Наследяване и Полиморфизъм |
Умения |
• Използва обектно-ориентиран език за програмиране • Посочва грешки в чужд код, написан в обектен стил |
Компетентности |
• Способен е коректно и навременно да решава проблеми в обектно-ориентиран стил |
Резултат от учене 9.2: |
Използва събитийно-ориентирания модел |
Знания |
• Разбира понятието графичен потребителски интерфейс • Дефинира понятието събитие и обработчик на събитие • Разбира понятието аргументи на събитието • Обяснява понятието обработката на грешки в ООП |
Умения |
• Различава конзолно от графично приложение • Обработва изключителни ситуации в ООП |
Компетентности |
• Реализира коректно десктоп или мобилно приложение с графичен потребителски интерфейс • Управлява умело робот или хардуер с помощта на събития от сензори или хардуерни прекъсвания |
Резултат от учене 9.3: |
Създава софтуер, използващ клиент-сървърни архитектури |
Знания |
• Разбира концепцията за клиент-сървърна архитектура • Познава приложението на клиент-сървърната архитектура • Разбира концепцията за протокол за комуникация между даден клиент и сървър • Разбира начина на свързване на клиент-сървърната архитектура с бази от данни - "трислойна" архитектура |
Умения |
• Реализира проста клиент-сървър архитектура • Разпознава вече съществуваща клиент-сървър архитектура |
Компетентности |
• Способен е вярно и съобразително да създава и надгражда софтуер, използващ клиент-сървър архитектура |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
ЕРУ 10
Наименование на единицата: |
Софтуерна разработка |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 10.1: |
Използва различни видове операционни системи |
Знания |
• Знае същността, приложението и ползите на операционната система • Познава най-често използваните видове операционни системи • Знае услугите на една операционна система • Знае начини за инсталиране на софтуер върху операционна система • Разбира разликите между процес и програма |
Умения |
• Инсталира ОС • Използва ОС без графична среда - чрез терминал • Навигира и редактира файлове чрез конзолен редактор • Инсталира и конфигурира софтуер на дадена ОС чрез използване на пакетни мениджъри |
Компетентности |
• Идентифицира вярно и точно ресурсите на ОС, ангажирани с изпълнението на конкретен процес • Способен е навременно да се справя с различни проблеми, свързани с конфигуриране и инсталиране на софтуер • Способен е ефективно да създава виртуални машини |
Резултат от учене 10.2: |
Дефинира устройството на компютъра |
Знания |
• Разбира функциите на основните компютърни компоненти и тяхното взаимодействие • Познава основни интерфейси и свързани с тях протоколи (USB, Ethernet, VGA, HDMI, PCI, SATA, DVI и др.) |
Умения |
• Свързва и конфигурира периферни устройства с компютър • Прави основна профилактика на компютърна система |
Компетентности |
• Способен е точно да добавя и настройва периферни устройства • Способен е правилно да пише скриптове за конфигуриране на софтуерни компоненти и ПУ |
Резултат от учене 10.3: |
Обяснява разликата между среда за разработка и текстов редактор |
Знания |
• Знае същността на средата за разработка и тази на текстовия редактор • Познава връзката между езици и технологии и препоръчителни среди и редактори • Знае основните операции в текстов редактор и в среда за разработка • Познава процеса на работа на интегрираната среда за разработка, когато стартира програма |
Умения |
• Прилага конзолен текстов редактор за работа с операционни системи • Експлоатира средата за разработка за отстраняване на грешки (debug) • Извършва базово рефакториране на кода, използвайки инструментите, предоставени му от средата или редактора • Конфигурира настройките на средата или редактора за постигане на по-голяма ефективност в работата си |
Компетентности |
• Способен е да използва ефективно поне една среда за разработка или поне един текстов редактор • Способен е правилно да преценява спрямо конкретната ситуацията дали да използва текстов редактор, или среда за разработка |
Резултат от учене 10.4: |
Прилага стандартни средства за компилация, интерпретация и изпълнение на програма |
Знания |
• Разбира процеса на компилация • Разбира процеса интерпретация • Идентифицира причините за възникване на compile-time error • Идентифицира причините за възникване на run-time error • Разбира ролята на междинен код и виртуална машина за преносимостта на програми на ниво изпълнение • Разбира термина израз (expression) в даден език за програмиране • Разбира термина statement в даден език за програмиране • Дефинира управлението на паметта при компилатори и интерпретатори и виртуални машини |
Умения |
• Разграничава процес на компилация, интерпретация и пускане на виртуална машина спрямо езика, който използва |
Компетентности |
• Способен е правилно да пише на поне един език за структурно програмиране • Способен е коректно да пише на поне един език за обектно-ориентирано програмиране • Способен е да анализира различни видове възникнали логически грешки |
Резултат от учене 10.5: |
Реализира търсене и отстраняване на грешки и процес на "рефакториране" |
Знания |
• Познава процеса на отстраняване на грешки (debug) - търсене на грешки, използвайки даден инструмент • Изброява средства за отстраняване на грешки (debug) в дадено IDE - break points, stepping in and stepping out of functions • Познава същността на процеса на рефакториране • Знае средства за базово рефакториране в дадено IDE |
Умения |
• Оперира с инструменти за отстраняване на грешки (debug), за да открива причини за странно или неправилно поведение на програмата • Употребява инструменти за базово рефакториране • Проследява логиката на кода и открива проблеми в него |
Компетентности |
• Способен е вярно и точно да открива и анализира причините за неправилно поведение в по-голям проект |
Резултат от учене 10.6: |
Обяснява същността на клиент-сървърни архитектури |
Знания |
• Разбира концепцията за клиент-сървърна архитектура • Познава приложението на клиент-сървърната архитектура • Разбира концепцията за протокол за комуникация между даден клиент и сървър • Разбира начина на свързване на клиент-сървърната архитектура с бази от данни - "трислойна" архитектура |
Умения |
• Реализира проста клиент-сървър архитектура • Разпознава вече съществуваща клиент-сървър архитектура |
Компетентности |
• Способен е вярно и точно да създава и надгражда софтуер, използващ клиент-сървър архитектура • Определя правилно коя архитектура е най-подходяща в конкретен случай |
Резултат от учене 10.7: |
Използва бази от данни и прилага CRUD операции над тях |
Знания |
• Разбира нуждата от бази от данни • Познава различни типове бази от данни: Релационни, Документно-базирани, Мрежови, LDAP • Познава различните типове данни • Познава различните модели на бази от данни |
Умения |
• Извършва основни операции чрез СУБД или SQL: - Извличане на данни: SELECT - Манипулиране на данни: INSERT, UPDATE, DELETE - Дефиниране на данни: CREATE, ALTER, DROP - Управление на трансакции: START TRANSACTION, COMMIT, ROLLBACK • Дефинира логическа структура на данни по зададен модел • Създава заявки за въвеждане, изтриване и промяна на данни • Работи със съхранени процедури |
Компетентности |
• Способен е вярно да създава, моделира и работи с база от данни • Способен е правилно да създава софтуер, който използва база от данни |
Резултат от учене 10.8: |
Дефинира различни начини за комуникация между системи |
Знания |
• Знае същността на протокола за комуникация между системи и разбира нуждата от тях • Дефинира OSI модела • Познава основните протоколи за комуникация от по-ниско ниво - TCP/UDP • Познава основни протоколи за комуникация на "приложно" ниво - HTTP • Познава формати, чрез които две системи могат да разменят комуникация: Binary, Structured Text Format. • Разбира "service oriented" архитектурата и нейното приложение |
Умения |
• Разграничава отделни софтуерни системи и протокола/формата, по който те комуникират • Сериализира и десериализира данни от и към най-популярните текстови формати (JSON, XML) |
Компетентности |
• Способен е правилно да създава и надгражда софтуер, използващ клиент-сървър архитектура |
Резултат от учене 10.9: |
Назовава основни стандарти за представяне и описание на данни в текстов вид (xml, json) |
Знания |
• Познава стуктурата на xml документ • Познава стуктурата на json документ |
Умения |
• Визуализира данните на xml документ • Визуализира данните на json документ • Употребява стандартни библиотеки за обработка на xml и json документ • Чете и пише данни в xml или json формат • Разграничава области от имена и елементи в xml формат |
Компетентности |
• Експлоатира правилно xml или json формат за съхранение на данни по зададена спецификация • Извлича и съхранява точно данни от xml или json формат • Преобразува вярно данни от xml или json формат в други стуктури от данни |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
ЕРУ 11
Наименование на единицата: |
Работен процес |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 11.1: |
Владее основните процеси на софтуерно тестване |
Знания |
• Разбира нуждата от тестване на софтуера • Дефинира основните правила и характеристики на тестването • Разбира разликите между различните видове тестове (Unit testing, Integration testing, Functional testing) • Разбира работата на различните тестови framework • Познава разликата между ръчно и автоматизирано тестване |
Умения |
• Провежда ръчни тестове, за да идентифицира проблеми • Пише различни видове тестове (unit тестове, functional тестове, integration тестове) • Превръща user stories в тестове • Служи си с тестовете като форма на документация на даден код (например библиотека) |
Компетентности |
• Способен е да тества ефективно и автоматизирано софтуерен проект |
Резултат от учене 11.2: |
Използва методологии за разработка на софтуер |
Знания |
• Познава общия процес на разработка на софтуер и Value-chain (верига на добавената стойност) • Знае различните роли, които влизат в разработката на даден софутер (бизнес анализатори, програмисти, системни администратори, специалисти по контрол на качеството, проектни мениджъри, представители на клиентите на 3 нива - бизнес, техническо, технологично) • Познава етапите от жизнения цикъл на разработване на програмен продукт • Познава и разбира същността на гъвкавите и негъвкавите методологии за разработка на софтуер, както и идеи зад тях • Изброява примери за употреба (и съответните плюсове и минуси) от тези методологии • Разбира значението и приложението на user stories |
Умения |
• Прави дизайн на дадена система - feature част, преди да бъде написана като код |
Компетентности |
• Работи успешно в екип по софтуерен проект, спазвайки различна методология за разработване на софтуер • Поема отговорно определена роля в даден софтуерен процес със съответната методология • Аргументира се коректно за използването на дадена софтуерна технология в конкретни случаи |
Резултат от учене 11.3: |
Използва системи за контрол на версията на изходния код |
Знания |
• Разбира разликата между централизирана и децентрализирана 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 система според нуждите на екипа и проекта |
Резултат от учене 11.4: |
Следва процес на управление на задачите |
Знания |
• Разбира необходимостта от управление на софтуерната разработка и основни методологии за това • Разбира идеята зад това да има "задачи" в разработката на един софтуер • Познава понятията "процес" и "нишка" • Знае нужните реквизити за една задача (описание, приоритет, свързани задачи, поемане на отговорност за задача) • Разбира основните състояния на една задача (Backlocked, Pending/Todo, Doing, For Review, Done) • Разбира концепцията за "блокиране" на задача от друга задача |
Умения |
• Ориентира се в даден софтуер за task management • Работи с примерна система за task management |
Компетентности |
• Управлява обема работа целесъобразно и адекватно спрямо крайните резултати • Способен е успешно да преведе дадена задача през целия ѝ цикъл на състояния • Комуникира ефективно с колеги и външни специалисти, когато са налице неясноти или задачи, които блокират |
Резултат от учене 11.5: |
Работи с чужд код |
Знания |
• Познава инструменти за ориентиране в чужд код |
Умения |
• Ориентира се в чужд код • Чете тестове като документация на чужд код • Работи с чужд приложно-програмен интерфейс (API) • Ориентира се в документацията на чужд код • Извършва прегледи на кода (code reviews) |
Компетентности |
• Способен е ефективно да поддържа и развива чужди проекти • Лесно и бързо се ориентира и използва успешно чужди библиотеки |
Средства за оценяване: |
Средство 1: • Практически задачи по програмиране Средство 2: • Решаване на тест |
Условия за провеждане на оценяването: |
За средство 1: • Компютърна зала За средство 2: • Учебен кабинет |
Критерии за оценяване:
|
За средство 1: • Вярно и точно изпълнява поставените задачи, като демонстрира усвоените компетентности За средство 2: • Отговаря правилно на зададените въпроси, като се съобразява с определеното за изпита време |
ЕРУ 12
Наименование на единицата: |
Уеб програмиране |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Наименование на професията: |
Програмист |
Ниво по НКР: |
3 |
Ниво по ЕКР: |
3 |
Резултат от учене 12.1: |
Разработва клиентски уеб софтуер (Frontend) |
Знания |
• Разбира термините URI и URL • Разбира HTTP като протокол за комуникация • Познава семантичното структуриране на уеб страница чрез HTML • Познава стилизирането и подреждането на страница чрез CSS • Разбира концепцията за GRID системи • Разбира ролята и начините за реализация на адаптивен уеб дизайн |
Умения |
• Използва езици за програмиране в клиентска среда (в Browser) • Структурира семантични HTML документи • Реализира валидация на данни в клиентска среда • Реализира логика в клиентска среда • Използва GRID системи за позициониране на елементи в HTML документи |
Компетентности |
• Способен е правилно да имплементира уеб страница по зададен дизайн • Способен е ефективно да реализира бизнес логика, изпълняваща се в клиентска среда |
Резултат от учене 12.2: |
Разработва сървърен уеб софтуер (Backend) |
Знания |
• Разбира различните HTTP заявки като начин за сървърна комуникация • Разбира MVC като архитектура за изграждане на сървърен уеб софтуер • Познава концепцията зад REST комуникацията • Знае начините за свързване на софтуерна система с източник на данни |
Умения |
• Ползва сървърна технология за изграждане на backend • Реализира компоненти за комуникация с база данни • Използва резултатите от изпълнение на HTTP заявки • Реализира CRUD операции през SQL • Различава уеб приложение и уеб уебсайт • Реализира десктоп и мобилна версия на уеб сайт |
Компетентности |
• Разработва динамичен уеб сайт - сървърна и клиентска част, проявявайки съобразителност и творчество |
Средства за оценяване: |
Средство 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 - Модел-Изглед-Контролер - архитектурен шаблон за дизайн в програмирането